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
330
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Android Wear
• Basics of Android Wear
• Devices & User experience
• Before Development
• While Developing
Salim KAYABAŞI
October 17, 2014
More Decks by Salim KAYABAŞI
See All by Salim KAYABAŞI
Polymer 1.0 -recap
salimkayabasi
0
100
Hello Node
salimkayabasi
1
92
Other Decks in Programming
See All in Programming
Gmail/Google DriveをトリガーにAIエージェントを動かそう! / Run AI agents with Gmail/Google Drive as triggers!
har1101
3
470
レビュー履歴をAIに食わせて、 Compose移行を加速するs
shihochan
0
270
[GoCon2026] When Goroutines Are Not Enough: Runtime Locality in High-Throughput Go
takehaya
3
390
片田舎のおっさん、 Swift Buildのダイアモンド問題解決の不具合修正PRを出すが、解決方法がキャッシュをしないようにすることであり、ビルド時間が伸びると言われてマージされないので高速化もする/swiftbuild
yimajo
0
360
業務時間外もAIに働いてもらう話
colorful12
3
10k
The Good Stuff, Not the Slop: Engineering High-Quality Android Apps with Modern AI Tooling
danybony
1
190
Can LLMs Replicate 4 Years of Compose Migration? Exploring the boundaries of automation with 279 XML files from a real product
makun
0
130
AIと壁打ちしながら進めるコスト管理
fufuhu
2
1.9k
Hono + Inertia + React で LP を構築した話
oukayuka
2
220
思考垂れ流し開発 ~音声入力 × AIエージェント × 開発ハーネスによる試行錯誤~
npostring
0
900
tsc.rip を支える技術 / Kyoto.なんか #8
susisu
0
4.3k
AWS Step Functions 大規模並列の壁を越える / jaws-sonic-2026-niigata-step-functions
kasacchiful
PRO
0
390
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.7k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
370
Un-Boring Meetings
codingconduct
0
410
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.5k
Claude Code のすすめ
schroneko
67
230k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
560
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
920
Product Roadmaps are Hard
iamctodd
55
13k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
560
GraphQLとの向き合い方2022年版
quramy
50
15k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
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