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

Commit b1912259 authored by Scott Main's avatar Scott Main Committed by Android Git Automerger
Browse files

am c44f3907: docs: add redirects for preview docs

* commit 'c44f3907':
  docs: add redirects for preview docs
parents 91ac3dc0 c44f3907
Loading
Loading
Loading
Loading
+5 −183
Original line number Diff line number Diff line
page.title=Introduction to Honeycomb
@jd:body

<p>Welcome to the Honeycomb preview SDK. Honeycomb is the next major release of the Android
platform and is optimized for tablet devices. This document provides an introduction to the new
platform features and APIs available in Honeycomb.</p>


<h2>Fragments</h2>

<div class="figure" style="width:400px">
  <img src="{@docRoot}images/preview_hc/fragments_layout.png" alt="" />
  <p class="img-caption"><strong>Fragment Layout.</strong> An activity with two
fragments: one with a list view, on the left, and one that displays selected content on the
right. This demo is available in the samples package.</p>
</div>


<p>A new framework component that allows you to separate distinct elements of an activity into
self-contained modules that define their own UI and lifecycle&mdash;defining what may be
considered "sub-activities".</p>
<ul>
  <li>Multiple fragments can be combined in a single activity to build a multi-pane UI in which
each pane manages its own lifecycle and user inputs</li>
  <li>Fragments are self-contained and can be reused in multiple activities</li>
  <li>Fragments can be added, removed, replaced and animated inside the activity</li>
  <li>Fragment can be added to a back stack managed by the activity, preserving the state of
fragments as they are changed and allowing the user to navigate backward through the different
states</li>
  <li>By <a
href="{@docRoot}guide/topics/resources/providing-resources.html#AlternativeResources">providing
alternative resources</a>, you can mix and match fragments, based
on the screen size and orientation</li>
  <li>Fragments have direct access to their container activity and can contribute items to the
activity's Options Menu</li>
</ul>

<p>For more information, see the <a
href="{@docRoot}guide/topics/fragments/index.html">Fragments</a> developer guide.</p>


<h2>Action Bar</h2>

<p>A replacement for the traditional title bar, which provides users quick access to global
actions and different navigation modes.</p>
<ul>
  <li>Provides quick access to items from the Options Menu ("action items") and interactive
widgets ("action views")</li>
  <li>Includes the application logo in the left corner, which can perform actions when tapped
and can be replaced with a custom logo</li>
  <li>Provides breadcumbs for navigating backward through fragments</li>
  <li>Offers built in navigation modes, including tabs and a drop-down list</li>
  <li>Can be customized with themes and custom backgrounds</li>
  <li>And more</li>
</ul>

<img src="{@docRoot}images/preview_hc/actionbar.png" alt="" />
<p class="img-caption"><strong>Action Bar.</strong> An action bar with a custom logo,
tabs, and Options Menu. This demo is available in the samples package.</p>

<p>For more information, see the <a
href="{@docRoot}guide/topics/ui/actionbar.html">Action Bar</a> developer guide.</p>


<h2>System Clipboard</h2>

<p>Applications can copy and paste data (beyond mere text) to and from the system-wide
clipboard.</p>

<ul>
  <li>Clipped data can be plain text, a URI, or an intent</li>
  <li>The new {@link android.content.ClipData} class represents a complex data type for the
clipboard</li>
  <li>The new {@link android.content.ClipboardManager} class allows apps to add {@link
android.content.ClipData} to the clipboard (copy) and read {@link
android.content.ClipData} from the clipboard (paste)</li>
  <li>The {@link android.content.ContentProvider} class has been extended to generate byte
streams based on data types added to the clipboard and point to data hosted in a
content provider</li>
</ul>

<p>See {@link android.content.ClipData} and {@link android.content.ClipboardManager}
for more information. You can also see an example implementation of copy/paste in an updated
version of the NotePad application (available in the samples package).</p>


<h2>Drag and Drop</h2>

<p>New APIs to perform drag and drop operations, leveraging the system clipboard APIs to
transport data.</p>

<ul>
  <li>Any {@link android.view.View} can be used for a drag and drop event and a thumbnail of that
view is generated and used during the drag</li>
  <li>{@link android.view.ViewGroup}s that can receive the object are notified during hover and drop
events</li>
  <li>The new {@link android.view.DragEvent} class describes a drag event relating to a view,
including the item's current coordinates, the type of action (whether the drag has entered the
view, exited the view, started, dropped, etc.), and provides access to the {@link
android.content.ClipData} being carried</li>
  <li>The new {@link android.view.View.OnDragListener} interface defines a callback that views
can register in order to be notified of drag events being dispatched to the view; view's can
register a drag listener with {@link android.view.View#setOnDragListener setOnDragListener()}</li>
</ul>

<p>See {@link android.view.DragEvent} and {@link android.view.View.OnDragListener} for more
information.</p>


<h2>New Animations</h2>

<p>An all new animation framework.</p>

<ul>
  <li>A flexible animation system that allows you to animate the properties of any object (View,
Drawable, Fragment, Object, anything)</li>
</ul>

<p>See the {@link android.animation} package.</p>


<h2>Extended App Widgets</h2>

<p>App widgets can now be more interactive and accept finger gestures.</p>

<ul>
  <li>The complete list of supported widgets for an app widget is now: {@link
android.widget.AnalogClock}, {@link android.widget.Button}, {@link android.widget.Chronometer},
{@link android.widget.ImageButton}, {@link android.widget.ImageView}, {@link
android.widget.ProgressBar}, {@link android.widget.TextView}, {@link
android.widget.ViewFlipper}, {@link android.widget.AdapterViewFlipper}, {@link
android.widget.StackView}, {@link android.widget.ListView}, and {@link
android.widget.GridView}.</li>
</ul>


<h2>Extended Status Bar Notifications</h2>

<p>The {@link android.app.Notification} class has been extended to support more content-rich
status bar notifications when on xlarge screens.</p>

<ul>
  <li>New {@link android.app.Notification.Builder} class helps you easily create new {@link
android.app.Notification} objects</li>
  <li>Support for a title in the status bar ticker (in addition to the normal ticker text)</li>
  <li>Support for a large "sender" icon in the notification&mdash;a second icon intended for
social applications to show the contact photo of the person who is the source of the
notification</li>
  <li>Support for custom layouts in the status bar ticker</li>
  <li>Support for buttons in the expanded notification that deliver custom intents
(such as to control ongoing music in the background)</li>
</ul>


<h2>Plus Android 2.3</h2>

<p>Honeycomb includes all platform changes introduced for Android 2.3.</p>

<p>To take full advantage of Honeycomb, you should also be aware of the new features
and APIs introduced for Android 2.3. To learn more, read the <a
href="{@docRoot}sdk/android-2.3.html">Android 2.3 release notes</a>.</p>

<!--
<div class="special">
<p>To set up your preview SDK and start developing apps for Honeycomb, see the <a
href="{@docRoot}sdk/preview/installing.html">Getting Started</a> guide.</p>
</div>
-->

















<script type="text/javascript">
  document.location=toRoot+"sdk/android-3.0.html"
</script>

<p>You should have already been redirected by your browser. Please go to the
<a href="{@docRoot}sdk/android-3.0.html">Android 3.0 Platform</a>.</p>
 No newline at end of file
+1 −182
Original line number Diff line number Diff line
page.title=Android 3.0 Preview SDK
sdk.redirect=true
@jd:body

<p>Android 3.0 is the next major release of the Android platform and is optimized for tablet
devices. We're offering a Preview SDK so you can get a head-start developing
applications for it or simply optimize your existing application for upcoming
tablets.</p>


<h3>What is the Preview SDK?</h3>

<p>The Android 3.0 Preview SDK is an early look at the upcoming version of Android 3.0, for
developers only. </p>

<p>The Preview SDK includes:</p>
<ul>
  <li>An early Android 3.0 system image for use in the Android emulator</li>
  <li>An Android 3.0 library with non-final APIs</li>
  <li>A new WXGA emulator skin for an extra large Android Virtual Device</li>
  <li>New documentation for Android 3.0, including a complete API reference, new developer guides,
and an API differences report between Android 3.0 and 2.3.</li>
</ul>

<div class="note">
<p><strong>Be aware that:</strong></p>
<ul>
  <li>The APIs in the Preview SDK are <strong>not final</strong>. Some APIs may change in behavior
or availability when the final SDK is made available.</li>
  <li>You <strong>cannot</strong> publish an application that's built against the Preview
SDK&mdash;you can only run an application built against the Preview SDK on the Android
emulator.</li>
  <li>The documentation on <a href="http://developer.android.com">developer.android.com</a>
does <strong>not</strong> include the Android 3.0 documentation&mdash;to read the API reference and
developer guides for Android 3.0, you must install the Android 3.0 Preview documentation from
the AVD and SDK Manager.</li>
</ul>
</div>


<p><b>About emulator performance</b></p>

<p>Because the Android emulator must simulate the ARM instruction set architecture on your
computer and the WXGA screen is significantly larger than what the emulator
normally handles, emulator performance is much slower than usual. </p>

<p>In particular, initializing the emulator can be slow and can take several
minutes, depending on your hardware. When the emulator is booting there is
limited user feedback, so please be patient and continue waiting until you see
the home screen appear. </p>

<p>We're working hard to resolve the performance issues in the emulator and it will improve in
future releases. In the meantime, we wanted to give developers access to new APIs and an basic test
environment as early as possible. </p>

<p>Keeping in mind that performance on the emulator does not reflect the speed or performance of
apps on actual devices running Android 3.0, developing and testing on the emulator is still an
important tool in evaluating your application's appearance and functionality on the new platform. 
</p>





<h3>What can I do with the preview?</h3>

<p>The Preview SDK is intended for testing existing applications on the new platform and
developing new applications with new Android 3.0 APIs.</p>

<p>If you have an existing Android application, you don't <em>have to</em> do anything. Android
applications are always forward-compatible. If your application is a good citizen of the Android
APIs, your app should work fine on devices running Android 3.0 without any additional work. However,
in order to ensure proper performance and provide users a better experience when running your
application on an Android 3.0 tablet, we recommend that you perform the following:</p>

<ol>
  <li><b>Test your application on Android 3.0</b>
    <p>Simply install the Android 3.0 preview in your Android SDK, create an AVD using the
Android 3.0 system image, install your application, and run some tests.</p>
    <p>As mentioned above, your application should perform as expected. You might, however,
discover that your activity layouts are less than ideal on a large screen or some other aspects
of your application don't behave the way you expect.</p>
  </li>
  <li><b>Inherit the new "Holographic" theme</b>
    <p>Android 3.0 offers an updated set of UI widgets that are redesigned for use on larger screens
such as tablets and incorporate the new holographic theme. Your existing application can inherit
the new design simply by setting the <a
href="{@docRoot}guide/topics/manifest/uses-sdk-element.html">{@code &lt;uses-sdk&gt;}</a>
element's {@code android:targetSdkVersion} attribute to {@code "Honeycomb"}.</p>
    <p>If you do not update the {@code android:targetSdkVersion} attribute and the {@code
android:minSdkVersion} is set to "9" or lower, then your application uses the widget designs
from Android 2.3 and does <em>not</em> inherit the holographic theme.</p>
    <p>In order for your application to match the rest of the system UI, we highly recommend you
make this change to inherit the new widget styles and system theme. However, beware that doing so
might conflict with color or text designs you applied to your application based on the previous
system theme, so you should be sure to inspect your application UI when using the holographic
theme.</p>
  </li>
  <li><b>Provide alternative layouts for extra large screens</b>
    <p>As discussed in the guide to <a
href="{@docRoot}guide/practices/screens_support.html">Supporting Multiple Screens</a>, Android
2.3 and above support the <code>xlarge</code> resource qualifier, which you should use to supply
alternative layouts for extra large screens.</p>
    <p>By providing alternative layouts for some of your activities when running on extra large
screens, you can improve the user experience of your application on a tablet without using any
new APIs.</p>
    <p>For example, here are some things to consider when creating a new layout for tables:</p>
    <ul>
      <li>Landscape layout: The "normal" orientation for tablets is usually landscape (wide), so
you should be sure that your activities offer an appropriate layout for such a wide viewing
area.</li>
      <li>Button position: Consider whether the position of the most common buttons in your UI are
easily accessible while holding a tablet with two hands.</li>
    </ul>
    <p class="note"><strong>Note:</strong> You can add alternative resources for <em>xlarge</em>
screens without changing your {@code minSdkVersion}. For example, if you add alternative layouts in
<code>res/layout-xlarge/</code> and your application is compatible with older versions, such
as Android 1.5&mdash;which doesn't support <em>xlarge</em> screens&mdash;this layout directory is
simply ignored by those devices.</p>
  </li>
</ol>


<p>Otherwise, if you want to develop a new application or upgrade your existing application to
use APIs added in Android 3.0, we encourage you to get started by developing against the Android
3.0 preview platform. You can get started the same way as you would for any other version of
Android.</p>


<p>To get started&mdash;whether testing an existing application or creating a new one&mdash;follow
the procedure in the following section to install the Preview SDK.</p>



<h3 id="Setup">How do I get it?</h3>

<p>To get the Preview SDK, you can download it using the Android SDK and AVD Manager.</p>

<p>If you're new to Android development, start by <a href="{@docRoot}sdk/index.html">downloading the
Android SDK starter package</a>.</p>

<p><a href="{@docRoot}sdk/adding-components.html#launching">Launch the Android SDK and AVD
Manager</a> and install the following:</p>
<ul>
  <li>SDK Platform Android Honeycomb Preview</li>
  <li>Android SDK Tools, revision 9</li>
  <li>Android SDK Platform-tools, revision 2</li>
  <li>Documentation for Android 'Honeycomb' Preview</li>
  <li>Samples for SDK API Honeycomb Preview</li>
</ul>

<p class="note"><strong>Note:</strong> Be sure to install the documentation component for the
Honeycomb Preview SDK. The API reference for the Android 3.0 API is <strong>not</strong> available
online.</p>

<p>Once you have installed these components, open your SDK directory and navigate to {@code
docs/sdk/} and open {@code index.html} in your browser. </p>



<h3 id="Issues">Known issues</h3>

<p>The following known issues occur for Android 3.0 AVDs that are loaded in the emulator:</p>

<ul>
  <li>The emulator displays a rotated portrait screen while in landscape
orientation. To view the screen correctly in landscape orientation, turn off the auto-rotate setting
in <strong>Settings > Screen > Auto-rotate screen</strong>. Then use Ctrl-F11 to rotate the
emulator.</li>
  <li>You cannot take screenshots of an emulator screen. The Device Screen Capture window displays
<strong>Screen not available</strong>.</li>
  <li>GPS emulation is currently not supported.</li>
  <li>When rotating the emulator screen by pressing Ctrl-F11, the screen turns green momentarily,
then displays the normal interface.</li>
  <li>The Dev Tools application sometimes crashes when trying to use the Package Browser
feature.</li>
</ul>


<div class="special">
 <p>For an overview of new features in Android 3.0, read the <a
href="{@docRoot}sdk/android-3.0-highlights.html">Platform Highlights</a>.</p>
</div>
+5 −59
Original line number Diff line number Diff line
page.title=Getting Started with Honeycomb
@jd:body

<p>First, you need to set up your development environment with the new SDK Tools and preview
platform:</p>
<script type="text/javascript">
  document.location=toRoot+"sdk/installing.html"
</script>

<ol>
  <li>Unpack the SDK Tools r8 package you've received.
    <p>If you have an existing Android SDK directory, simply replace your existing {@code
tools/} directory with the one from the new package and add the {@code platform-tools/}
directory along side it (at the root of the SDK directory).</p></li>
  <li>Unpack the platform package ({@code android-Froyo}) and place it in your SDK's {@code
platforms/} directory.</li>
  <li>If you're using Eclipse, also update your Eclipse plugin using the provided archive file.
    <ol>
      <li>Select <strong>Help > Install new software</strong>.</li>
      <li>Click <strong>Add</strong>.</li>
      <li>Click <strong>Archive</strong>.</li>
      <li>Locate and select the archive file. Click <strong>OK</strong>.
        <p>Developer Tools now appear in the Available Software window and you can proceed
to install the plugin.</p>
      </li>
    </ol>
  </li>
</ol>

<p class="note"><strong>Note:</strong> Beginning with SDK Tools r8 (the version you've received),
the {@code adb} tool is now located in the {@code &lt;sdk&gt;/platform-tools/} directory (instead
of in {@code &lt;sdk&gt;/tools/}). Be sure to update your {@code PATH} environment variable and any
build/debugging scripts you have.</p>



<h2 id="Setup">Set Up Your AVD and Application</h2>

<p>With your SDK now set up, follow these steps to start developing an application for
Honeycomb.</p>

<ol>

  <li>Create a new AVD targeted to "Android Froyo (Preview)" and with a custom skin resolution of
1280 x 800.</li>

  <li>Set the build target of your application to "Android Froyo (Preview)".</li>
  <li>Set your manifest file's {@code &lt;uses-sdk&gt;} element to use {@code
android:minSdkVersion="Froyo"}. For example:
<pre>
&lt;manifest&gt;
    &lt;uses-sdk android:minSdkVersion="Froyo" /&gt;
    ...
&lt;/manifest&gt;
</pre>
<p>"Froyo" is a provisional API Level for the Honeycomb release, used only during the preview
period. When the APIs are
finalized and the SDK is released publicly, you must update this with the appropriate API Level
integer.</p>
<p class="note"><strong>Note:</strong> By providing your {@code &lt;uses-sdk&gt;} element in the
manifest file <em>before</em> the {@code &lt;application&gt;} element, your application will
automatically apply the new Holographic theme.</p>
</li>

</ol>
<p>You should have already been redirected by your browser. Please go to
<a href="{@docRoot}sdk/installing.html">Installing the SDK</a>.</p>
 No newline at end of file
+5 −2
Original line number Diff line number Diff line
sdk.redirect=true

@jd:body

<script type="text/javascript">
  document.location=toRoot+"sdk/requirements.html"
</script>

<p>You should have already been redirected by your browser. Please go to the
<a href="{@docRoot}sdk/requirements.html">SDK System Requirements</a>.</p>
 No newline at end of file
+5 −2
Original line number Diff line number Diff line
sdk.redirect=true

@jd:body

<script type="text/javascript">
  document.location=toRoot+"sdk/index.html"
</script>

<p>You should have already been redirected by your browser. Please go to
<a href="{@docRoot}sdk/index.html">the Android SDK</a>.</p>
 No newline at end of file