Android Wear
Nishant Srivastava
Android Dev/Interaction Designer
Organizer@GDG New Delhi
Information that moves with you
So what is Android Wear ?
Android Wear organizes your information, suggests what you need, and shows it to you before you even ask. Get messages from your friends, meeting notifications, and weather updates at a glance....
Android Wear is a customised android version for wearable devices such as smart watches
OK, so what can it do for me ?
Whaaaa..what did you just say ..?
-
Notification, most useful information in a managed manner.
-
Voice Search, straight answers to questions
-
Sensors, monitors Health & Fitness
-
Next Multi-Screen Technology
How it Works
- Requires android(>=4.3) phone/tablet (referred to as handheld)
- Requires "Android Wear" app to be installed on the handheld
- Handheld and Wearable communicate each other via Bluetooth
(wearable does not connect to internet on its own)
Application Packaging and Publishing
- When publishing to user, package a wearable app inside a handheld app
- Wearable app will be installed on user's wearable automatically when user install handheld app from Google Play Store
- Package name is mandatory to be same for handheld and wearable app both
What you can DO with it ?
- Receive Notifications and react to them on the wearable
- Control apps on the handheld via the wearable
- Run wearable specific apps ( i.e Compass, Heart Rate Monitor,etc )
- Voice Search and Voice Actions...and many more...
Lets Get Started !
http://developer.android.com/wear
Prerequisites:
- Java 6 or higher
- Android Studio/ Eclipse (or ADT)
- Android SDK Tools with the following packages
- Android 4.4W (API Level 20)
- Extras: Android Support Repository, Android Support Library, Google Play services
http://developer.android.com/sdk/installing/index.html?pkg=tools
Get Started!
- If not using a device get the emulator image from the Android SDK Manager - again for API Level 20!(Intel image requires HAXM Installer in Extras)
- Don’t forget to download samples for API Level 20!
[android-sdk]/samples/android-20/wearable - Download the Android Wear App on your device
https://play.google.com/store/apps/details?id=com.google.android.wearable.app&hl=en
...we have a problem
Eclipse.
Working on eclipse for developing apps for Android Wear is a very tricky job (period).
For those of you who like to play with FIRE , and plunge into the pit of Hell ...well , good news you can still build Android Wear apps on Eclipse. Follow the below blog to setup and build Android Wear Apps :
https://medium.com/@tangtungai/how-to-develop-and-package-android-wear-app-using-eclipse-ef1b34126a5d
Basic Setup
- Install Android Studio
- Install Android Wear support packages and system image using the Android SDK Manager
-Android 5.0 (API 21)
-Android 4.4W (API 20)
-Android SDK Tools rev23 or later
-Android Wear ARM/Intel system image
-Android Support Library (20 or later)
-Android Support Repository (6 or later) - Setup and Android Wear emulator using the Android AVD Manager
- Start the emulator
- Download, install and start the Android Wear companion app
- Enable USB Debugging on your handheld device
...continued...
Basic Setup ( Contd..)
- Connect your handheld device to computer via the USB cable.
-
Open TCP port 5601 on your computer.The Android Wear Emulator uses this port to communicate with the handheld device.
./adb -d forward tcp:5601 tcp:5601 - On the handheld device launch the Android Wear companion app
on first launch, enable Android Wear app as the notification listener , by following the onscreen instructions. - Now connect your emulator with the handheld device, by selecting the watch icon in the Action bar
Notifications
Notifications are one of the two major design principles of Android Wear: Suggest and Demand
Suggest : Context Stream
- Context stream, which is a vertical list of cards, much like Google Now
- Interact with the cards by swiping them vertically
- Only one card will be displayed at a time.
- Add cards to the context stream by creating and delivering notifications. Use NotificationCompat.Builder to create basic notifications
- To use Android Wear specific features like pages or actions, or to customize the look of cards on the context stream, use WearableNotifications.Builder.
Suggest : Context Stream
int notificationId = 001;
// Build intent for notification content
Intent viewIntent = new Intent(this, ViewEventActivity.class);
viewIntent.putExtra(EXTRA_EVENT_ID, eventId);
PendingIntent viewPendingIntent =
PendingIntent.getActivity(this, 0, viewIntent, 0);
NotificationCompat.Builder notificationBuilder =
new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_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());
Here is a short snippet that shows how to create a notification:
Demand : Cue Cards
- Users can initiate an interaction with their device by using the cue card
- Swiping up on the cue card will reveal a number of actions that can be executed by tapping them or speaking them
A word of advice, make sure all information you deliver follows the principle of being timely, relevant, and specific.
DEMO
Hello World Notification
Sending and Syncing Data
-Messaging API
-Fire and Forget, 1 way request
-Can send only a String
-Use Case example : Control Media Player from wearable
-Data API
-Sync data between handheld & wearable
-Payload is a byte array( 100KB per Item), But you can use
map interface to access data
-Use Case example : Send Photo preview to wearable from
handheld
Questions ?
Nishant Srivastava
nishant@silverpush.co
http://slides.com/nisrulz/kickstartandroidwear#/