Slide 1

Slide 1 text

Android Wear @salimkayabasi +SalimKAYABAŞI

Slide 2

Slide 2 text

[email protected] nodejstr.com gdgistanbul.com salimkayabasi.com github.com/salimkayabasi @salimkayabasi +SalimKAYABAŞI

Slide 3

Slide 3 text

Agenda • Basics of Android Wear • Devices & User experience • Before Development • While Developing

Slide 4

Slide 4 text

Martin Cooper

Slide 5

Slide 5 text

Steve Jobs

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

• Less interruption, more connectivity • Extending interactions • What you need, when you need • Informations that moves with you

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

• Voice actions • Quick replies • Less information • All notifications will work natively

Slide 10

Slide 10 text

Pages Replies Stacks

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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)

Slide 14

Slide 14 text

Do not • Miss the point • Need to go beyond what phone can do • Games, Flashlight, Readers, Drawing

Slide 15

Slide 15 text

Google Now

Slide 16

Slide 16 text

Communications

Slide 17

Slide 17 text

Hardwares

Slide 18

Slide 18 text

Layouts ="@layout/rect_activity_wear" ="@layout/round_activity_wear"

Slide 19

Slide 19 text

Data Sharing PutDataMapRequest dataMap = PutDataMapRequest.create("/path-to-data"); dataMap.getDataMap().putInt(DATA_KEY, yourObject); PutDataRequest request = dataMap.asPutDataRequest(); PendingResult 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()); } } }

Slide 20

Slide 20 text

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); } }

Slide 21

Slide 21 text

Thanks Q&A