197 lines
9.3 KiB
Plaintext
197 lines
9.3 KiB
Plaintext
page.title=Creating and Running a Wearable App
|
|
|
|
@jd:body
|
|
|
|
<div id="tb-wrapper">
|
|
<div id="tb">
|
|
<h2>This lesson teaches you to</h2>
|
|
<ol>
|
|
<li><a href="#SetupEmulator">Set Up an Android Wear Emulator</a></li>
|
|
<li><a href="#SetupDevice">Set Up an Android Wear Device</a></li>
|
|
<li><a href="#CreateProject">Create a Project</a></li>
|
|
<li><a href="#Libraries">Include the Correct Libraries</a></li>
|
|
</ol>
|
|
<h2>Dependencies and Prerequisites</h2>
|
|
<ul>
|
|
<li>Android Studio 0.8 or later and Gradle 0.12 or later</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
<p>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.</p>
|
|
|
|
<p>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.
|
|
</p>
|
|
|
|
<p>This lesson goes over how to set up a device or emulator and create one project to contain
|
|
both your wearable and handheld apps.
|
|
</p>
|
|
|
|
|
|
<h2 id="SetupEmulator">Set Up an Android Wear Emulator or Device</h2>
|
|
<p>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.</p>
|
|
|
|
<h3>Set up an Android Wear Virtual Device</h3>
|
|
|
|
<p>To set up an Android Wear virtual device:</p>
|
|
<ol>
|
|
<li>Click <b>Tools > Android > AVD Manager</b>.</li>
|
|
<li>Click <b>Create...</b>.</li>
|
|
<li>Fill in the following details for the AVD you want to specify and leave the rest
|
|
of the fields with their default values:
|
|
<ul>
|
|
<li><b>AVD Name</b> - A name for your AVD</li>
|
|
<li><b>Device</b> - Android Wear Round or Square device types</li>
|
|
<li><b>Target</b> - Android 4.4W - API Level 20</li>
|
|
<li><b>CPU/ABI</b> - Android Wear ARM (armeabi-v7a)</li>
|
|
<li><b>Keyboard</b> - Select <b>Hardware keyboard present</b></li>
|
|
<li><b>Skin</b> - AndroidWearRound or AndroidWearSquare depending on the selected device type</li>
|
|
<li><b>Snapshot</b> - Not selected</li>
|
|
<li><b>Use Host GPU</b> - Selected, to support custom activities for wearable notifications</li>
|
|
</ul>
|
|
</li>
|
|
<li>Click <b>OK</b>.</li>
|
|
<li>Start the emulator:
|
|
<ol>
|
|
<li>Select the virtual device you just created.</li>
|
|
<li>Click <b>Start...</b>, then click <b>Launch</b>.</li>
|
|
<li>Wait until the emulator initializes and shows the Android Wear home screen.</li>
|
|
</ol>
|
|
</li>
|
|
<li>Pair Your handheld with the emulator:
|
|
<ol>
|
|
<li>On your handheld, install the Android Wear app from Google Play.</li>
|
|
<li>Connect the handheld to your machine through USB.</li>
|
|
<li>Forward the AVD's communication port to the connected handheld device (you must
|
|
do this every time the handheld is connected):
|
|
<pre>adb -d forward tcp:5601 tcp:5601</pre>
|
|
</li>
|
|
<li>Start the Android Wear app on your handheld device and connect to the emulator.</li>
|
|
<li>Tap the menu on the top right corner of the Android Wear app and select
|
|
<b>Demo Cards</b>.</li>
|
|
<li>The cards you select appear as notifications on the home screen of the emulator.</li>
|
|
</ol>
|
|
</li>
|
|
</ol>
|
|
|
|
<h3 id="SetupDevice">Set Up an Android Wear Device</h3>
|
|
<p>To set up an Android Wear device:</p>
|
|
<ol>
|
|
<li>Install the Android Wear app, available on Google Play, on your handheld.</li>
|
|
<li>Follow the app's instructions to pair your handheld with your wearable.
|
|
This allows you to test out synced handheld notifications, if you're building them.</li>
|
|
<li>Leave the Android Wear app open on your phone.</li>
|
|
<li>Connect the wearable to your machine through USB, so you can install apps directly to it
|
|
as you develop. A message appears on both the wearable and the Android Wear app prompting you to allow debugging.</li>
|
|
<p class="note"><strong>Note:</strong> If you can not connect your wearable to your machine via USB,
|
|
follow the directions on
|
|
<a href="{@docRoot}training/wearables/apps/bt-debugging.html">Debugging over
|
|
Bluetooth</a>.
|
|
</p>
|
|
<li>On the Android Wear app, check <strong>Always allow from this computer</strong> and tap
|
|
<strong>OK</strong>.</li>
|
|
</ol>
|
|
|
|
<p>The <strong>Android</strong> tool window on Android Studio shows the system log from the wearable.
|
|
The wearable should also be listed when you run the <code>adb devices</code> command.</p>
|
|
|
|
<h2 id="CreateProject">Create a Project</h2>
|
|
|
|
<p>To begin development, create an app project that contains
|
|
wearable and handheld app modules. In Android Studio, click <b>File</b> >
|
|
<b>New Project</b> and follow the Project Wizard instructions, as described in
|
|
<a href="{@docRoot}sdk/installing/create-project.html">Creating a
|
|
Project</a>. As you follow the wizard, enter the following information:</p>
|
|
|
|
<ol>
|
|
<li>In the <b>Configure your Project</b> window, enter a name for your app and a package
|
|
name.</li>
|
|
<li>In the <b>Form Factors</b> window:
|
|
<ul>
|
|
<li>Select <b>Phone and Tablet</b> and select <b>API 9: Android 2.3 (Gingerbread)</b>
|
|
under <b>Minimum SDK</b>.</li>
|
|
<li>Select <b>Wear</b> and select <b>API 20: Android 4.4 (KitKat Wear)</b>
|
|
under <b>Minimum SDK</b>.</li>
|
|
</ul>
|
|
</li>
|
|
<li>In the first <b>Add an Activity</b> window, add a blank activity for mobile.</li>
|
|
<li>In the second <b>Add an Activity</b> window, add a blank activity for Wear.</li>
|
|
</ol>
|
|
<p>When the wizard completes, Android Studio creates a new project with two modules, <b>mobile</b> and
|
|
<b>wear</b>. You now have a project for both your handheld and wearable apps that you can create activities,
|
|
services, custom layouts, and much more in. On the handheld app, you do most of the heavy lifting,
|
|
such as network communications, intensive processing, or tasks that require long
|
|
amounts of user interaction. When these are done,
|
|
you usually notify the wearable of the results through notifications or by syncing and sending
|
|
data to the wearable.</p>
|
|
|
|
<p class="note"><b>Note:</b> The <b>wear</b> module also contains a "Hello World" activity that uses a
|
|
<code>WatchViewStub</code> that inflates a layout based on whether the device's screen
|
|
is round or square. The <code>WatchViewStub</code> class is one of the UI widgets that's provided
|
|
by the <a href="{@docRoot}training/wearables/apps/layouts.html#UiLibrary">wearable support library</a>.</p>
|
|
</li>
|
|
|
|
<h2 id="Install">Install the Wearable App</h2>
|
|
|
|
<p>When developing, you install apps directly to the wearable like with handheld apps. Use
|
|
either <code>adb install</code> or the <b>Play</b> button on Android Studio.</p>
|
|
|
|
<p>When you're ready to publish your app to users, you embed the wearable app inside of the
|
|
handheld app. When users install the handheld app from Google Play, a connected wearable automatically
|
|
receives the wearable app.</p>
|
|
|
|
<p class="note"><b>Note:</b> 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
|
|
<a href="{@docRoot}training/wearables/apps/packaging.html">Packaging Wearable Apps</a> for
|
|
complete information on how to properly package wearable apps.</p>
|
|
|
|
<li>
|
|
To install the "Hello World" app to the wearable, select <b>wear</b> from the <b>Run/Debug
|
|
configuration</b> drop-down menu and click the <b>Play</b> button. The activity shows up on the
|
|
wearable and prints out "Hello world!"
|
|
</li></ol>
|
|
<h2 id="Libraries">Include the Correct Libraries</h2>
|
|
|
|
<p>As part of the Project Wizard, the correct
|
|
dependencies are imported for you in the appropriate module's <code>build.gradle</code> file.
|
|
However, these dependencies are not required, so read the following descriptions to find out if you need them or not:</p>
|
|
|
|
<b>Notifications</b>
|
|
<p>The <a href="{@docRoot}tools/support-library/features.html#v4">Android
|
|
v4 support library</a> (or v13, which includes v4)
|
|
contains the APIs to extend your existing notifications on handhelds to support wearables.</p>
|
|
|
|
<p>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 <b>mobile</b> module of your project.
|
|
</p>
|
|
|
|
<b>Wearable Data Layer</b>
|
|
<p>To sync and send data between wearables and handhelds with the Wearable Data Layer APIs,
|
|
you need the latest version of
|
|
<a href="{@docRoot}google/play-services/setup.html">Google Play services</a>.
|
|
If you're not using these APIs, remove the dependency from both modules.</p>
|
|
|
|
<b>Wearable UI support library</b>
|
|
<p>This is an unofficial library that includes
|
|
<a href="{@docRoot}training/wearables/apps/layouts.html#UiLibrary">UI widgets designed for
|
|
wearables</a>. 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.
|
|
</p>
|
|
|
|
<p>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.</p>
|