Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Android Wear
Search
Salim KAYABAŞI
October 17, 2014
Programming
1
290
Android Wear
• Basics of Android Wear
• Devices & User experience
• Before Development
• While Developing
Salim KAYABAŞI
October 17, 2014
Tweet
Share
More Decks by Salim KAYABAŞI
See All by Salim KAYABAŞI
Polymer 1.0 -recap
salimkayabasi
0
71
Hello Node
salimkayabasi
1
61
Other Decks in Programming
See All in Programming
Fibonacci Function Gallery - Part 1
philipschwarz
PRO
0
220
php-conference-japan-2024
tasuku43
0
350
선언형 UI에서의 상태관리
l2hyunwoo
0
180
range over funcの使い道と非同期N+1リゾルバーの夢 / about a range over func
mackee
0
110
Effective Signals in Angular 19+: Rules and Helpers @ngbe2024
manfredsteyer
PRO
0
140
責務を分離するための例外設計 - PHPカンファレンス 2024
kajitack
8
1.7k
Effective Signals in Angular 19+: Rules and Helpers
manfredsteyer
PRO
0
110
テスト自動化失敗から再挑戦しチームにオーナーシップを委譲した話/STAC2024 macho
ma_cho29
1
1.3k
Androidアプリのモジュール分割における:x:commonを考える
okuzawats
1
160
見えないメモリを観測する: PHP 8.4 `pg_result_memory_size()` とSQL結果のメモリ管理
kentaroutakeda
0
440
【re:Growth 2024】 Aurora DSQL をちゃんと話します!
maroon1st
0
790
Haze - Real time background blurring
chrisbanes
1
520
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.4k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Agile that works and the tools we love
rasmusluckow
328
21k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.9k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
810
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
A better future with KSS
kneath
238
17k
Testing 201, or: Great Expectations
jmmastey
40
7.1k
Fireside Chat
paigeccino
34
3.1k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Typedesign – Prime Four
hannesfritz
40
2.4k
Transcript
Android Wear @salimkayabasi +SalimKAYABAŞI
[email protected]
nodejstr.com gdgistanbul.com salimkayabasi.com github.com/salimkayabasi @salimkayabasi +SalimKAYABAŞI
Agenda • Basics of Android Wear • Devices & User
experience • Before Development • While Developing
Martin Cooper
Steve Jobs
None
• Less interruption, more connectivity • Extending interactions • What
you need, when you need • Informations that moves with you
None
• Voice actions • Quick replies • Less information •
All notifications will work natively
Pages Replies Stacks
None
Preparing • Required android version is 4.3 and above •
Lastest Google Play Services and Android Wear application • Internet connection over paired device • Android Studio > 0.8 • Gradle > 0.12 • Wearable support library
Remember • Lower battery and smallest screens • Notify when
if it is important • Show relevant actions • Content oriented • Micro interactions • Use your hardware (like heart rate monitor)
Do not • Miss the point • Need to go
beyond what phone can do • Games, Flashlight, Readers, Drawing
Google Now
Communications
Hardwares
Layouts ="@layout/rect_activity_wear" ="@layout/round_activity_wear"
Data Sharing PutDataMapRequest dataMap = PutDataMapRequest.create("/path-to-data"); dataMap.getDataMap().putInt(DATA_KEY, yourObject); PutDataRequest request
= dataMap.asPutDataRequest(); PendingResult<DataApi.DataItemResult> pendingResult = Wearable.DataApi .putDataItem(mGoogleApiClient, request); @Override public void onDataChanged(DataEventBuffer dataEvents) { for (DataEvent event : dataEvents) { if (event.getType() == DataEvent.TYPE_DELETED) { Log.d(TAG, "DataItem deleted: " + event.getDataItem().getUri()); } else if (event.getType() == DataEvent.TYPE_CHANGED) { Log.d(TAG, "DataItem changed: " + event.getDataItem().getUri()); } } }
Messages SendMessageResult result = Wearable.MessageApi.sendMessage( mGoogleApiClient, node, START_ACTIVITY_PATH, null).await(); if
(!result.getStatus().isSuccess()) { Log.e(TAG, "ERROR: failed to send Message: " + result.getStatus()); } @Override public void onMessageReceived(MessageEvent messageEvent) { if (messageEvent.getPath().equals(START_ACTIVITY_PATH)) { Intent startIntent = new Intent(this, MainActivity.class); startIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(startIntent); } }
Thanks Q&A