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
280
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
67
Hello Node
salimkayabasi
1
52
Other Decks in Programming
See All in Programming
FigmaとPHPで作る1ミリたりとも表示崩れしない最強の帳票印刷ソリューション
ttskch
43
18k
PHPの次期バージョンはこの時期どうなっているのか - Internalsの開発体制について - PHPカンファレンス小田原
youkidearitai
PRO
1
190
try! Swift Tokyo 2024 参加報告 / try! Swift Tokyo 2024 Report
hironytic
0
200
Micro Frontends for Java Microservices - Devnexus 2024
mraible
PRO
0
480
Zero Waste, Radical Magic, and Italian Graft – Quarkus Efficiency Secrets
hollycummins
0
230
Snowflakeで眠ったデータを起こそう!
estie
0
110
try! Swift Tokyo 2024のLT枠に採択されたプロポーザルを出すときに考えていたこと
ski
0
350
Goのエラースタックトレースの歴史と今後
sonatard
6
680
[技育CAMPアカデミア]アイディアを形に!【超入門】スマホアプリ開発〜リリースまでの流れをご紹介
teamlab
PRO
0
360
DMMプラットフォームがTiDB Cloudを採用した背景
pospome
8
4k
Komplexe Oberflächen mit SVG und der Web Animation API
joergneumann
0
670
Ruby Pattern Matching
bkuhlmann
0
920
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
186
16k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
34
8.9k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.6k
How To Stay Up To Date on Web Technology
chriscoyier
782
250k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
6
990
Teambox: Starting and Learning
jrom
128
8.4k
GraphQLとの向き合い方2022年版
quramy
31
12k
Building Effective Engineering Teams - LeadDev
addyosmani
28
1.8k
How STYLIGHT went responsive
nonsquared
92
4.8k
The Cult of Friendly URLs
andyhume
74
5.7k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
154
14k
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