page.title=Creating and Running a Wearable App page.tags=wear helpoutsWidget=true @jd:body
Wearable apps run directly on the wearable device, giving you access to low-level hardware such as sensors, activities, services, and more, right on the wearable.
A companion handheld app that contains the wearable app is also required when you want to publish to the Google Play store. Wearables don't support the Google Play store, so users download the companion handheld app, which automatically pushes the wearable app to the wearable. The handheld app is also useful for doing heavy processing, network actions, or other work and sending the results to the wearable.
This lesson goes over how to set up a device or emulator and create one project to contain both your wearable and handheld apps.
Before you begin building wearable apps, you must:
To update your SDK with these components, see Get the latest SDK tools.
We recommend that you develop on real hardware so you can better gauge the user experience. However, the emulator lets you test out different types of screen shapes, which is useful for testing.
To set up an Android Wear virtual device:
adb -d forward tcp:5601 tcp:5601
To set up an Android Wear device:
Note: If you can not connect your wearable to your machine via USB, you can try connecting over Bluetooth.
The Android tool window on Android Studio shows the system log from the
wearable. The wearable should also be listed when you run the adb devices
command.
To begin development, create an app project that contains wearable and handheld app modules. In Android Studio, click File > New Project and follow the Project Wizard instructions, as described in Creating a Project. As you follow the wizard, enter the following information:
When the wizard completes, Android Studio creates a new project with two modules, mobile and wear. You now have a project for both your handheld and wearable apps for which you can create activities, services, and custom layouts. The handheld app does most of the heavy lifting, such as network communications, intensive processing, or tasks that require long amounts of user interaction. When the app completes these operations, your app should notify the wearable of the results through notifications or by syncing and sending data to the wearable.
Note: The wear module also contains a "Hello World" activity that
uses a
WatchViewStub
.
This class inflates a layout based on whether the device's screen is round or square. The
WatchViewStub
class is one of the UI widgets that the
wearable support library
provides.
When developing, you install apps directly to the wearable like with handheld apps. Use
either adb install
or the Play button on Android Studio.
When you're ready to publish your app to users, you embed the wearable app inside of the handheld app. When a user installs the handheld app from Google Play, a connected wearable automatically receives the wearable app.
Note: The automatic installation of wearable apps does not work when you are signing apps with a debug key and only works with release keys. See Packaging Wearable Apps for complete information on how to properly package wearable apps.
As part of the Project Wizard, the correct
dependencies are imported for you in the appropriate module's build.gradle
file.
However, these dependencies are not required, so read the following descriptions to find out if you
need them or not:
The Android v4 support library (or v13, which includes v4) contains the APIs to extend your existing notifications on handhelds to support wearables.
For notifications that appear only on the wearable (meaning, they are issued by an app that runs on the wearable), you can just use the standard framework APIs (API Level 20) on the wearable and remove the support library dependency in the mobile module of your project.
Wearable Data LayerTo sync and send data between wearables and handhelds with the Wearable Data Layer APIs, you need the latest version of Google Play services. If you're not using these APIs, remove the dependency from both modules.
Wearable UI support libraryThis is an unofficial library that includes UI widgets designed for wearables. We encourage you to use them in your apps, because they exemplify best practices, but they can still change at any time. However, if the libraries are updated, your apps won't break since they are compiled into your app. To get new features from an updated library, you just need to statically link the new version and update your app accordingly. This library is only applicable if you create wearable apps.
In the next lessons, you'll learn how to create layouts designed for wearables as well as how to use the various voice actions that are supported by the platform.