• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1page.title=Creating Wearable Apps
2page.tags=wear
3helpoutsWidget=true
4page.image=wear/images/01_create.png
5
6@jd:body
7
8<div id="tb-wrapper">
9  <div id="tb">
10    <h2>Dependencies and Prerequisites</h2>
11    <ul>
12      <li>An Android Wear device</li>
13    </ul>
14  </div>
15</div>
16
17<p>
18Wearable apps run directly on the device, giving you access to hardware such as sensors and the
19GPU. They are fundamentally the same as apps built for other devices using the Android SDK, but
20differ greatly in design and usability and the amount of functionality provided.
21These are the main differences between handheld and wearable apps:</p>
22
23<ul>
24  <li>Wearable apps are relatively small in size and functionality compared to handheld apps.
25  They contain only what makes sense on the wearable, which is usually a small
26  subset of the corresponding handheld app. In general, you should carry out operations on the
27  handheld when possible and send the results to the wearable.
28  </li>
29  <li>Users don't download apps directly onto the wearable. Instead, you bundle
30  the wearable app inside the handheld app. When users install the handheld app,
31  the system automatically installs the wearable app. However, for development
32  purposes, you can still install the wearable app directly to the wearable.</li>
33  <li><p>Wearable apps can access much of the standard Android APIs, but don't support
34  the following APIs:</p>
35  <ul>
36    <li>{@link android.webkit}</li>
37    <li>{@link android.print}</li>
38    <li>{@link android.app.backup}</li>
39    <li>{@link android.appwidget}</li>
40    <li>{@link android.hardware.usb}</li>
41  </ul>
42  <p>
43  You can check if a wearable supports a feature by calling
44  {@link android.content.pm.PackageManager#hasSystemFeature hasSystemFeature()}
45  before trying to use an API.</p>
46</li>
47</ul>
48
49<p>To conserve power on a wearable device, you can enable ambient mode for your Wear app.
50Devices transition from interactive to ambient mode when the user is idle on an activity or when
51the user covers the screen with their palm. Wearable apps that can transition into ambient mode are
52called <i>always-on</i> apps. The following describes the two modes of operation for always-on apps:
53</p>
54<dl>
55  <dt><strong>Interactive</strong></dt>
56  <dd>Use full color with fluid animation in this mode. The app is also responsive to
57  input.</dd>
58  <dt><strong>Ambient</strong></dt>
59  <dd>Render the screen with grayscale graphics and do not present any input cues in this mode.
60  This display mode is only supported on devices running Android 5.1 or higher.</dd>
61</dl>
62
63<p>On devices running versions prior to Android 5.1 or for apps that do not support ambient mode,
64when a user is idle on an activity or when the user covers the screen with their palm on an
65activity, the Wear home screen is displayed instead of your activity in ambient mode. If you
66need to show persistent content on versions prior to Android 5.1, create a notification in the
67context stream instead.</p>
68
69<p class="note"><b>Note:</b> We recommend using Android Studio for Android Wear development,
70as it provides project setup, library inclusion, and packaging conveniences. The rest of this
71training assumes you're using Android Studio.</p>
72
73<h2>Lessons</h2>
74  <dl>
75    <dt><a href="{@docRoot}training/wearables/apps/creating.html">Creating and Running a Wearable App</a></dt>
76      <dd>Learn how to create an Android Studio project that
77      contains both the wearable and handheld app modules and how to run the app on a device
78      or emulator.</dd>
79    <dt><a href="{@docRoot}training/wearables/apps/layouts.html">Creating Custom Layouts</a></dt>
80      <dd>Learn how to create and display custom layouts for notifications and
81      activities.</dd>
82    <dt><a href="{@docRoot}training/wearables/apps/always-on.html">Keeping Your App Visible</a></dt>
83      <dd>Learn how to enable ambient mode for your apps, so they remain visible while still saving
84      battery power.</dd>
85    <dt><a href="{@docRoot}training/wearables/apps/voice.html">Adding Voice Capabilities</a></dt>
86      <dd>Learn how to launch an activity with voice actions and how to start the
87      system speech recognizer app to obtain free-form voice input.</dd>
88    <dt><a href="{@docRoot}training/wearables/apps/packaging.html">Packaging Wearable Apps</a></dt>
89      <dd>Learn how to package a wearable app inside a
90      handheld app. This allows the system to install the wearable app automatically when
91      users install the companion handheld app from the Google Play store.</dd>
92    <dt><a href="{@docRoot}training/wearables/apps/bt-debugging.html">Debugging over Bluetooth</a></dt>
93      <dd>Learn how to debug your wearable over Bluetooth instead of USB.</dd>
94  </dl>
95