Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8a79f6bd authored by Andrew Solovay's avatar Andrew Solovay Committed by android-build-merger
Browse files

Merge "docs: Creating new support library revision history page" into...

Merge "docs: Creating new support library revision history page" into mnc-mr-docs am: e780c624 am: f62ae36a am: c48a1276
am: 5037f034

* commit '5037f034':
  API Overview page for Wear 2.0 preview.

Change-Id: Ie8a8a22641cb7d4c5b9f57f5ddca5d6e089ce4f6
parents 794d9a2e 5037f034
Loading
Loading
Loading
Loading
+242 −39
Original line number Original line Diff line number Diff line
@@ -12,26 +12,28 @@ page.image=images/cards/card-n-apis_2x.png
  <h2>Key developer features</h2>
  <h2>Key developer features</h2>
  <ol>
  <ol>
      <ul style="list-style-type:none;">
      <ul style="list-style-type:none;">
        <li><a href="#stand-alone">Stand Alone Devices</a>
        <li><a href="#stand-alone">Standalone Devices</a>
          <ol>
          <ol>
            <li><a href="#wear-apk">Wear-Specific APKs</a></li>
            <li><a href="#wear-apk">Wear-Specific APKs</a></li>
            <li><a href="#network">Network Access</a></li>
            <li><a href="#network">Network Access</a></li>
            <li><a href="#auth">Authentication</a></li>
            <li><a href="#auth">Authentication</a></li>
          </ol>
          </ol>
        </li>
        </li>
        <li><a href="#notify">Notifications and Interactions</a>
        <li><a href="#notify">Notifications and Input</a>
          <ol>
          <ol>
            <li><a href="#appoid">Appoids with Chat Templates</a></li>
            <li><a href="#expanded">Expanded Notification</a></li>
            <li><a href="#smart-replies">Smart Replies</a></li>
            <li><a href="#messaging">Messaging Style Notification</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="#remote-input">Remote Input</a></li>
            <li><a href="#bridging">Bridging Mode</a></li>
            <li><a href="#imf">Input Method Framework</a></li>
            <li><a href="#imf">Input Method Framework</a></li>
          </ol>
          </ol>
        </li>
        </li>
        <li><a href="#ui">User Interface Improvements</a>
        <li><a href="#ui">User Interface Improvements</a>
          <ol>
          <ol>
            <li><a href="#complicatiosn">Complications</a></li>
            <li><a href="#complications">Complications</a></li>
            <li><a href="#drawers">Navigation and Action Drawers</a></li>
            <li><a href="#drawers">Navigation and Action Drawers</a></li>
            <li><a href="#button-loc">Button Locations</a></li>
          </ol>
          </ol>
        </li>
        </li>
      </ol>
      </ol>
@@ -46,79 +48,280 @@ page.image=images/cards/card-n-apis_2x.png
  highlight some of the new features for Wear developers.
  highlight some of the new features for Wear developers.
</p>
</p>


<h2 id="stand-alone">Standalone Devices</h2>


<h2 id="stand-alone">Stand Alone Devices</h2>
<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 
<p>Description of developer theme</p>
 paired phone is far away or turned off. </p>


<h3 id="wear-apk">Wear-Specific APKs</h3>
<h3 id="wear-apk">Wear-Specific APKs</h3>


<p>Description of feature</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>


<p>Sample implementation of feature</p>
<p>This delivery method is planned to change; 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>


<h3 id="network">Network Access</h3>
<h3 id="network">Network Access</h3>


<p>Description of feature</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>


<p>Sample implementation of feature</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>

<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>

<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>


<h3 id="auth">Authentication</h3>


<p>Description of feature</p>
<h3 id="auth">Authentication</h3>


<p>Sample implementation of feature</p>
<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> Authentication tokens can be passed over the Wearable Data Layer </h4>

<p>For Android-paired watches (only), the phone will securely transfer authentication
 data to a watch app via the
 <a href="{@docRoot}training/wearables/data-layer/index.html">
 Wearable Data Layer API</a>. The data 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 following sections of
 <a href="{@docRoot}training/wearables/data-layer/messages.html">
 Sending and Receiving Messages</a>:
 <ul>
 <li>Advertise Capabilities</li>
 <li>Retrieve the Nodes with the Required Capabilities</li>
 </ul>
<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.

<h4>Utilizing Account Manager</h4>
Android Wear will include the <a href="{@docRoot}reference/android/accounts/AccountManager.html">
AccountManager</a>; it is planned to be accessible for syncing and storing account
 data, as it is on an Android phone.
</p>






<h2 id="notify">Notifications and Interactions</h2>
<h2 id="notify">Notifications and Input</h2>


<p>Description of developer theme</p>
<p>In Wear 2.0, we’ve 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>.


<h3 id="appoid">Appoids with Chat Templates</h3>
<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#setContent
Intent(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/wear">Material Design for Android Wear</a>, so the user gets an app-like experience.
</p>
<p><img src="{@docRoot}wear/preview/images/expanded_diagram.png"></p>
<p><b>Figure 1</b>.An expanded notification</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>


<p>Description of feature</p>


<p>Sample implementation of feature</p>
<h3 id="smart-replies">Smart Reply</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>


<h3 id="smart-replies">Smart Replies</h3>
<p><img src="{@docRoot}wear/preview/images/messaging_style.png"></p>
<p><b>Figure 2</b>.Messaging Style notification with smart replies</p>


<p>Description of feature</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>Sample implementation of feature</p>


<h3 id="remote-input">Remote Input</h3>
<h3 id="remote-input">Remote Input</h3>
<div style="float:right;">
<img src="{@docRoot}wear/preview/images/remoteinput.png" style="padding-left:1.5em;">


<p>Description of feature</p>
<p class="img-caption" style="padding-left:2em;">
  <strong>Figure 5.</strong> Remote Input.
</p>


<p>Sample implementation of feature</p>


<h3 id="imf">Input Method Framework</h3>
  </div>
<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>

<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="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 companiosubl apin 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>Description of feature</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>


<p>Sample implementation of feature</p>
<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>


<h3 id="imf">Input Method Framework</h3>


<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>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>

<p>To learn how to create an IME for Wear, see <a href="{@docRoot}wear/preview/features/ime.html">
Input Method Framework</a>.
</p>


<h2 id="ui">User Interface Improvements</h2>
<h2 id="ui">User Interface Improvements</h2>


<p>Description of developer theme</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>

<h3 id="complications">Complications</h3>


<h3 id="complicatiosn">Complications</h3>
<p>A complication is a feature of a watch face <a href="https://en.wikipedia.org/wiki/Complication_(horology)">
that displays more than hours and minutes</a>. For
example, a battery indicator is a complication. The Complications API is for
both watch faces and data provider apps.</p>


<p>Description of feature</p>
<div style="float:right;">
<img src="images/complications-main-image.png"" style="padding-left:1.5em;">


<p>Sample implementation of feature</p>
<p class="img-caption" style="padding-left:2em;">
  <strong>Figure 5.</strong> Watch face Complications.
</p>
  

<p>Watch faces 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>


<h3 id="drawers">Navigation and Action Drawers</h3>
<p>For examples of how to use this feature, 
see <a href="{@docRoot}wear/preview/features/complications.html">
 Watch Face Complications</a>.
</p>


<p>Description of feature</p>
<h3 id="drawers">Navigation and Action drawers</h3>


<p>Sample implementation of feature</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="button-loc">Button Locations</h3>
<div class="cols">
<div class="col-2of6">
  <img src="{@docRoot}wear/preview/images/nav_drawer.gif" alt="" style="padding:.5em">
  <p class="img-caption">
      <strong>Figure 1.</strong> Navigation and Action Drawers.
    </p>
</div>
<div class="col-2of6">
  <img src="{@docRoot}wear/preview/images/action_drawer.gif" alt="" style="padding:.5em;"">
</div>
</div>
<div class="cols">
<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>Description of feature</p>
<p>Sample implementation of feature</p>
+29.7 KiB
Loading image diff...