Docs: Wear Preview - Release Notes and more

Bug: 30570507
Change-Id: I4c89e9e6bcbbcff95a7dfac8869964092c8ef364
This commit is contained in:
Bert McMeen
2016-09-02 14:06:16 -07:00
parent de85f4d045
commit 289e9c1d9f
7 changed files with 870 additions and 304 deletions

View File

@@ -8,18 +8,24 @@ toc:
- title: API Overview
path: /wear/preview/api-overview.html
section:
- title: Notification Improvements
path: /wear/preview/features/notifications.html
- title: Input Method Framework
path: /wear/preview/features/ime.html
- title: Complications
path: /wear/preview/features/complications.html
- title: Navigation and Actions
path: /wear/preview/features/ui-nav-actions.html
- title: Curved Layout
path: /wear/preview/features/wearable-recycler-view.html
- title: Notification Improvements
path: /wear/preview/features/notifications.html
- title: Bridging for Notifications
path: /wear/preview/features/bridger.html
- title: Input Method Framework
path: /wear/preview/features/ime.html
- title: Wrist Gestures
path: /wear/preview/features/gestures.html
- title: Standalone apps
path: /wear/preview/features/standalone-apps.html
- title: App Distribution
path: /wear/preview/features/app-distribution.html
- title: Get Started
path: /wear/preview/start.html

View File

@@ -13,15 +13,16 @@ page.image=images/cards/card-n-apis_2x.png
<ol>
<li><a href="#complications">Complications</a></li>
<li><a href="#drawers">Navigation and Action Drawers</a></li>
<li><a href="#wrv">Curved Layout</a></li>
</ol>
</li>
<li><a href="#notify">Notifications and Input</a>
<ol>
<li><a href="#expanded">Expanded Notification</a></li>
<li><a href="#messaging">Messaging Style Notification</a></li>
<li><a href="#expanded">Expanded Notifications</a></li>
<li><a href="#messaging">Messaging Style Notifications</a></li>
<li><a href="#inline-action">Inline Action</a></li>
<li><a href="#smart-replies">Smart Reply</a></li>
<li><a href="#content-action">Notification Content Action</a>
<li><a href="#remote-input">Remote Input</a></li>
<li><a href="#bridging">Bridging Mode</a></li>
<li><a href="#imf">Input Method Framework</a></li>
@@ -40,308 +41,447 @@ page.image=images/cards/card-n-apis_2x.png
</div>
</div>
<p>
Wear 2.0 is still in active development, but you can try it as part of
the Wear 2.0 Developer Preview. The sections below highlight some of the
new features for developers.
</p>
<h2 id="ui">
User Interface Improvements
</h2>
<p>
The Android Wear Preview API is still in active development, but you can try
it now as part of the Wear 2.0 Developer Preview. The sections below
highlight some of the new features for Android Wear developers.
</p>
<p>
The preview introduces powerful additions to the user interface, opening
up exciting possibilities to developers.
</p>
<h3 id="complications">
Complications
</h3>
<h2 id="ui">User Interface Improvements</h2>
<img src="{@docRoot}wear/preview/images/complications-main-image.png"
height="320" style="float:right;margin:10px 0 0 40px">
<p>
A <a href=
"https://en.wikipedia.org/wiki/Complication_(horology)">complication</a>
is a feature of a watch face that displays more than hours and minutes,
such as a battery indicator or a step counter. The Complications API thus
helps watch face developers create visual features and the data
connections they require.
</p>
<p>
The preview introduces powerful additions to the user interface, opening up
exciting possibilities to developers. A complication
is any feature in a watch face that displays more than hours and
minutes. With the Complications API, watch faces can display extra information
and separate apps can expose complication data. The navigation and action
drawers provide users with new ways to interact with apps.
</p>
<p>
Watch faces that use this API can display extra information without
needing code for getting the underlying data. Data providers can supply
data to any watch face using the API.
</p>
<p>
For information about this API, see <a href=
"{@docRoot}wear/preview/features/complications.html">Watch Face
Complications</a>.
</p>
<h3 id="complications">Complications</h3>
<img src="{@docRoot}wear/preview/images/complications-main-image.png"
height="320" style="float:right;margin:10px 0 0 40px" />
<h3 id="drawers">
Navigation and Action Drawers
</h3>
<p>
A <a href=
"https://en.wikipedia.org/wiki/Complication_(horology)">complication</a> is a
feature of a watch face that displays more than hours and minutes, such as a
battery indicator or a step counter. The Complications API thus helps watch face
developers create visual features and the data connections they
require.
</p>
<p>
Wear 2.0 introduces two new widgets, navigation drawer and action drawer.
These widgets give your users new ways to interact with your app. The
navigation drawer appears at the top of the screen and allows users to
navigate between app views. The action drawer appears at the bottom of
the screen and allows users to choose from a list of actions associated
with the current usage context. These drawers are accessible to users
when they edge swipe from the top or bottom of the screen; they peek when
users scroll in an opposite direction.
</p>
<p>
Watch faces that use this API can display extra information without needing
code for getting the underlying data. Data providers can supply data to any
watch face using the API.
</p>
<div class="cols">
<div class="col-2of6">
<img src="{@docRoot}wear/preview/images/nav_drawer.gif" height="240"
alt="" style="padding:.5em">
</div>
<p>For information about this API,
see <a href="{@docRoot}wear/preview/features/complications.html">
Watch Face Complications</a>.
</p>
<div class="col-2of6">
<img src="{@docRoot}wear/preview/images/action_drawer.gif" height="240"
alt="" style="padding:.5em;">
</div>
</div>
<h3 id="drawers">Navigation and Action drawers</h3>
<p>
To learn how to add these widgets to your app, see <a href=
"{@docRoot}wear/preview/features/ui-nav-actions.html">Wear Navigation and
Actions</a>.
</p>
<p>Wear 2.0 introduces two new widgets, navigation drawer and action drawer. These
widgets give your users new ways to interact with your app. The navigation drawer
appears at the top of the screen and allows users to navigate between app views.
The action drawer appears at the bottom of the screen and allows users to choose
from a list of actions associated with the current usage context. These drawers
are accessible to users when they edge swipe from the top or bottom of the
screen; they peek when users scroll in an opposite direction.
</p>
<h3 id="wrv">
Curved Layout
</h3>
<div class="cols">
<div class="col-2of6">
<img src="{@docRoot}wear/preview/images/nav_drawer.gif"
height="240" alt="" style="padding:.5em">
</div>
<div class="col-2of6">
<img src="{@docRoot}wear/preview/images/action_drawer.gif"
height="240" alt="" style="padding:.5em;">
</div>
</div>
<p>
Wear 2.0 introduces the <code>WearableRecyclerView</code> class for
displaying and manipulating a vertical list of items,
optimized for round displays.
</p>
<p>
To learn how to add these widgets to your app, see
<a href="{@docRoot}wear/preview/features/ui-nav-actions.html">
Wear Navigation and Actions</a>.
</p>
<p>
The key features include the following:
</p>
<ul>
<li>A curved layout on round devices
</li>
<h2 id="notify">Notifications and Input</h2>
<li>A circular scrolling gesture, which can be toggled on and off
</li>
</ul>
<p>In Wear 2.0, weve redesigned the key experiences on the watch to be even more
intuitive and provide users new ways to respond to messages. Some of the highlights
are below; for a complete list of changes, see
<a href="{@docRoot}wear/preview/features/notifications.html">Notification Changes in Wear 2.0</a>.
<p>
To learn how to create a curved layout optimized for round devices, see
<a href=
"https://developer.android.com/wear/preview/features/wearable-recycler-view.html">
Curved Layout</a>.
</p>
<h2 id="notify">
Notifications and Input
</h2>
<img src="{@docRoot}wear/preview/images/expanded_diagram.png" height="340"
style="float:left;margin:10px 20px 0 0" />
<h3 id="expanded">Expanded notifications</h3>
<p>
In Wear 2.0, weve redesigned the key experiences on the watch to be even
more intuitive and provide users new ways to respond to messages. Some of
the highlights are below; for a complete list of changes, see <a href=
"{@docRoot}wear/preview/features/notifications.html">Notification Changes
in Wear 2.0</a>. <img src=
"{@docRoot}wear/preview/images/expanded_diagram.png" height="340" style=
"float:left;margin:10px 20px 0 0">
</p>
<p>
When a user taps on a notification that is bridged from the phone to the
watch or that lacks a
<a href="{@docRoot}reference/android/support/v4/app/NotificationCompat.Builder.html#setContentIntent(android.app.PendingIntent)">
{@code contentIntent}</a>, the user will be taken to the expanded view of
that notification. When you <a href=
"{@docRoot}training/wearables/notifications/pages.html">specify additional
content pages</a> and actions for a notification, those are available to the
user within the expanded notification. Each expanded notification follows
<a href="https://google.com/design/spec-wear">Material Design for Android
Wear</a>, so the user gets an app-like experience.
</p>
<h3 id="expanded">
Expanded Notifications
</h3>
<p>
When a user taps on a notification that is bridged from the phone to the
watch or that lacks a <a href=
"{@docRoot}reference/android/support/v4/app/NotificationCompat.Builder.html#setContentIntent(android.app.PendingIntent)">
{@code contentIntent}</a>, the user will be taken to the expanded view of
that notification. When you <a href=
"{@docRoot}training/wearables/notifications/pages.html">specify
additional content pages</a> and actions for a notification, those are
available to the user within the expanded notification. Each expanded
notification follows <a href=
"https://google.com/design/spec-wear">Material Design for Android
Wear</a>, so the user gets an app-like experience.
</p>
<h3 id="messaging">Messaging Style notification</h3>
<p> If you have a chat messaging app, your notifications should use
{@code Notification.MessagingStyle}, which is new in Android 6.0. Wear 2.0 uses
the chat messages included in a
<a href="{@docRoot}preview/features/notification-updates.html#style">{@code MessagingStyle}</a>
notification
(see {@code addMessage()}) to provide a rich chat app-like experience in the
expanded notification.
</p>
<h3 id="messaging">
Messaging Style Notifications
</h3>
<p>
If you have a chat messaging app, your notifications should use {@code
Notification.MessagingStyle}, which is new in Android 6.0. Wear 2.0 uses
the chat messages included in a <a href=
"{@docRoot}preview/features/notification-updates.html#style">{@code
MessagingStyle}</a> notification (see {@code addMessage()}) to provide a
rich chat, app-like experience in the expanded notification.
</p>
<h3 id="smart-replies">Smart Reply</h3>
<h3 id="inline-action">
Inline Action
</h3>
<p>Android Wear 2.0 introduces support for Smart Reply in
<a href="{@docRoot}wear/preview/features/notifications.html#messaging">{@code MessagingStyle}</a>
notifications. Smart Reply provides the user with contextually relevant,
touchable choices in the expanded notification and in
<a href="{@docRoot}reference/android/app/RemoteInput.html">{@code RemoteInput}</a>.
</p>
<p>
Wear 2.0 enables you to add an inline action within the notification
stream so that users can quickly take an action on a notification.
Examples of good use cases for an inline action within a notification stream
include replying to a text message, stopping a fitness activity, or
archiving an email message.
</p>
<p>By enabling Smart Reply for your {@code MessagingStyle} notifications, you provide
users a fast (single tap), discreet (no speaking aloud), and reliable way to respond
to chat messages they receive.
</p>
<p>
To learn how to add an inline action to your notification stream, see
<a href=
"https://developer.android.com/wear/preview/features/notifications.html#inline">
Inline Action</a>.
</p>
<h3 id="smart-replies">
Smart Reply
</h3>
<img src="{@docRoot}wear/preview/images/remoteinput.png" height="350"
style="float:right;margin:10px 0 0 40px" />
<p>
Android Wear 2.0 introduces support for Smart Reply in <a href=
"{@docRoot}wear/preview/features/notifications.html#messaging">{@code
MessagingStyle}</a> notifications. Smart Reply provides the user with
contextually relevant, touchable choices in the expanded notification and
in <a href="{@docRoot}reference/android/app/RemoteInput.html">{@code
RemoteInput}</a>.
</p>
<h3 id="remote-input">Remote Input</h3>
<p>
By enabling Smart Reply for your {@code MessagingStyle} notifications,
you provide users a fast (single tap), discreet (no speaking aloud), and
reliable way to respond to chat messages they receive.
</p>
<p>Wear 2.0 users can choose between various input options from
<a href="{@docRoot}reference/android/app/RemoteInput.html">Remote Input</a>.
These options include:
</p>
<ul>
<li>Dictation</li>
<li>Emoji</li>
<li>Canned responses</li>
<li>Smart Reply</i>
<li>Default IME </i>
</ul>
<img src="{@docRoot}wear/preview/images/remoteinput.png" height="350"
style="float:right;margin:10px 0 0 40px">
<p>
For messaging notifications with Smart Reply, the system-generated Smart Reply
appears within <a href="{@docRoot}reference/android/app/RemoteInput.html">{@code RemoteInput}</a>
above the developer-provided list of canned responses.
You can also use the
<a href="{@docRoot}reference/android/app/RemoteInput.Builder.html#setChoices(java.lang.CharSequence[])">setChoices()</a>
method in the {@code RemoteInput} API to enable users to select from a list
of canned responses.
</p>
<h3 id="remote-input">
Remote Input
</h3>
<h3 id="bridging"> Bridging Mode </h3>
<p>By default, notifications are
<a href="{@docRoot}training/wearables/notifications/index.html">
bridged</a> (shared) from an app on a companion phone
to the watch. Since a phone app and a standalone watch app may be sources of the
same notifications, the Android Wear 2.0 Preview includes a Bridging mode feature.
Developers can begin planning to change the behavior of notifications with the
following:
</p>
<p>
Wear 2.0 users can choose between various input options from <a href=
"{@docRoot}reference/android/app/RemoteInput.html">Remote Input</a>.
These options include:
</p>
<ul>
<li>Specifying in the standalone app's Android manifest file that notifications from
the corresponding phone app should not be bridged to the watch. </li>
<li>Setting a dismissal ID so notification dismissals (by users) are synced across
devices.</li>
</ul>
<ul>
<li>Dictation
</li>
<p>For an example of how to use this feature, see <a href="{@docRoot}wear/preview/features/bridger.html">
Bridging Mode for Notifications</a>.</p>
<li>Emoji
</li>
<h3 id="imf">Input Method Framework</h3>
<li>Canned responses
</li>
<p>Wear 2.0 extends the Android input method framework (IMF) to Android Wear.
This allows users to enter text on Wear using the system default IME or third party
IMEs. The Wear IME lets the user enter text via gesture typing as well as tapping
individual keys. The IMF APIs used for Wear devices are the same as other form
factors, though usage is slightly different due to limited screen real estate.
</p>
<li>Smart Reply
</li>
<p>Wear provides user settings on the watch that let the user:</p>
<ul>
<li>Enable multiple IMEs from the list of installed IMEs.</li>
<li>Set a single default IME from the list of enabled IMEs.</li>
<li>Change languages for various IMEs.</li>
</ul>
<li>Default IME
</li>
</ul>
<p>To learn how to create an IME for Wear, see <a href="{@docRoot}wear/preview/features/ime.html">
Input Method Framework</a>.
</p>
<p>
For messaging notifications with Smart Reply, the system-generated Smart
Reply appears within <a href=
"{@docRoot}reference/android/app/RemoteInput.html">{@code
RemoteInput}</a> above the developer-provided list of canned responses.
You can also use the <a href=
"{@docRoot}reference/android/app/RemoteInput.Builder.html#setChoices(java.lang.CharSequence[])">
setChoices()</a> method in the {@code RemoteInput} API to enable users to
select from a list of canned responses.
</p>
<h3 id="wrist-gestures">Wrist Gestures</h3>
<h3 id="bridging">
Bridging Mode
</h3>
<p>
Wrist gestures can enable quick, one-handed interactions with your app
when use of a touch screen is inconvenient. The following
<a href="https://support.google.com/androidwear/answer/6312406">wrist gestures</a>
are available for use by apps:
</p>
<p>
By default, notifications are <a href=
"{@docRoot}training/wearables/notifications/index.html">bridged</a>
(shared) from an app on a companion phone to the watch. Since a phone app
and a standalone watch app may be sources of the same notifications, the
Android Wear 2.0 Preview includes a Bridging mode feature.
</p>
<ul>
<li>Flick wrist out</li>
<li>Flick wrist in</li>
</ul>
<p>
For information about this feature, see <a href=
"{@docRoot}wear/preview/features/bridger.html">Bridging Mode for
Notifications</a>.
</p>
<p>For more information, see
<a href="{@docRoot}wear/preview/features/gestures.html">
Wrist Gestures</a>.
</p>
<h3 id="imf">
Input Method Framework
</h3>
<h2 id="stand-alone">Standalone Devices</h2>
<p>
Wear 2.0 extends the Android input method framework (IMF) to Android
Wear. This allows users to enter text on Wear using the system default
IME or third party IMEs. The Wear IME lets the user enter text via
gesture typing as well as tapping individual keys. The IMF APIs used for
Wear devices are the same as other form factors, though usage is slightly
different due to limited screen real estate.
</p>
<p>Standalone watches will enable Android Wear apps to work independently of phone
apps. This means your app can continue to offer full functionality even if the
paired phone is far away or turned off. </p>
<p>
Wear provides user settings on the watch that let the user:
</p>
<h3 id="wear-apk">Wear-Specific APKs</h3>
<ul>
<li>Enable multiple IMEs from the list of installed IMEs.
</li>
<p>For delivery to a watch, an Android Wear app is currently embedded in its corresponding
phone app. This delivery method can result in an increased download size for users,
regardless of whether they have an Android Wear device.
</p>
<li>Set a single default IME from the list of enabled IMEs.
</li>
<p>With standalone devices, the
<a href ="{@docRoot}google/play/publishing/multiple-apks.html">Multi-APK</a>
delivery method will be used. Developers will have the ability to release Android
Wear apps independently of the corresponding phone apps. Please stay tuned for
more information about this change.
</p>
<li>Change languages for various IMEs.
</li>
</ul>
<h3 id="network">Network Access</h3>
<p>
To learn how to create an IME for Wear, see <a href=
"{@docRoot}wear/preview/features/ime.html">Input Method Framework</a>.
</p>
<p>Since Android Wear apps will work independently of phone apps, Android Wear's
network access will no longer require the
<a href="{@docRoot}training/wearables/data-layer/index.html">
Wearable Data Layer API</a>. Android Wear apps will have the ability to make
their own network requests. Additionally, they will be able to directly use
Google Cloud Messaging.
</p>
<h3 id="wrist-gestures">
Wrist Gestures
</h3>
<p>No APIs for network access or GCM are specific to Android Wear; refer to the
existing documentation about
<a href="{@docRoot}training/basics/network-ops/connecting.html">
Connecting to the Network</a> and
<a href="https://developers.google.com/cloud-messaging/">Cloud Messaging</a>.
</p>
<p>
Wrist gestures can enable quick, one-handed interactions with your app
when use of a touch screen is inconvenient. The following <a href=
"https://support.google.com/androidwear/answer/6312406">wrist
gestures</a> are available for use by apps:
</p>
<p>We recommend using the following libraries:</p>
<ul>
<li><a href="{@docRoot}reference/android/app/job/JobScheduler.html">
JobScheduler</a> for asynchronous jobs, including polling at regular intervals
</li>
<li>Multi-networking APIs if you need to connect to specific network types; see
the <a href="{@docRoot}about/versions/android-5.0.html#Wireless">
Multiple Network Connections</a>
</li>
</ul>
<ul>
<li>Flick wrist out
</li>
<p>You will still be able to use the
<a href="{@docRoot}training/wearables/data-layer/index.html">
Wearable Data Layer API</a> to communicate with a phone app.
However, use of this API to connect to a network will be discouraged.
</p>
<li>Flick wrist in
</li>
</ul>
<p>
For more information, see <a href=
"{@docRoot}wear/preview/features/gestures.html">Wrist Gestures</a>.
</p>
<h3 id="auth">Authentication</h3>
<h2 id="stand-alone">
Standalone Devices
</h2>
<p>Since Android Wear apps will work independently of phone apps, Android Wear's
authentication capabilities will be more powerful; apps will have new ways to
authenticate.</p>
<p>
Standalone watches enable Android Wear apps to work independently of
phone apps. This means your app can continue to offer full functionality
even if the paired phone is far away or turned off.
</p>
<h4>Users can enter a username and password on a watch</h4>
<h3 id="wear-apk">
Wear-Specific APKs
</h3>
<p>Google Keyboard will be standard on Android Wear, allowing for direct text
entry. This feature will work as expected with standard
<a href="{@docRoot}reference/android/widget/EditText.html">EditText widgets</a>.
For passwords, the {@code textPassword} attribute will be used.</p>
<p>
For delivery to a watch, an Android Wear app is currently embedded in its
corresponding phone app. This delivery method can result in an increased
download size for users, regardless of whether they have an Android Wear
device.
</p>
<h4>Utilizing Account Manager</h4>
<p>
For information about planning and building your standalone app
for Wear 2.0, see <a href=
"https://developer.android.com/wear/preview/features/standalone-apps.html">
Standalone Apps</a>.
</p>
<p>Android Wear will include the
<a href="{@docRoot}reference/android/accounts/AccountManager.html">
AccountManager</a>, which will be accessible for syncing and storing account
data, as it is on an Android phone.</p>
<p>
For information about distributing your app, see <a href=
"https://developer.android.com/wear/preview/features/app-distribution.html">
App Distribution</a>.
</p>
<h4>Authentication tokens can be passed over the Wearable Data Layer</h4>
<h3 id="network">
Network Access
</h3>
<p>For Android-paired watches (only), a phone securely
transfers authentication credentials to a watch app via the
<a href="{@docRoot}training/wearables/data-layer/index.html">
Wearable Data Layer API</a>. The credentials can be transferred as
messages or data items.</p>
<p>
Since Android Wear apps will work independently of phone apps, Android
Wear's network access will no longer require the <a href=
"{@docRoot}training/wearables/data-layer/index.html">Wearable Data Layer
API</a>. Android Wear apps will have the ability to make their own
network requests. Additionally, they will be able to directly use Google
Cloud Messaging. For more information, see
<a href=
"https://developer.android.com/wear/preview/features/standalone-apps.html#network_access">
Network Access and Cloud Messaging</a>.
</p>
<p>If your watch app needs to determine if your phone app is installed, you can
advertise a capability on the phone app and retrieve the capability on the
watch. For more information, see the following sections of
<a href="{@docRoot}training/wearables/data-layer/messages.html">
Sending and Receiving Messages</a>:</p>
<p>
No APIs for network access or GCM are specific to Android Wear; refer to
the existing documentation about <a href=
"{@docRoot}training/basics/network-ops/connecting.html">Connecting to the
Network</a> and <a href=
"https://developers.google.com/cloud-messaging/">Cloud Messaging</a>.
</p>
<ul>
<li>Advertise Capabilities</li>
<li>Retrieve the Nodes with the Required Capabilities</li>
</ul>
<p>
We recommend using the following libraries:
</p>
<ul>
<li>
<a href=
"{@docRoot}reference/android/app/job/JobScheduler.html">JobScheduler</a>
for asynchronous jobs, including polling at regular intervals
</li>
<li>Multi-networking APIs, to connect to specific network
types; see <a href=
"{@docRoot}about/versions/android-5.0.html#Wireless">Multiple Network
Connections</a>
</li>
</ul>
<p>
The <a href=
"{@docRoot}training/wearables/data-layer/index.html">Wearable Data Layer
API</a> is available to communicate with a phone app.
However, use of this API to connect to a network will be discouraged.
</p>
<h3 id="auth">
Authentication
</h3>
<p>
Since Android Wear apps will work independently of phone apps, Android
Wear's authentication capabilities will be more powerful; apps will have
new ways to authenticate.
</p>
<h4>
Users can enter a username and password on a watch
</h4>
<p>
Google Keyboard will be standard on Android Wear, allowing for direct
text entry. This feature will work as expected with standard <a href=
"{@docRoot}reference/android/widget/EditText.html">EditText widgets</a>.
For passwords, the {@code textPassword} attribute will be used.
</p>
<h4>
Utilizing Account Manager
</h4>
<p>
Android Wear will include the <a href=
"{@docRoot}reference/android/accounts/AccountManager.html">AccountManager</a>,
which will be accessible for syncing and storing account data, as it is
on an Android phone.
</p>
<h4>
Authentication tokens can be passed over the Wearable Data Layer
</h4>
<p>
For Android-paired watches (only), a phone securely transfers
authentication credentials to a watch app via the <a href=
"{@docRoot}training/wearables/data-layer/index.html">Wearable Data Layer
API</a>. The credentials can be transferred as messages or data items.
</p>
<p>
If your watch app needs to determine if your phone app is installed, you
can advertise a capability on the phone app and retrieve the capability
on the watch. For more information, see the following sections of
<a href="{@docRoot}training/wearables/data-layer/messages.html">Sending
and Receiving Messages</a>:
</p>
<ul>
<li>Advertise Capabilities
</li>
<li>Retrieve the Nodes with the Required Capabilities
</li>
</ul>

View File

@@ -22,6 +22,8 @@ page.tags="preview", "developer preview"
<ul>
<li><a href="#activity-dismissal">Activity Dismissal</a></li>
<li><a href="#invalid-fields">Invalid Fields for a Complication Type</a></li>
<li><a href="#empty">Complication Types for Empty Data</a></li>
</ul>
</div>
@@ -61,3 +63,44 @@ page.tags="preview", "developer preview"
<a href="{@docRoot}wear/preview/features/ui-nav-actions.html">navigation
drawers</a>.
</p>
<h2 id="invalid-fields">Invalid Fields for a Complication Type</h2>
<p>
When a watch face uses the <a href="{@docRoot}wear/preview/features/complications.html">
Complications API</a>, the watch face requests data from a chosen provider.
A <code>ComplicationData</code> object, which contains
complication types, is returned.
</p>
<p>
A complication type determines the
kinds of data that a watch face can render. This section describes
a behavior change related to the <code>ComplicationData</code> object.
</p>
<p>
Starting with
<a href="https://developer.android.com/wear/preview/support.html#dp3">
Developer Preview 3</a>, when a watch face requests a field that is invalid
for a complication type, a default value for the field is returned.
For example, if a watch face tries to access a <code>Long text</code>
field in a <code>SHORT_TEXT</code> type, the default value for the
<code>Long text</code> field is returned.
In previous releases, such a request for an invalid field
(for a type) resulted in an exception.
</p>
<h2 id="empty">Complication Types for Empty Data</h2>
<p>
Starting with
<a href="https://developer.android.com/wear/preview/support.html#dp3">
Developer Preview 3</a>, the complication types used for "empty" data are
changed. Apps that use the Complications API
may need to be updated to use
<code>TYPE_NO_DATA</code>. See the information
about <code>TYPE_NO_DATA</code> in the
<a href="{@docRoot}wear/preview/features/complications.html#types_and_fields">
Types and fields</a> section.
</p>

View File

@@ -171,7 +171,9 @@ This is the Android Wear SDK Preview License Agreement (the “License Agreement
<li>
<a href="#set_up_a_watch">Set Up a Watch</a>
</li>
<li>
<a href="#set_up_a_phone">Set Up a Phone</a>
</li>
<li>
<a href="#set_up_an_emulator">Set Up an Emulator</a>
</li>
@@ -180,7 +182,7 @@ This is the Android Wear SDK Preview License Agreement (the “License Agreement
</div>
<p>
You can run and test your app with the Android Wear 2.0 Developer Preview
You can run and test your app with the Android Wear 2.0 Preview
in either of these ways:
</p>
@@ -237,6 +239,13 @@ This is the Android Wear SDK Preview License Agreement (the “License Agreement
following tables and flash it to the corresponding device.
</p>
<p class="caution"><strong>Caution:</strong>
After you flash an image to a watch, follow the steps for
<a href="#set_up_a_phone">setting up a phone</a> with the beta version of
the Android Wear companion app. To use a Wear 2.0 image on a watch,
you must have the beta companion app on a paired phone.
</p>
<p>
To restore your device to its original state during the preview,
you can flash the appropriate retail system image, below, to the device.
@@ -266,9 +275,9 @@ This is the Android Wear SDK Preview License Agreement (the “License Agreement
<td>
Preview image for testing
</td>
<td><a href="#top" onclick="onDownload(this)">nemo-nvd83h-factory-48ac950c.tgz</a><br>
MD5: dd351884cce9fb5bf1bdec0a8e5f56e3<br>
SHA-1: 48ac950c48faef96a7770e3c1acb56d23a28d859
<td><a href="#top" onclick="onDownload(this)">nemo-nve68j-factory-302a33ea.tgz</a><br>
MD5: ddfccc3e050c7e2db8d657c82f7d6291<br>
SHA-1: 302a33eac348c401fcb165bad4b9aaa40c7beb2b
</td>
</tr>
@@ -276,9 +285,9 @@ This is the Android Wear SDK Preview License Agreement (the “License Agreement
<td>
Non-preview image (for after testing)
</td>
<td><a href="#top" onclick="onDownload(this)">nemo-mnc40x-factory-fa528bec.tgz</a><br>
MD5: 0b8ba3653d5a93cb854f4d7409d7b6c9<br>
SHA-1: fa528bec8aba3bf6c7d901ba63cd6ea0a08dbeb0
<td><a href="#top" onclick="onDownload(this)">nemo-mfd18l-factory-3faf6f2d.tgz</a><br>
MD5: f3a0090c0e99da82ad095b5d2a9acc6d<br>
SHA-1: 3faf6f2d7f422a17a5f6c54cf5e1d2c5622689b0
</td>
</tr>
@@ -307,18 +316,18 @@ This is the Android Wear SDK Preview License Agreement (the “License Agreement
<td>
Preview image for testing
</td>
<td><a href="#top" onclick="onDownload(this)">sturgeon-nvd83h-factory-cb5a11ab.tgz</a><br>
MD5: 38c1047992b1d28f6833d9f6c8470cdc<br>
SHA-1: cb5a11ab0260ea3ca7da5894e73e41f70357da6b
<td><a href="#top" onclick="onDownload(this)">sturgeon-nve68j-factory-6607cd31.tgz</a><br>
MD5: f78ac6ba8bb84038d163cc2d7ca85040<br>
SHA-1: 6607cd31858af1bfd50b905c68f7cf1f0b6e570e
</td>
</tr>
<tr id="sturgeon-non-preview">
<td>
Non-preview image (for after testing)
</td>
<td><a href="#top" onclick="onDownload(this)">sturgeon-mec23l-factory-48003078.tgz</a><br>
MD5: 417b5cbddb29a2262bce133e283d2732<br>
SHA-1: 4800307843580f818557dd7c43d8ba2161e289b2
<td><a href="#top" onclick="onDownload(this)">sturgeon-m6e69f-factory-e659286a.tgz</a><br>
MD5: 12ce6cb0b0e43b67ea46a886eae052ae<br>
SHA-1: e659286aa9004f4555a476ede4e8b690f56cfefd
</td>
</tr>
</table>
@@ -437,13 +446,14 @@ This is the Android Wear SDK Preview License Agreement (the “License Agreement
<h4 id="set_up_watch">
Set up the watch and begin testing
Set up the watch
</h4>
<p>
After the <code>flash-all</code> script finishes, your watch reboots.
Pair the watch with a phone or tablet. The preview now is available
for testing on the watch. Before installing an app, perform the
Only pair the watch with a phone (so you can begin testing the preview)
by using the instructions in <a href="#set_up_a_phone">Set Up a Phone</a>.
Additionally, before installing an app, perform the
following steps on the watch to re-secure the watch's bootloader:
</p>
@@ -483,7 +493,9 @@ This is the Android Wear SDK Preview License Agreement (the “License Agreement
</ol>
<p>
Your watch is ready for you to <a href=
After you follow the instructions in
<a href="#set_up_a_phone">Set Up a Phone</a>,
your watch will be ready for you to <a href=
"{@docRoot}training/wearables/apps/creating.html#Install">install and run
your app</a>:
</p>
@@ -539,6 +551,97 @@ This is the Android Wear SDK Preview License Agreement (the “License Agreement
device reset and removes all user data on the device.
</p>
<h2 id="set_up_a_phone">
Set Up a Phone
</h2>
<p>
On a phone, follow the instructions in this section to install the beta
version of the Android Wear companion app. The beta version cannot be run
on a phone at the same time as the non-beta version. Additionally, the
beta version is English-only.
</p>
<p>
<p class="caution"><strong>Caution:</strong> If you have an existing
pairing of the phone to a Wear 1.x
watch, installation of the beta companion app will cause a loss of that
pairing.
</p>
<h3 id="join-the-wear-2-0-preview-group">
Join the Wear 2.0 preview group
</h3>
<p>
To access the beta companion app, you must <a href=
"https://groups.google.com/forum/#!forum/android-wear-developer-preview">join
the preview group in Google Groups</a>.
</p>
<h3>
Opt in for beta testing
</h3>
<p>
On the <a href=
"https://play.google.com/apps/testing/com.google.android.wearable.app">Testing
Opt-in</a> page, select <strong>Become a Tester</strong>.
</p>
<h3 id="download-and-install-the-beta-version-of-the-companion-app">
Download and install the beta version of the companion app
</h3>
<p>
On the Play Store on your phone, go to the <a href=
"https://play.google.com/store/apps/details?id=com.google.android.wearable.app">
Android Wear app listing</a>. Tap <strong>Update</strong> to download and
install the beta version of the app. After installation, confirm that
<strong>Auto-update</strong> is selected for the app (see
the "Set up automatic updates for specific apps" section of <a href=
"https://support.google.com/googleplay/answer/113412">Update downloaded
apps</a>). Tap <strong>Open</strong> to start the app.
</p>
<h3 id="pairing">
Pair the phone to the watch
</h3>
<p>
After you install the beta version of the companion app on a phone,
you can pair the phone to the watch:
</p>
<ol>
<li>On the phone, select your device name from the list of devices.
A pairing code is displayed on the phone and on the watch.
Ensure that the codes match.
</li>
<li>Tap <strong>Pair</strong> to
continue the pairing process. When the watch is connected to
the phone, a confirmation message is displayed.
On the phone, a screen is displayed that lists
the accounts on the phone.
</li>
<li>Choose a Google account to add and sync to your watch.
</li>
<li>Confirm the screen lock and enter the password to start the copying of
the account from the phone to the watch.
</li>
<li>Follow the instructions in the wizard to finish the
pairing process.
</li>
</ol>
<p>
You can begin testing your app with the preview.
</p>
<h2 id="set_up_an_emulator">
Set Up an Emulator
</h2>
@@ -564,11 +667,11 @@ This is the Android Wear SDK Preview License Agreement (the “License Agreement
Click <strong>Next</strong>.
</li>
<li>Select an <strong>N</strong> image to download. The images may be on
<li>Select a <strong>Nougat</strong> image to download. The images may be on
the <strong>x86</strong> tab instead of the <strong>Recommended</strong>
tab, until installed. For example, select the image with the
<strong>Release Name</strong> of N, the <strong>API Level</strong> of N,
and the <strong>Target</strong> of "Android 6.X (with Android Wear)".
<strong>Release Name</strong> of Nougat, the <strong>API Level</strong> of 24,
and the <strong>Target</strong> of "Android 7.0 (with Android Wear)".
When the download and installation are complete, click
<strong>Finish</strong> and then click <strong>Next</strong>.
</li>

View File

@@ -143,8 +143,9 @@ page.image=images/cards/card-n-sdk_2x.png
<p>
At milestone 4, you'll have access to the final Android Wear 2.0
APIs and SDK to develop with, as well as near-final system images to test
system behaviors and features. Android Wear 2.0 will use the Android N
API level at this time. You can begin final compatibility testing of your
system behaviors and features. Android Wear 2.0 will use the
Android 7.0 API level at this time.
You can begin final compatibility testing of your
legacy apps and refine any new code that is using the Android Wear 2.0
APIs or features.
</p>

View File

@@ -29,7 +29,7 @@ page.image=images/cards/card-n-sdk_2x.png
<p>
If you want an environment for basic compatibility
testing of your app, you can use your current APK and a
testing, you can use your current APK and a
supported watch or an emulator. You don't necessarily need to update your
full development environment to do basic testing. To simply test your
app's compatibility with a preview system image, see <a href=
@@ -48,10 +48,8 @@ page.image=images/cards/card-n-sdk_2x.png
</h2>
<p>
1. For compatibility with the <a href="{@docRoot}preview/overview.html">N
Developer Preview</a>, follow the <a href=
"{@docRoot}preview/setup-sdk.html">setup instructions</a> for installing
the latest version of Android Studio.
1. For compatibility with Android 7.0, install the latest version of
<a href="https://developer.android.com/studio/index.html">Android Studio</a>.
</p>
<p>
@@ -63,7 +61,7 @@ page.image=images/cards/card-n-sdk_2x.png
<ul>
<li>Under the <strong>SDK Platforms tab</strong>:
<ul>
<li>Android N Preview
<li>Android 7.0 (Nougat)
</li>
</ul>
</li>
@@ -107,10 +105,10 @@ page.image=images/cards/card-n-sdk_2x.png
<tr>
<td>
<a href="http://storage.googleapis.com/androiddevelopers/shareables/wear-preview/wearable-support-preview-2-docs.zip">wearable-support-preview-2-docs.zip</a>
<a href="http://storage.googleapis.com/androiddevelopers/shareables/wear-preview/wearable-support-preview-3-docs.zip">wearable-support-preview-3-docs.zip</a>
</td>
<td>MD5: afb770c9c5c0431bbcbdde186f1eae06<br>
SHA-1: 81d681e61cee01f222ea82e83297d23c4e55b8f3
<td>MD5: 22bae00e473e39e320aae8ea09a001a5<br>
SHA-1: 474502cc7092bcf0bd671441b8654aa8d6c155ed
</td>
</tr>
</table>
@@ -163,7 +161,7 @@ page.image=images/cards/card-n-sdk_2x.png
following, which requires that your the Google Repository <a href=
"#install_android_studio_and_the_latest_packages">is the latest
version</a>:
<code>compile 'com.google.android.support:wearable:2.0.0-alpha2'</code>
<code>compile 'com.google.android.support:wearable:2.0.0-alpha3'</code>
</li>
</ul>
</li>
@@ -190,12 +188,12 @@ page.image=images/cards/card-n-sdk_2x.png
</li>
<li>Optionally, select the <strong>Phone and Tablet</strong> option. If
you plan to use N Preview APIs in a phone app, then the Minimum SDK
option list, select <strong>API N: Android 6.x (N Preview)</strong>.
you plan to use Android 7.0 APIs in a phone app, then the Minimum SDK
option list, select <strong>API 24: Android 7.0 (Nougat)</strong>.
</li>
<li>Select the <strong>Wear</strong> option, and in the Minimum SDK
option list, select the latest available (<strong>N Preview</strong>)
option list, select the latest available (<strong>API Nougat</strong>)
option. Click <strong>Next</strong> until you exit the Create New Project
wizard.
</li>
@@ -215,7 +213,7 @@ page.image=images/cards/card-n-sdk_2x.png
following, which requires that your the Google Repository <a href=
"#install_android_studio_and_the_latest_packages">is the latest
version</a>:
<code>compile 'com.google.android.support:wearable:2.0.0-alpha2'</code>
<code>compile 'com.google.android.support:wearable:2.0.0-alpha3'</code>
</li>
</ul>
</li>

View File

@@ -23,7 +23,9 @@ page.tags="preview", "developer preview"
<ul>
<li><a href="#general">General Advisories</a></li>
<li><a href="#platform-version">Platform API Version</a></li>
<li><a href="#deprecations">Deprecations</a></li>
<li><a href="#dp3">Developer Preview 3</a></li>
<li><a href="#dp2">Developer Preview 2</a></li>
<li><a href="#dp1">Developer Preview 1</a></li>
</ul>
@@ -46,10 +48,25 @@ page.tags="preview", "developer preview"
panics and crashes.
</li>
<li>Some apps <strong>may not function as expected</strong> on the new
platform version. This includes Googles apps and other apps.
platform version. This includes Google's apps and other apps.
</li>
</ul>
<h2 id="platform-version">
Platform API Version
</h2>
<p>
The Android Platform API version is incremented to 24 to match Android 7.0.
You can update the following in your Android Wear 2.0 Preview project
to <strong>24</strong>:
</p>
<ul>
<li><code>compileSdkVersion</code></li>
<li><code>targetSdkVersion</code></li>
</ul>
<h2 id="deprecations">Deprecations</h2>
<p>The following fields are deprecated in the preview:</p>
@@ -64,6 +81,275 @@ page.tags="preview", "developer preview"
</li>
</ul>
<h2 id="dp3">Developer Preview 3</h2>
<div class="wrap">
<div class="cols">
<div class="col-6of12">
<p><em>Date: September 2016<br />
Builds: Wearable Support 2.0.0-alpha3, NVE68J<br/>
Emulator support: x86 & ARM (32-bit)<br/>
</em></p>
</div>
</div>
</div>
<h3 id="new-in-fdp3">
New in Preview 3
</h3>
<p>
For access to system images and the companion app for Preview 3, see
<a href="https://developer.android.com/wear/preview/downloads.html">
Download and Test with a Device</a>.
</p>
<h4>
Additions for standalone apps and the Play Store on Wear
</h4>
<p>
For information about planning your Wear 2.0 app, see <a href=
"https://developer.android.com/wear/preview/features/standalone-apps.html">
Standalone Apps</a>.
</p>
<p>
Generally, the minimum and target SDK level for Wear 2.0, and for a
standalone APK, is level 24. The minimum SDK level can be 23
only if you are using the same APK
for Wear 1.0 and 2.0 (and thus have an embedded Wear 1.0 APK).
</p>
<p>
Run-time permissions are required.
</p>
<p>
For information about distributing your Wear 2.0 app, see <a href=
"https://developer.android.com/wear/preview/features/app-distribution.html">
App Distribution</a>.
</p>
<h4 id="additions-to-the-complications-api">
Complications API additions
</h4>
<p>
For Preview 3, additions and changes have been made to the Complications
API. The <a href=
"https://developer.android.com/wear/preview/features/complications.html">documentation</a>
includes information about the following additions and changes:
</p>
<ul>
<li>To receive complication data and open the provider chooser, a watch
face must have the <code>RECEIVE_COMPLICATION_DATA</code> permission.
</li>
<li>To ease a request for the new permission and the starting of the
chooser, the <code>ComplicationHelperActivity</code> class is available
in the wearable support library. This class should be used instead of
<code>ProviderChooserIntent</code> to start the chooser in almost all
cases.
</li>
<li>Watch faces can specify default providers that are used until a user
selects a provider.
</li>
<li>The complication types used for "empty" data are changed.
</li>
<li>A new permission was added to ensure that only the Android Wear
system can bind to provider services.
</li>
</ul>
<p>
For changes related to the <code>ComplicationData</code> object, see
<a href=
"https://developer.android.com/wear/preview/behavior-changes.html">Behavior
Changes</a>.
</p>
<h4 id="wearable-recycler-view-api">
Curved Layout
</h4>
<p>
For information about creating a curved layout using
the <code>WearableRecyclerView</code> API in your Wear 2.0 app, see
<a href="https://developer.android.com/wear/preview/features/wearable-recycler-view.html">
Curved Layout</a>.
</p>
<h4 id="notifications-features-fdp3">
Notifications features
</h4>
<p>
To learn about adding an inline action to a notification,
see <a href="https://developer.android.com/wear/preview/notifications.html#inline">Inline
Action</a>.
</p>
<p>
To learn about adding images to a notification, see
<a href=
"https://developer.android.com/wear/preview/notifications.html#images">Adding
images to a notification</a>.
</p>
<p>
For additions related to the bridging of notifications from a companion
app to a watch, see <a href=
"https://developer.android.com/wear/preview/features/bridger.html">Bridging
Mode for Notifications</a>.
</p>
<h4 id="additions-for-smart-reply">
Smart Reply additions
</h4>
<p>
Smart Reply responses are generated by an entirely on-watch,
machine-learning model using the context provided by <a href=
"https://developer.android.com/wear/preview/features/notifications.html#messaging">
MessagingStyle</a> notifications. Use the <a href=
"https://developer.android.com/reference/android/support/v4/app/NotificationCompat.Action.Builder.html#setAllowGeneratedReplies(boolean)">
setAllowGeneratedReplies(boolean)</a> method to enable Smart Reply for
your <code>MessagingStyle</code> notification.
</p>
<h3 id="known-issues-3">
Known Issues
</h3>
<h4 id="notifications">
Notifications
</h4>
<ul>
<li>The <code>MessagingStyle</code> <a href=
"https://developer.android.com/wear/preview/features/notifications.html#images">
notifications with images</a> posted by standalone apps don't show
images in the notification (i.e., bridged notifications show images,
but standalone notifications don't).
</li>
<li>This preview release does not include support for notification
groups.
</li>
<li>With Wear 2.0, a watch can receive notifications directly from
Firebase Cloud Messaging (FCM), which replaces Google Cloud Messaging
(GCM). However, in Preview 3 of Wear 2.0, FCM does not function with
iOS-paired watches.
</li>
<li>Smart Reply responses are only shown in <code>RemoteInput</code> when
<code>RemoteInput</code> is called from a <code>MessagingStyle</code>
expanded notification. Smart Reply responses are not shown in
<code>RemoteInput</code> when <code>RemoteInput</code> is called from an
<a href=
"https://developer.android.com/wear/preview/features/notifications.html#inline">
inline action</a> within the stream&#8212;an action set with the <a href=
"https://developer.android.com/reference/android/support/v4/app/NotificationCompat.Action.WearableExtender.html#setHintDisplayActionInline(boolean)">
setHintDisplayActionInline(true)</a> method.
</li>
</ul>
<h4 id="companion-app">
Companion app
</h4>
<ul>
<li>The preview companion app is not compatible with Android 4.3
(Jelly Bean MR2), which has an SDK build version code of:
<code>JELLY_BEAN_MR2</code></li>
</ul>
<ul>
<li>In permission screens in the preview companion app:
If you deny a permission, you cannot
proceed. Instead of denying a permission, tap <strong>Skip</strong>.
</li>
</ul>
<h4 id="developer-console">
Developer Console
</h4>
<ul>
<li>If you set a minimum SDK version of 24, the Play Developer Console
states that there are few supported devices.
</li>
</ul>
<h4 id="system-user-interface">
System user interface and apps
</h4>
<ul>
<li>Dismissing multiple notifications can cause an app to forcibly close.
</li>
<li>The "Ok Google" detection and voice transcription may not work
reliably.
</li>
<li>Google Fit is not available with Preview 3.
</li>
<li>Syncing for embedded apps is not enabled for the preview. Therefore,
to test an app on a device, add it to the Play Store or side-load it
onto a watch. Some existing Wear apps, e.g. Google Maps, are only
using the embedded apps mechanism currently, and are therefore not
installable on the preview (and therefore do not appear on the watch).
</li>
<li>In Play Store search results on the watch,
results other than apps sometimes appear.
</li>
<li>Media controls/notifications are not bridged
to the watch from an Android KitKat phone.
</li>
</ul>
<h4 id="devices">
Devices
</h4>
<ul>
<li>In Android Wear emulators, the Play Store app requires that an
account is synced to the device before the app can be opened.
</li>
<li>On the Huawei Watch, selecting the language, followed by multiple
acknowledgement dialogues, results in a black screen.
</li>
<li>On the LG Watch Urbane 2nd Edition, when answering a call from the
watch, the watch does not provide audio from the caller.
</li>
</ul>
<h4 id="smart-reply">
Smart Reply
</h4>
<ul>
<li>Smart Reply is only available if your watch's system language is
English.
</li>
<li>Smart Reply responses are not generated for all messages.
</li>
</ul>
<h2 id="dp2">Developer Preview 2</h2>
<div class="wrap">
@@ -78,24 +364,9 @@ page.tags="preview", "developer preview"
</div>
<h3 id="new-in-fdp2">
<strong>New in Preview 2</strong>
New in Preview 2
</h3>
<h4 id="platform-version-24">
Platform API Version
</h4>
<p>
The Android Platform API version is incremented to 24 to match Android Nougat.
You can update the following in your Android Wear 2.0 Preview project
to <strong>24</strong>:
</p>
<ul>
<li><code>compileSdkVersion</code></li>
<li><code>targetSdkVersion</code></li>
</ul>
<h4 id="wearable-drawers">
Wearable drawers
</h4>
@@ -174,7 +445,7 @@ page.tags="preview", "developer preview"
</p>
<h3 id="known-issues-2">
<strong>Known Issues</strong>
Known Issues
</h3>
<h4 id="notifications-2">
@@ -239,6 +510,10 @@ page.tags="preview", "developer preview"
<li>Unable to turn off the Wi-Fi on a wearable.
</li>
<li>After music is played on a companion phone,
music card notifications are not mirrored to the watch.
</li>
</ul>
<h4 id="companion-app-2">