From d41ff8e1a4ae67ff01c2bb427949ff317871f7db Mon Sep 17 00:00:00 2001 From: Scott Main Date: Fri, 21 Jan 2011 14:51:33 -0800 Subject: docs: update the honeycomb preview version notes Change-Id: I5364ef351095a23914f75ae109d21cb4d9c09e01 --- docs/html/sdk/android-3.0.jd | 367 ++++++++++++++++++++++++----------------- docs/html/sdk/preview/start.jd | 18 ++ 2 files changed, 232 insertions(+), 153 deletions(-) (limited to 'docs') diff --git a/docs/html/sdk/android-3.0.jd b/docs/html/sdk/android-3.0.jd index 6896f52..00cb225 100644 --- a/docs/html/sdk/android-3.0.jd +++ b/docs/html/sdk/android-3.0.jd @@ -1,4 +1,4 @@ -page.title=Android 3.0 Platform +page.title=Android 3.0 Platform Preview @jd:body
@@ -6,6 +6,7 @@ page.title=Android 3.0 Platform

In this document

    +
  1. Revisions
  2. API Overview
  3. API Level
  4. Built-in Applications
  5. @@ -28,11 +29,17 @@ Differences Report »
-

API Level: Honeycomb

+

API Level: Honeycomb

For developers, the Android 3.0 preview is available as a downloadable component for the -Android SDK. The downloadable platform includes an Android library and system image, as well as a -set of emulator skins and more. The downloadable platform includes no external libraries.

+Android SDK.

+ +

Note: Read the Getting Started guide for important information +about setting up your development environment and limitiations of the Android 3.0 preview.

+ + + @@ -43,8 +50,6 @@ set of emulator skins and more. The downloadable platform includes no external l including new features and changes in the framework API since the previous version.

- -

Fragments

A fragment is a new framework component that allows you to separate distinct elements of an @@ -185,98 +190,63 @@ href="{@docRoot}resources/samples/NotePad/index.html">NotePad sample applica

New APIs now facilitate the ability for your application to implement drag and drop functionality in the UI.

-

To drag a {@link android.view.View} in your activity, call {@link android.view.View#startDrag -startDrag()} on the object, providing a {@link android.content.ClipData} object that represents the -information to drag, a {@link android.view.View.DragShadowBuilder} to facilitate the "shadow" that -the user sees while dragging, and an {@link java.lang.Object} that can share information about the -drag object with views that may receive the object. However,

+

To begin dragging content in your activity, call {@link android.view.View#startDrag startDrag()} +on a {@link android.view.View}, providing a {@link android.content.ClipData} object that represents +the information to drag, a {@link android.view.View.DragShadowBuilder} to facilitate the "shadow" +that the user sees while dragging, and an {@link java.lang.Object} that can share information about +the drag object with views that may receive the object.

To accept a drag object (receive the "drop") in a {@link android.view.View}, register the view with an {@link android.view.View.OnDragListener} by calling {@link android.view.View#setOnDragListener setOnDragListener()}. When a drag event occurs on the view, the system calls {@link android.view.View.OnDragListener#onDrag onDrag()} for the {@link -android.view.View.OnDragListener}, which receives a {@link android.view.DragEvent} describing -the type of event has occurred (such as "drag started", "drag ended", and "drop"). The receiving -view can inquire the event type delivered to {@link -android.view.View#onDragEvent onDragEvent()} by calling {@link -android.view.DragEvent#getAction getAction()} on the {@link android.view.DragEvent}.

- -

Although a drag event may carry a {@link android.content.ClipData} object, drag and drop does -not depend on the clipboard. The data being dragged is sent to the system as {@link -android.content.ClipData} and the system sends it to {@link android.view.View} objects in the -{@link android.view.DragEvent}. A drag and drop operation should never put the dragged data on the -clipboard.

- - - -

Multiple-choice selection for ListView and GridView

- -

New {@link android.widget.AbsListView#CHOICE_MODE_MULTIPLE_MODAL} mode for {@link -android.widget.AbsListView#setChoiceMode setChoiceMode()} allows for selecting multiple items -from a {@link android.widget.ListView} and {@link android.widget.GridView}.

- -

To enable multiple-choice selection, call {@link -android.widget.AbsListView#setChoiceMode setChoiceMode(CHOICE_MODE_MULTIPLE_MODAL)} and register a -{@link android.widget.AbsListView.MultiChoiceModeListener} with {@link -android.widget.AbsListView#setMultiChoiceModeListener setMultiChoiceModeListener()}.

- -

When the user performs a long-press on an item, the Action Bar switches to the Multi-choice -Action Mode. The system notifies the {@link android.widget.AbsListView.MultiChoiceModeListener} -when items are selected by calling {@link -android.widget.AbsListView.MultiChoiceModeListener#onItemCheckedStateChanged -onItemCheckedStateChanged()}.

- -

For an example of multiple-choice selection, see the List15.java -class in the API Demos sample application.

- - - +android.view.View.OnDragListener}, which receives a {@link android.view.DragEvent} describing the +type of event has occurred (such as "drag started", "drag ended", and "drop"). During a drag +operation, there is a stream of drag events, so the system calls {@link +android.view.View.OnDragListener#onDrag onDrag()} repeatedly on the view. The receiving view can +inquire the event type delivered to {@link android.view.View#onDragEvent onDragEvent()} by calling +{@link android.view.DragEvent#getAction getAction()} on the {@link android.view.DragEvent}.

-

Content loaders

- -

New framework APIs facilitate asynchronous loading of data using the {@link -android.content.Loader} class. You can use it in combination with UI components such as views and -fragments to dynamically load data from background threads. The {@link -android.content.CursorLoader} subclass is specially designed to help do so for data queried from -a {@link android.content.ContentResolver}.

+

Although a drag event may carry a {@link android.content.ClipData} object, this is not related +to the system clipboard. The data being dragged is passed as a {@link +android.content.ClipData} object to {@link android.view.View#startDrag startDrag()} and the system +sends it to the receiving {@link android.view.View} in the {@link android.view.DragEvent} sent to +{@link android.view.View.OnDragListener#onDrag onDrag()}. A drag and drop operation should never +put the dragged data in the global system clipboard.

-

Extended app widgets

+

App widgets

App widgets can now be more interactive with scrolling list views, grid views, view flippers, and a new 3D stack widget.

-

Android 3.0 supports several new widget classes for App Widgets, including:

- +

Android 3.0 supports several new widget classes for app widgets, including: {@link +android.widget.GridView}, {@link android.widget.ListView}, {@link android.widget.StackView}, {@link +android.widget.ViewFlipper}, and {@link android.widget.AdapterViewFlipper}.

You can use the new {@link android.widget.RemoteViewsService} to populate the new remote collection views ({@link android.widget.GridView}, {@link android.widget.ListView}, and {@link android.widget.StackView}).

-

You can also use two new {@link android.appwidget.AppWidgetProviderInfo} fields. The {@link +

{@link android.appwidget.AppWidgetProviderInfo} also supports two new fields: {@link +android.appwidget.AppWidgetProviderInfo#autoAdvanceViewId} and {@link +android.appwidget.AppWidgetProviderInfo#previewImage}. The {@link android.appwidget.AppWidgetProviderInfo#autoAdvanceViewId} field lets you specify the view ID of the app widget subview, which is auto-advanced by the app widget’s host. The {@link android.appwidget.AppWidgetProviderInfo#previewImage} field specifies a preview of what the App Widget looks like and is shown to the user from the widget picker. If this field is not supplied, the app widget's icon is used for the preview.

-

Android also provides a new widget preview tool (WidgetPreview), located in the SDK tools. The -tool lets you take a screenshot of your app widget, which you can use to populate the customization -tray.

+

Android also provides a new widget preview tool (WidgetPreview), located in the SDK tools, to +take a screenshot of your app widget, which you can use when specifying the {@link +android.appwidget.AppWidgetProviderInfo#previewImage} field.

-

Extended status bar notifications

+

Status bar notifications

The {@link android.app.Notification} APIs have been extended to support more content-rich status bar notifications, plus a new {@link android.app.Notification.Builder} class allows you to easily @@ -296,9 +266,34 @@ android.app.PendingIntent}s, for more interactive notification widgets -

New animation framework

+

Content loaders

+ +

New framework APIs facilitate asynchronous loading of data using the {@link +android.content.Loader} class. You can use it in combination with UI components such as views and +fragments to dynamically load data from background threads. The {@link +android.content.CursorLoader} subclass is specially designed to help do so for data queried from +a {@link android.content.ContentResolver}.

+ + + + + +

Bluetooth A2DP and headset APIs

+ +

Android now includes APIs for applications to verify the state of connected Bluetooth A2DP and +headset profile devices. You can initialize the respective {@link +android.bluetooth.BluetoothProfile} by calling {@link +android.bluetooth.BluetoothAdapter#getProfileProxy getProfileProxy()} with either the {@link +android.bluetooth.BluetoothProfile#A2DP} or {@link android.bluetooth.BluetoothProfile#HEADSET} +profile constant and a {@link android.bluetooth.BluetoothProfile.ServiceListener} to receive +callbacks when the client is connected or disconnected.

+ + + + +

Animation framework

-

An all new flexible animation framework that allows you to animate the properties of any object +

An all new flexible animation framework allows you to animate the properties of any object (View, Drawable, Fragment, Object, anything). It allows you to define many aspects of an animation, such as:

-

Bluetooth A2DP and headset APIs

- -

Android now includes APIs for applications to verify the state of connected Bluetooth A2DP and -headset profile devices. You can initialize the respective {@link -android.bluetooth.BluetoothProfile} by calling {@link -android.bluetooth.BluetoothAdapter#getProfileProxy getProfileProxy()} with either the {@link -android.bluetooth.BluetoothProfile#A2DP} or {@link android.bluetooth.BluetoothProfile#HEADSET} -profile constant and a {@link android.bluetooth.BluetoothProfile.ServiceListener} to receive -callbacks when the client is connected or disconnected.

-