SlideShare une entreprise Scribd logo
1  sur  27
Tomás Ruiz-López
Software Design Manager at
Everyware Technologies
@tomasruizlopez
@everywaretech /everywaretech
http://www.everywaretech.es
Android Wear
From your pocket to your wrist with
#gandroid
Android Wear
#gandroid
Android Wear
Suggest
The context stream
#gandroid
Android Wear
Suggest
The context stream
Notifications
#gandroid
Android Wear
Suggest
The context stream
Notifications
Images
#gandroid
Android Wear
Suggest
The context stream
Notifications
Actions
Images
#gandroid
Android Wear
Suggest
The context stream
Demand
The cue card
Notifications
Actions
Images
#gandroid
Android Wear
Suggest
The context stream
Demand
The cue card
Notifications
Actions
Images
Voice Reply
#gandroid
1 2 3 4
Android Wear
An overview of
API
#gandroid
1 2 3 4
Android Wear
An overview of
API
#gandroid
Eventbox
free on Google Play
1
2 3 4Creating
Notifications
NotificationCompat.Builder notificationBuilder =	
	 new NotificationCompat.Builder(this)	
	 .setSmallIcon(R.drawable.event)	
	 .setContentTitle(eventTitle)	
	 .setContentText(eventLocation)	
	 .setContentIntent(viewPendingIntent);	
!
// Get an instance of the NotificationManager service	
NotificationManagerCompat notificationManager =	
	 NotificationManagerCompat.from(this);	
!
// Build the notification and issues it with notification manager.	
notificationManager.notify(notificationId, notificationBuilder.build());
Send Notifications as usual
#gandroid
#gandroid
#gandroid
#gandroid
1
2 3 4Creating
Notifications
NotificationCompat.Builder notificationBuilder =	
	 new NotificationCompat.Builder(this)	
	 .setSmallIcon(R.drawable.event)	
	 .setContentTitle(eventTitle)	
	 .setContentText(eventLocation)	
	 .setContentIntent(viewPendingIntent)	
.setBigIcon(R.drawable.background);	
Add Background Icon
#gandroid
#gandroid
1
2 3 4Creating
Notifications
NotificationCompat.Builder notificationBuilder =	
	 new NotificationCompat.Builder(this)	
	 .setSmallIcon(R.drawable.event)	
	 .setContentTitle(eventTitle)	
	 .setContentText(eventLocation)	
	 .setContentIntent(viewPendingIntent)	
.setBigIcon(R.drawable.background);	
	 .addAction(R.drawable.maps,
context.getResources().getString(R.string.maps), 	
mapPendingIntent);	
Add Actions
#gandroid
#gandroid
1
2
3 4Receiving
Voice
Input
<?xml version="1.0" encoding="utf-8"?>	
<resources>	
<string-array name="reply_choices">	
<item>Yes</item>	
<item>No</item>	
<item>Maybe</item>	
</string-array>	
</resources>
#gandroid
1
2
3 4Receiving
Voice
Input
String replyLabel = getResources()	
	 	 .getString(R.string.reply_label);	
String[] replyChoices = 	
	 getResources().getStringArray(R.array.reply_choices);	
!
RemoteInput remoteInput = new
RemoteInput.Builder(EXTRA_VOICE_REPLY)	
.setLabel(replyLabel)	
.setChoices(replyChoices)	
.build();
#gandroid
1
2
3 4Receiving
Voice
Input
String replyLabel = getResources()	
	 	 .getString(R.string.reply_label);	
String[] replyChoices = 	
	 getResources().getStringArray(R.array.reply_choices);	
!
RemoteInput remoteInput = new
RemoteInput.Builder(EXTRA_VOICE_REPLY)	
.setLabel(replyLabel)	
.setChoices(replyChoices)	
.build();
#gandroid
1 2
3
4
Adding
Pages
BigTextStyle secondPageStyle = new NotificationCompat.BigTextStyle();	
secondPageStyle.setBigContentTitle("Title")	
.bigText("Content");	
!
// Create second page notification	
Notification secondPageNotification =	
new NotificationCompat.Builder(context)	
.setStyle(secondPageStyle)	
.build();	
!
// Create main notification and add the second page	
Notification twoPageNotification =	
new WearableNotifications.Builder(builder)	
.addPage(secondPageNotification)	
.build();
#gandroid
#gandroid
1 2 3
4
Stacking
Notifications
final String GROUP_KEY = "group_key";	
!
NotificationCompat.Builder builder = new NotificationCompat.Builder(this)	
.setContentTitle("Title")	
.setContentText("Text")	
.setSmallIcon(R.drawable.event);	
!
Notification notif = new WearableNotifications.Builder(builder)	
.setGroup(GROUP_KEY)	
.build();
#gandroid
1 2 3
4
Stacking
Notifications
final String GROUP_KEY = "group_key";	
!
NotificationCompat.Builder builder = new NotificationCompat.Builder(this)	
.setContentTitle("Title")	
.setContentText("Text")	
.setSmallIcon(R.drawable.event);	
!
Notification notif = new WearableNotifications.Builder(builder)	
.setGroup(GROUP_KEY)	
.build();
#gandroid
Tomás Ruiz-López
Software Design Manager at
Everyware Technologies
@tomasruizlopez
@everywaretech /everywaretech
http://www.everywaretech.es
Questions?
Thanks for your attention!
#gandroid
Tomás Ruiz-López
Software Design Manager at
Everyware Technologies
@tomasruizlopez
@everywaretech /everywaretech
http://www.everywaretech.es
Android Wear
From your pocket to your wrist with
#gandroid

Contenu connexe

Tendances

Android is going to Go! Android and Golang
Android is going to Go! Android and GolangAndroid is going to Go! Android and Golang
Android is going to Go! Android and GolangAlmog Baku
 
What is flutter and why should i care? Lightning talk
What is flutter and why should i care? Lightning talkWhat is flutter and why should i care? Lightning talk
What is flutter and why should i care? Lightning talkSergi Martínez
 
The Post-Production Cycle - Game Software Project Management
The Post-Production Cycle - Game Software Project ManagementThe Post-Production Cycle - Game Software Project Management
The Post-Production Cycle - Game Software Project ManagementSimeon Pashley
 
Cross-Platform Mobile Apps with Ruby, MWRC
Cross-Platform Mobile Apps with Ruby, MWRCCross-Platform Mobile Apps with Ruby, MWRC
Cross-Platform Mobile Apps with Ruby, MWRCSarah Allen
 
Focusing on A and E in Chromatic Scale - Jenia Barabanov
Focusing on A and E in Chromatic Scale - Jenia BarabanovFocusing on A and E in Chromatic Scale - Jenia Barabanov
Focusing on A and E in Chromatic Scale - Jenia BarabanovWix Engineering
 
A good intro to Flutter and its magic
A good intro to Flutter and its magicA good intro to Flutter and its magic
A good intro to Flutter and its magicTarek Alabd
 
Android Bazaar and Conference 2011 Summer 2011.07.17
Android Bazaar and Conference 2011 Summer 2011.07.17Android Bazaar and Conference 2011 Summer 2011.07.17
Android Bazaar and Conference 2011 Summer 2011.07.17Takashi EGAWA
 
Null safety in dart and flutter , the whole story!
Null safety in dart and flutter , the whole story!Null safety in dart and flutter , the whole story!
Null safety in dart and flutter , the whole story!Ahmed Abu Eldahab
 
Top 10 programming langauges crossed decades
Top 10 programming langauges crossed decadesTop 10 programming langauges crossed decades
Top 10 programming langauges crossed decadeszarigatongy
 
Mobile DevOps pipeline using Google Flutter
Mobile DevOps pipeline using Google FlutterMobile DevOps pipeline using Google Flutter
Mobile DevOps pipeline using Google FlutterAhmed Abu Eldahab
 
접근성(Accessibility)과 안드로이드
접근성(Accessibility)과 안드로이드접근성(Accessibility)과 안드로이드
접근성(Accessibility)과 안드로이드GDG Korea
 
critical reflection 2
critical reflection 2critical reflection 2
critical reflection 2bribri1010
 
Android Wear-What's new in android
Android Wear-What's new in android Android Wear-What's new in android
Android Wear-What's new in android Hiroshi Hashimoto
 
Lukoh's Portfolio
Lukoh's PortfolioLukoh's Portfolio
Lukoh's PortfolioLukoh Nam
 

Tendances (20)

Android is going to Go! Android and Golang
Android is going to Go! Android and GolangAndroid is going to Go! Android and Golang
Android is going to Go! Android and Golang
 
What is flutter and why should i care? Lightning talk
What is flutter and why should i care? Lightning talkWhat is flutter and why should i care? Lightning talk
What is flutter and why should i care? Lightning talk
 
Equipment List
Equipment List Equipment List
Equipment List
 
Google VRとDaydreamの最近の話
Google VRとDaydreamの最近の話Google VRとDaydreamの最近の話
Google VRとDaydreamの最近の話
 
The Post-Production Cycle - Game Software Project Management
The Post-Production Cycle - Game Software Project ManagementThe Post-Production Cycle - Game Software Project Management
The Post-Production Cycle - Game Software Project Management
 
Cross-Platform Mobile Apps with Ruby, MWRC
Cross-Platform Mobile Apps with Ruby, MWRCCross-Platform Mobile Apps with Ruby, MWRC
Cross-Platform Mobile Apps with Ruby, MWRC
 
Focusing on A and E in Chromatic Scale - Jenia Barabanov
Focusing on A and E in Chromatic Scale - Jenia BarabanovFocusing on A and E in Chromatic Scale - Jenia Barabanov
Focusing on A and E in Chromatic Scale - Jenia Barabanov
 
A good intro to Flutter and its magic
A good intro to Flutter and its magicA good intro to Flutter and its magic
A good intro to Flutter and its magic
 
Android Bazaar and Conference 2011 Summer 2011.07.17
Android Bazaar and Conference 2011 Summer 2011.07.17Android Bazaar and Conference 2011 Summer 2011.07.17
Android Bazaar and Conference 2011 Summer 2011.07.17
 
Ui Crunch #5 Android Wear
Ui Crunch #5 Android WearUi Crunch #5 Android Wear
Ui Crunch #5 Android Wear
 
Null safety in dart and flutter , the whole story!
Null safety in dart and flutter , the whole story!Null safety in dart and flutter , the whole story!
Null safety in dart and flutter , the whole story!
 
Top 10 programming langauges crossed decades
Top 10 programming langauges crossed decadesTop 10 programming langauges crossed decades
Top 10 programming langauges crossed decades
 
Mobile DevOps pipeline using Google Flutter
Mobile DevOps pipeline using Google FlutterMobile DevOps pipeline using Google Flutter
Mobile DevOps pipeline using Google Flutter
 
접근성(Accessibility)과 안드로이드
접근성(Accessibility)과 안드로이드접근성(Accessibility)과 안드로이드
접근성(Accessibility)과 안드로이드
 
critical reflection 2
critical reflection 2critical reflection 2
critical reflection 2
 
PPP slide show
PPP slide showPPP slide show
PPP slide show
 
What after BCA
What after BCAWhat after BCA
What after BCA
 
Android Wear-What's new in android
Android Wear-What's new in android Android Wear-What's new in android
Android Wear-What's new in android
 
Androidtraining
AndroidtrainingAndroidtraining
Androidtraining
 
Lukoh's Portfolio
Lukoh's PortfolioLukoh's Portfolio
Lukoh's Portfolio
 

Similaire à From your pocket to your wrist with Android Wear

Introduction to Android Wear
Introduction to Android WearIntroduction to Android Wear
Introduction to Android WearSebastian Mauer
 
Android wear SDK introduction
Android wear SDK introductionAndroid wear SDK introduction
Android wear SDK introductionTiziano Basile
 
Droidcon Turin 2015 - Android wear sdk introduction
Droidcon Turin 2015 - Android wear sdk introductionDroidcon Turin 2015 - Android wear sdk introduction
Droidcon Turin 2015 - Android wear sdk introductionMichelantonio Trizio
 
"It's Time" - Android Wear codelab - GDG MeetsU - L'Aquila
"It's Time" - Android Wear codelab - GDG MeetsU - L'Aquila"It's Time" - Android Wear codelab - GDG MeetsU - L'Aquila
"It's Time" - Android Wear codelab - GDG MeetsU - L'AquilaGiuseppe Cerratti
 
Introduction to Android App Development
Introduction to Android App DevelopmentIntroduction to Android App Development
Introduction to Android App DevelopmentTodd Burgess
 
Android Introduction
Android IntroductionAndroid Introduction
Android IntroductionAlfredo Torre
 
DEVIEW2013: Automating Performance Tests for Android Applications
DEVIEW2013: Automating Performance Tests for Android ApplicationsDEVIEW2013: Automating Performance Tests for Android Applications
DEVIEW2013: Automating Performance Tests for Android ApplicationsKyungmin Lee
 
Getting Started with Android - OSSPAC 2009
Getting Started with Android - OSSPAC 2009Getting Started with Android - OSSPAC 2009
Getting Started with Android - OSSPAC 2009sullis
 
Android platform
Android platformAndroid platform
Android platformFarhad
 
Droidcon Greece '15 - Reverse Engineering in Android: Countermeasures and Tools
Droidcon Greece '15 - Reverse Engineering in Android: Countermeasures and ToolsDroidcon Greece '15 - Reverse Engineering in Android: Countermeasures and Tools
Droidcon Greece '15 - Reverse Engineering in Android: Countermeasures and ToolsDario Incalza
 
Introduction to Android - Mobile Portland
Introduction to Android - Mobile PortlandIntroduction to Android - Mobile Portland
Introduction to Android - Mobile Portlandsullis
 
FRIDA 101 Android
FRIDA 101 AndroidFRIDA 101 Android
FRIDA 101 AndroidTony Thomas
 
Android Wear Presentation
Android Wear PresentationAndroid Wear Presentation
Android Wear PresentationNanik Tolaram
 

Similaire à From your pocket to your wrist with Android Wear (20)

Introduction to Android Wear
Introduction to Android WearIntroduction to Android Wear
Introduction to Android Wear
 
Android wear SDK introduction
Android wear SDK introductionAndroid wear SDK introduction
Android wear SDK introduction
 
Droidcon Turin 2015 - Android wear sdk introduction
Droidcon Turin 2015 - Android wear sdk introductionDroidcon Turin 2015 - Android wear sdk introduction
Droidcon Turin 2015 - Android wear sdk introduction
 
Android Things - The IoT platform for everyone.
Android Things - The IoT platform for everyone. Android Things - The IoT platform for everyone.
Android Things - The IoT platform for everyone.
 
Ruby conf2012
Ruby conf2012Ruby conf2012
Ruby conf2012
 
Android Stsucture
Android StsuctureAndroid Stsucture
Android Stsucture
 
"It's Time" - Android Wear codelab - GDG MeetsU - L'Aquila
"It's Time" - Android Wear codelab - GDG MeetsU - L'Aquila"It's Time" - Android Wear codelab - GDG MeetsU - L'Aquila
"It's Time" - Android Wear codelab - GDG MeetsU - L'Aquila
 
Introduction to Android App Development
Introduction to Android App DevelopmentIntroduction to Android App Development
Introduction to Android App Development
 
Android Introduction
Android IntroductionAndroid Introduction
Android Introduction
 
DEVIEW2013: Automating Performance Tests for Android Applications
DEVIEW2013: Automating Performance Tests for Android ApplicationsDEVIEW2013: Automating Performance Tests for Android Applications
DEVIEW2013: Automating Performance Tests for Android Applications
 
Getting Started with Android - OSSPAC 2009
Getting Started with Android - OSSPAC 2009Getting Started with Android - OSSPAC 2009
Getting Started with Android - OSSPAC 2009
 
Android platform
Android platformAndroid platform
Android platform
 
Android platform
Android platformAndroid platform
Android platform
 
Droidcon Greece '15 - Reverse Engineering in Android: Countermeasures and Tools
Droidcon Greece '15 - Reverse Engineering in Android: Countermeasures and ToolsDroidcon Greece '15 - Reverse Engineering in Android: Countermeasures and Tools
Droidcon Greece '15 - Reverse Engineering in Android: Countermeasures and Tools
 
Introduction to Android - Mobile Portland
Introduction to Android - Mobile PortlandIntroduction to Android - Mobile Portland
Introduction to Android - Mobile Portland
 
Hands on Android
Hands on AndroidHands on Android
Hands on Android
 
Android gui framework
Android gui frameworkAndroid gui framework
Android gui framework
 
FRIDA 101 Android
FRIDA 101 AndroidFRIDA 101 Android
FRIDA 101 Android
 
Andriod apps
Andriod appsAndriod apps
Andriod apps
 
Android Wear Presentation
Android Wear PresentationAndroid Wear Presentation
Android Wear Presentation
 

Dernier

Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 

Dernier (20)

Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 

From your pocket to your wrist with Android Wear

  • 1. Tomás Ruiz-López Software Design Manager at Everyware Technologies @tomasruizlopez @everywaretech /everywaretech http://www.everywaretech.es Android Wear From your pocket to your wrist with #gandroid
  • 4. Android Wear Suggest The context stream Notifications #gandroid
  • 5. Android Wear Suggest The context stream Notifications Images #gandroid
  • 6. Android Wear Suggest The context stream Notifications Actions Images #gandroid
  • 7. Android Wear Suggest The context stream Demand The cue card Notifications Actions Images #gandroid
  • 8. Android Wear Suggest The context stream Demand The cue card Notifications Actions Images Voice Reply #gandroid
  • 9. 1 2 3 4 Android Wear An overview of API #gandroid
  • 10. 1 2 3 4 Android Wear An overview of API #gandroid Eventbox free on Google Play
  • 11. 1 2 3 4Creating Notifications NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this) .setSmallIcon(R.drawable.event) .setContentTitle(eventTitle) .setContentText(eventLocation) .setContentIntent(viewPendingIntent); ! // Get an instance of the NotificationManager service NotificationManagerCompat notificationManager = NotificationManagerCompat.from(this); ! // Build the notification and issues it with notification manager. notificationManager.notify(notificationId, notificationBuilder.build()); Send Notifications as usual #gandroid
  • 15. 1 2 3 4Creating Notifications NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this) .setSmallIcon(R.drawable.event) .setContentTitle(eventTitle) .setContentText(eventLocation) .setContentIntent(viewPendingIntent) .setBigIcon(R.drawable.background); Add Background Icon #gandroid
  • 17. 1 2 3 4Creating Notifications NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this) .setSmallIcon(R.drawable.event) .setContentTitle(eventTitle) .setContentText(eventLocation) .setContentIntent(viewPendingIntent) .setBigIcon(R.drawable.background); .addAction(R.drawable.maps, context.getResources().getString(R.string.maps), mapPendingIntent); Add Actions #gandroid
  • 19. 1 2 3 4Receiving Voice Input <?xml version="1.0" encoding="utf-8"?> <resources> <string-array name="reply_choices"> <item>Yes</item> <item>No</item> <item>Maybe</item> </string-array> </resources> #gandroid
  • 20. 1 2 3 4Receiving Voice Input String replyLabel = getResources() .getString(R.string.reply_label); String[] replyChoices = getResources().getStringArray(R.array.reply_choices); ! RemoteInput remoteInput = new RemoteInput.Builder(EXTRA_VOICE_REPLY) .setLabel(replyLabel) .setChoices(replyChoices) .build(); #gandroid
  • 21. 1 2 3 4Receiving Voice Input String replyLabel = getResources() .getString(R.string.reply_label); String[] replyChoices = getResources().getStringArray(R.array.reply_choices); ! RemoteInput remoteInput = new RemoteInput.Builder(EXTRA_VOICE_REPLY) .setLabel(replyLabel) .setChoices(replyChoices) .build(); #gandroid
  • 22. 1 2 3 4 Adding Pages BigTextStyle secondPageStyle = new NotificationCompat.BigTextStyle(); secondPageStyle.setBigContentTitle("Title") .bigText("Content"); ! // Create second page notification Notification secondPageNotification = new NotificationCompat.Builder(context) .setStyle(secondPageStyle) .build(); ! // Create main notification and add the second page Notification twoPageNotification = new WearableNotifications.Builder(builder) .addPage(secondPageNotification) .build(); #gandroid
  • 24. 1 2 3 4 Stacking Notifications final String GROUP_KEY = "group_key"; ! NotificationCompat.Builder builder = new NotificationCompat.Builder(this) .setContentTitle("Title") .setContentText("Text") .setSmallIcon(R.drawable.event); ! Notification notif = new WearableNotifications.Builder(builder) .setGroup(GROUP_KEY) .build(); #gandroid
  • 25. 1 2 3 4 Stacking Notifications final String GROUP_KEY = "group_key"; ! NotificationCompat.Builder builder = new NotificationCompat.Builder(this) .setContentTitle("Title") .setContentText("Text") .setSmallIcon(R.drawable.event); ! Notification notif = new WearableNotifications.Builder(builder) .setGroup(GROUP_KEY) .build(); #gandroid
  • 26. Tomás Ruiz-López Software Design Manager at Everyware Technologies @tomasruizlopez @everywaretech /everywaretech http://www.everywaretech.es Questions? Thanks for your attention! #gandroid
  • 27. Tomás Ruiz-López Software Design Manager at Everyware Technologies @tomasruizlopez @everywaretech /everywaretech http://www.everywaretech.es Android Wear From your pocket to your wrist with #gandroid