summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorDirk Dougherty <ddougherty@google.com>2009-08-27 16:26:43 -0700
committerDirk Dougherty <ddougherty@google.com>2009-09-02 19:08:28 -0700
commita6602f1fe4590e48c760f21ce29a92629240c463 (patch)
tree1ddee32c422ea1ec449dad1db53e0231fda6bd0a /docs
parent96b7f921a5aea4264af1e0b4970263a3135c04d0 (diff)
downloadframeworks_base-a6602f1fe4590e48c760f21ce29a92629240c463.zip
frameworks_base-a6602f1fe4590e48c760f21ce29a92629240c463.tar.gz
frameworks_base-a6602f1fe4590e48c760f21ce29a92629240c463.tar.bz2
Add docs for SDK update.
Add redirects for preview files. Manually integrate a few doc changes from cupcake. Change-Id:I524d7dbf929371ee501599229894640660f352ce
Diffstat (limited to 'docs')
-rw-r--r--docs/html/community/index.jd22
-rw-r--r--docs/html/guide/appendix/api-levels.jd372
-rw-r--r--docs/html/guide/developing/eclipse-adt.jd16
-rw-r--r--docs/html/guide/developing/tools/avd.jd94
-rw-r--r--docs/html/guide/developing/tools/emulator.jd78
-rw-r--r--docs/html/guide/publishing/versioning.jd37
-rw-r--r--docs/html/guide/topics/intents/intents-filters.jd418
-rw-r--r--docs/html/images/emulator-wvga800l.pngbin0 -> 513676 bytes
-rw-r--r--docs/html/intl/ja/community/index.jd18
-rw-r--r--docs/html/sdk/1.6_r1/index.jd140
-rw-r--r--docs/html/sdk/1.6_r1/installing.jd441
-rw-r--r--docs/html/sdk/1.6_r1/requirements.jd51
-rw-r--r--docs/html/sdk/1.6_r1/upgrading.jd386
-rw-r--r--docs/html/sdk/RELEASENOTES.jd192
-rw-r--r--docs/html/sdk/adt_download.jd19
-rw-r--r--docs/html/sdk/android-1.6.jd235
-rw-r--r--docs/html/sdk/preview/features.jd4
-rw-r--r--docs/html/sdk/preview/index.jd192
-rw-r--r--docs/html/sdk/preview/installing.jd343
-rw-r--r--docs/html/sdk/preview/requirements.jd44
-rw-r--r--docs/html/sdk/preview/upgrading.jd257
-rw-r--r--docs/html/sdk/sdk_toc.cs2
22 files changed, 2300 insertions, 1061 deletions
diff --git a/docs/html/community/index.jd b/docs/html/community/index.jd
index eb5887a..3e69de4 100644
--- a/docs/html/community/index.jd
+++ b/docs/html/community/index.jd
@@ -3,8 +3,8 @@ page.title=Community
@jd:body
<div id="mainBodyFluid">
- <h1>Community</h1>
- <p>Welcome to the Android developers community! We're glad you're here and invite you to participate in these discussions. Before posting, please read the <a href="http://source.android.com/discuss/android-discussion-groups-charter">Groups Charter</a> that covers the community guidelines.</p>
+<h1>Community</h1>
+<p>Welcome to the Android developers community! We're glad you're here and invite you to participate in these discussions. Before posting, please read the <a href="http://source.android.com/discuss/android-discussion-groups-charter">Groups Charter</a> that covers the community guidelines.</p>
<p class="note"><strong>Note:</strong> If you are seeking discussion about Android source code (not application development),
then please refer to the <a href="http://source.android.com/discuss">Open Source Project Mailing lists</a>.</p>
@@ -53,48 +53,42 @@ phrasing your questions, read <a href="http://www.catb.org/%7Eesr/faqs/smart-que
<li><b>Android beginners</b> - You're new to Android application development. You want to figure out how to get started with the Android SDK and the basic Android APIs? Start here. This list is open to any discussion around beginner-type questions for developers using the SDK; this is a great way to get up and running with your new application on the Android platform. Ask about getting your development environment set up, get help with the first steps of Android development (your first User Interface, your first permission, your first file on the Android filesystem, your first app on the Android Market...). Be sure to check the archives first before asking new questions. Please avoid advanced subjects, which belong on android-developers, and user questions, which will get a better reception on android-discuss.
<ul>
<li>Subscribe using Google Groups:&nbsp;<a href="http://groups.google.com/group/android-beginners">android-beginners</a></li>
-<li>Subscribe via email:&nbsp;<a href="mailto:android-beginners-subscribe@googlegroups.com">android-beginners-subscribe@googlegroups.com</a><a href="mailto:android-platform-subscribe@googlegroups.com">
-</a></li>
+<li>Subscribe via email:&nbsp;<a href="mailto:android-beginners-subscribe@googlegroups.com">android-beginners-subscribe@googlegroups.com</a></li>
</ul>
</li>
<li><b>Android developers</b> - You're now an experienced Android application developer. You've grasped the basics of Android app development, you're comfortable using the SDK, now you want to move to advanced topics. Get help here with troubleshooting applications, advice on implementation, and strategies for improving your application's performance and user experience. This is the not the right place to discuss user issues (use android-discuss for that) or beginner questions with the Android SDK (use android-beginners for that).
<ul>
<li>Subscribe using Google Groups:&nbsp;<a href="http://groups.google.com/group/android-developers">android-developers</a></li>
-<li>Subscribe via email:&nbsp;<a href="mailto:android-developers-subscribe@googlegroups.com">android-developers-subscribe@googlegroups.com</a><a href="mailto:android-platform-subscribe@googlegroups.com">
-</a></li>
+<li>Subscribe via email:&nbsp;<a href="mailto:android-developers-subscribe@googlegroups.com">android-developers-subscribe@googlegroups.com</a></li>
</ul>
</li>
<li><b>Android discuss</b> - The "water cooler" of Android discussion. You can discuss just about anything Android-related here, ideas for the Android platform, announcements about your applications, discussions about Android devices, community resources... As long as your discussion is related to Android, it's on-topic here. However, if you have a discussion here that could belong on another list, you are probably not reaching all of your target audience here and may want to consider shifting to a more targeted list.
<ul>
<li>Subscribe using Google Groups:&nbsp;<a href="http://groups.google.com/group/android-discuss">android-discuss</a></li>
-<li>Subscribe via email:&nbsp;<a href="mailto:android-discuss-subscribe@googlegroups.com">android-discuss-subscribe@googlegroups.com</a><a href="mailto:android-platform-subscribe@googlegroups.com">
- </a></li>
+<li>Subscribe via email:&nbsp;<a href="mailto:android-discuss-subscribe@googlegroups.com">android-discuss-subscribe@googlegroups.com</a></li>
</ul>
</li>
<li><b>Android ndk</b> - A place for discussing the Android NDK and topics related to using native code in Android applications.
<ul>
<li>Subscribe using Google Groups:&nbsp;<a href="http://groups.google.com/group/android-ndk">android-ndk</a></li>
-<li>Subscribe via email:&nbsp;<a href="mailto:android-ndk-subscribe@googlegroups.com">android-ndk-subscribe@googlegroups.com</a><a href="mailto:android-platform-subscribe@googlegroups.com">
- </a></li>
+<li>Subscribe via email:&nbsp;<a href="mailto:android-ndk-subscribe@googlegroups.com">android-ndk-subscribe@googlegroups.com</a></li>
</ul>
</li>
<li><b>Android security discuss</b> - A place for open discussion on secure development, emerging security concerns, and best practices for and by android developers. Please don't disclose vulnerabilities directly on this list, you'd be putting all Android users at risk.
<ul>
<li>Subscribe using Google Groups:&nbsp;<a href="http://groups.google.com/group/android-security-discuss">android-security-discuss</a></li>
-<li>Subscribe via email:&nbsp;<a href="mailto:android-security-discuss@googlegroups.com">android-security-discuss@googlegroups.com</a><a href="mailto:android-platform-subscribe@googlegroups.com">
- </a></li>
+<li>Subscribe via email:&nbsp;<a href="mailto:android-security-discuss@googlegroups.com">android-security-discuss@googlegroups.com</a></li>
</ul>
</li>
<li><b>Android security announce</b> - A low-volume group for security-related announcements by the Android Security Team.
<ul>
<li>Subscribe using Google Groups:&nbsp;<a href="http://groups.google.com/group/android-security-announce">android-security-announce</a></li>
-<li>Subscribe via email:&nbsp;<a href="mailto:android-security-announce-subscribe@googlegroups.com">android-security-announce-subscribe@googlegroups.com</a>
-<a href="mailto:android-platform-subscribe@googlegroups.com"> </a></li>
+<li>Subscribe via email:&nbsp;<a href="mailto:android-security-announce-subscribe@googlegroups.com">android-security-announce-subscribe@googlegroups.com</a></li>
</ul>
</li>
diff --git a/docs/html/guide/appendix/api-levels.jd b/docs/html/guide/appendix/api-levels.jd
index 8fc899b..a4dcc5e 100644
--- a/docs/html/guide/appendix/api-levels.jd
+++ b/docs/html/guide/appendix/api-levels.jd
@@ -1,81 +1,323 @@
page.title=Android API Levels
@jd:body
+<div id="qv-wrapper">
+<div id="qv">
-<p>The Android <em>API Level</em> is an integer that indicates a set of APIs available in an Android SDK
-and on a version of the Android platform. Each version of the Android platform supports a specific set
-of APIs, which are always backward-compatible. For example, Android 1.5 supports all APIs available in
-Android 1.0, but the reverse is not true. If an application uses APIs
-available in Android 1.5 that are not available in 1.0, then the application should never be installed
-on an Android 1.0 device, because it will fail due to missing APIs. The API Level ensures this does not happen
-by comparing the minimum API Level required by the applicaiton to the API Level available on the device.</p>
-
-<p>When a new version of Android adds APIs, a new API Level is added to the platform. The new APIs
-are available only to applications that declare a minimum API Level that is equal-to or greater-than
-the API Level in which the APIs were introduced. The API Level required by an application is declared with the
-<code>&lt;uses-sdk></code> element inside the Android manifest, like this:</p>
-
-<pre>&lt;uses-sdk android:minSdkVersion="3" /></pre>
-
-<p>The value for <code>minSdkVersion</code> is the minimum API Level required by the application.
-If this is not declared, then it is assumed that the application is compatible with all versions and defaults to
-API Level 1. In which case, if the application actually uses APIs introduced with an API Level greater than 1, then
-the application will fail in unpredictable ways when installed on a device that only supports API Level 1
-(such as an Android 1.0 device).
-See the <code><a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html">&lt;uses-sdk></a></code>
-documentation for more about declaring the API Level in your manifest.</p>
-
-<p>For example, the {@link android.appwidget} package was introduced with API Level 3. If your application
-has set <code>minSdkVersion</code> to 1 or 2, then your application cannot use this package,
-even if the device running your application uses a version of Android that supports it.
-In order to use the {@link android.appwidget} package, your application must set <code>minSdkVersion</code>
-to 3 or higher. When the <code>minSdkVersion</code> is set to 3, the application will no longer be able to install
-on a device running a platform version with an API Level less than 3.</p>
-
-<p>Despite the name of the manifest attribute (<code>minSdkVersion</code>), the API Level is not directly
-associated with a specific SDK. For example, the SDK for Android 1.0 uses
-API Level 1 and the SDK for Android 1.1 uses API Level 2. So it may seem that the API Level increases consistently.
-However, it's possible that a subsequent platform
-releases will not introduce new APIs, and thus, the API Level will remain the same. In addition, there are often
-multiple SDK releases for a single platform version (there were three SDK releases for Android 1.5), and
-there's no guarantee that the API Level will remain the same between these. It's possible (but unlikely) that
-a second or third SDK for a given version of the platform will provide new APIs and add a new API Level.
-When you install a new SDK, be sure to read the SDK Contents on the install page, which specifies the API
-Level for each platform available in the SDK. Also see the comparison of
-<a href="#VersionsVsApiLevels">Platform Versions vs. API Levels</a>, below.</p>
-
-<p class="note"><strong>Note:</strong> During an "Early Look" SDK release, the APIs may not be final, so the
-API Level number cannot be specified. In this case, a string value matching the
-platform codename must be used as the value for <code>minSdkVersion</code>. This codename value
-will only be valid while using the Early Look SDK with the emulator. An application using this API Level
-can never be installed on an Android device. When the final SDK is released, you must update your manifest to use
-the official API Level integer.</p>
-
-<h2 id="VersionsVsApiLevels">Platform Versions vs. API Levels</h2>
-
-<p>The following table specifies the <em>maximum</em> API Level supported by each version of the Android platform.
-(Every platform is backward-compatible to API Level 1.)</p>
+ <h2>In this document</h2>
+<ol>
+ <li><a href="intro">What is API Level?</a></li>
+ <li><a href="#uses">Uses of API Level</a></li>
+ <li><a href="#considerations">Development Considerations</a>
+ <ol>
+ <li><a href="#fc">Application forward compatibility</a></li>
+ <li><a href="#bc">Application backward compatibility</a></li>
+ <li><a href="#platform">Selecting a platform version for compiling</a></li>
+ <li><a href="#apilevel">Declaring a minimum API Level</a></li>
+ <li><a href="#testing">Testing against higher API Levels</a></li>
+ </ol>
+ </li>
+ <li><a href="#filtering">Filtering the documentation</a></li>
+</ol>
+
+ <h2>See also</h2>
+ <ol>
+ <li><a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html">&lt;uses-sdk&gt;</a> manifest element</li>
+ </ol>
+
+</div>
+</div>
+
+<p>As you develop your application on Android, it's useful to understand the
+platform's general approach to API change management. It's also important to
+understand the API Level identifier and the role it plays in ensuring your
+application's compatibility with devices on which it may be installed. </p>
+
+<p>The sections below provide information about API Level and how it affects
+your applications. </p>
+
+<p>For information about how to use the "Filter by API Level" control
+available in the API reference documentation, see
+<a href="#filtering">Filtering the documentation</a> at the
+end of this document. </p>
+
+<h2 id="intro">What is API Level?</h2>
+
+<p>API Level is an integer value that uniquely identifies the framework API
+revision offered by a version of the Android platform.</p>
+
+<p>The Android platform provides a framework API that applications can use to
+interact with the underlying Android system. The framework API consists of:</p>
+
+<ul>
+<li>A core set of packages and classes</li>
+<li>A set of XML elements and attributes for declaring a manifest file</li>
+<li>A set of XML elements and attributes for declaring and accessing resources</li>
+<li>A set of Intents</li>
+<li>A set of permissions that applications can request, as well as permission
+enforcements included in the system</li>
+</ul>
+
+<p>Each successive version of the Android platform can include updates to the
+Android application framework API that it delivers. </p>
+
+<p>Updates to the framework API are designed so that the new API remains
+compatible with earlier versions of the API. That is, most changes in the API
+are additive and introduce new or replacement functionality. As parts of the API
+are upgraded, the older replaced parts are deprecated but are not removed, so
+that existing applications can still use them. In a very small number of cases,
+parts of the API may be modified or removed, although typically such changes are
+only needed to ensure API robustness and application or system security. All
+other API parts from earlier revisions are carried forward without
+modification.</p>
+
+<p>The framework API that an Android platform delivers is specified using an
+integer identifier called "API Level". Each Android platform version supports
+exactly one API Level, although support is implicit for all earlier API Levels
+(down to API Level 1). The initial release of the Android platform provided
+API Level 1 and subsequent releases have incremented the API Level.</p>
+
+<p>The following table specifies the API Level supported by each version of the
+Android platform.</p>
<table>
<tr><th>Platform Version</th><th>API Level</th></tr>
- <tr><td>Android 1.0</td><td>1</td></tr>
- <tr><td>Android 1.1</td><td>2</td></tr>
+ <tr><td>Android 1.6</td><td>4</td></tr>
<tr><td>Android 1.5</td><td>3</td></tr>
- <tr><td>Android Donut</td><td>Donut</td></tr>
+ <tr><td>Android 1.1</td><td>2</td></tr>
+ <tr><td>Android 1.0</td><td>1</td></tr>
</table>
-<h2 id="ViewingTheApiReference">Viewing the API Reference Based on API Level</h2>
+<h2 id="uses">Uses of API Level in Android</h2>
+
+<p>The API Level identifier serves a key role in ensuring the best possible
+experience for users and application developers:
+
+<ul>
+<li>It lets the Android platform describe the maximum framework API revision
+that it supports</li>
+<li>It lets applications describe the framework API revision that they
+require</li>
+<li>It lets the system negotiate the installation of applications on the user's
+device, such that version-incompatible applications are not installed on a
+user's device</li>
+</ul>
+
+<p>Each Android platform version stores its API Level identifier internally, in
+the Android system itself. </p>
+
+<p>Applications can use a manifest element provided by the framework API &mdash;
+<code>&lt;uses-sdk&gt;</code> &mdash; to describe the minimum and maximum API
+Levels under which they are able to run, as well as the preferred API Level that
+they are designed to support. The element offers two key attributes:</p>
+
+<ul>
+<li><code>android:minSdkVersion</code> &mdash; Specifies the minimum API Level
+on which the application is able to run. The default value is "1".</li>
+<li><code>android:maxSdkVersion</code> &mdash; Specifies the maximum API Level
+on which the application is able to run.</li>
+</ul>
+
+<p>For example, to specify the minimum system API Level that an application
+requires in order to run, the application would include in its manifest a
+<code>&lt;uses-sdk&gt;</code> element with a <code>android:minSdkVersion</code>
+attribute. The value of <code>android:minSdkVersion</code> would be the integer
+corresponding to the API Level of the earliest version of the Android platform
+under which the application can run. </p>
+
+<p>When the user attempts to install an application, the Android system first
+checks the <code>&lt;uses-sdk&gt;</code> attributes in the application's
+manifest and compares them against its own internal API Level. The system
+allows the installation to begin only if these conditions are met:</p>
+
+<ul>
+<li>If a <code>android:minSdkVersion</code> attribute is declared, its value
+must be less than or equal to the system's API Level integer. If not declared,
+the system assumes that the application requires API Level 1. </li>
+<li>If a <code>android:maxSdkVersion</code> attribute is declared, its value
+must be equal to or greater than the system's API Level integer.
+in the system itself. If not declared, the system assumes that the application
+has no maximum API Level. </li>
+</ul>
+
+<p>When declared in an application's manifest, a <code>&lt;uses-sdk&gt;</code>
+element might look like this: </p>
+
+<pre>&lt;manifest&gt;
+ ...
+ &lt;uses-sdk android:minSdkVersion="4" /&gt;
+ ...
+&lt;/manifest&gt;</pre>
+
+<p>The principal reason that an application would declare an API Level in
+<code>android:minSdkVersion</code> is to tell the Android system that it is
+using APIs that were <em>introduced</em> in the API Level specified. If the
+application were to be somehow installed on a platform with a lower API Level,
+then it would crash at run-time when it tries to access APIs that don't exist.
+The system prevents such an outcome by not allowing the application to be
+installed if the lowest API Level it requires is higher than that of the
+platform version on the target device.</p>
+
+<p>For example, the {@link android.appwidget} package was introduced with API
+Level 3. If an application uses that API, it must declare a
+<code>android:minSdkVersion</code> attribute with a value of "3". The
+application will then be installable on platforms such as Android 1.5 (API Level
+3) and Android 1.6 (API Level 4), but not on the Android 1.1 (API Level 2) and
+Android 1.0 platforms (API Level 1).</p>
+
+<p>For more information about how to specify an application's API Level
+requirements, see the <a
+href="{@docRoot}guide/topics/manifest/uses-sdk-element.html"><code>&lt;uses-sdk&gt;</code></a>
+ section of the manifest file documentation.</p>
+
+
+<h2 id="considerations">Development Considerations</h2>
+
+<p>The sections below provide information related to API level that you should
+consider when developing your application.</p>
+
+<h3 id="fc">Application forward compatibility</h3>
+
+<p>Android applications are generally forward-compatible with new versions of
+the Android platform.</p>
+
+<p>Because almost all changes to the framework API are additive, an Android
+application developed using any given version of the API (as specified by its
+API Level) is forward-compatible with later versions of the Android platform and
+higher API levels. The application should be able to run on all later versions
+of the Android platform, except in isolated cases where the application uses a
+part of the API that is later removed for some reason. </p>
+
+<p>Forward compatibility is important because many Android-powered devices
+receive over-the-air (OTA) system updates. The user may install your
+application and use it successfully, then later receive an OTA update to a new
+version of the Android platform. Once the update is installed, your application
+will run in a new run-time version of the environment, but one that has the API
+and system capabilities that it depends on. </p>
+
+<p>In some cases, changes <em>below</em> the API, such those in the underlying
+system itself, may affect your application when it is run in the new
+environment. For that reason it's important for you, as the application
+developer, to understand how the application will look and behave in each system
+environment. To help you test your application on various versions of the Android
+platform, the Android SDK includes multiple platforms that you can download.
+Each platform includes a compatible system image that you can run in an AVD, to
+test your application. </p>
+
+<h3 id="bc">Application backward compatibility</h3>
+
+<p>Android applications are not necessarily backward compatible with versions of
+the Android platform older than the version against which they were compiled.
+</p>
+
+<p>Each new version of the Android platform can include new framework APIs, such
+as those that give applications access to new platform capabilities or replace
+existing API parts. The new APIs are accessible to applications when running on
+the new platform and, as mentioned above, also when running on later versions of
+the platform, as specified by API Level. Conversely, because earlier versions of
+the platform do not include the new APIs, applications that use the new APIs are
+unable to run on those platforms.</p>
+
+<p>Although it's unlikely that an Android-powered device would be downgraded to
+a previous version of the platform, it's important to realize that there are
+likely to be many devices in the field that run earlier versions of the
+platform. Even among devices that receive OTA updates, some might lag and not
+receive an update for a significant amount of time. </p>
+
+<h3 id="platform">Selecting a platform version and API Level</h3>
+
+<p>When you are developing your application, you will need to choose
+the platform version against which you will compile the application. In
+general, you should compile your application against the lowest possible
+version of the platform that your application can support.
+
+<p>You can determine the lowest possible platform version by compiling the
+application against successively lower build targets. After you determine the
+lowest version, you should create an AVD using the corresponding platform
+version (and API Level) and fully test your application. Make sure to declare a
+<code>android:minSdkVersion</code> attribute in the application's manifest and
+set its value to the API Level of the platform version. </p>
+
+<h3 id="apilevel">Declaring a minimum API Level</h3>
+
+<p>If you build an application that uses APIs or system features introduced in
+the latest platform version, you should set the
+<code>android:minSdkVersion</code> attribute to the API Level of the latest
+platform version. This ensures that users will only be able to install your
+application if their devices are running a compatible version of the Android
+platform. In turn, this ensures that your application can function properly on
+their devices. </p>
+
+<p>If your application uses APIs introduced in the latest platform version but
+does <em>not</em> declare a <code>android:minSdkVersion</code> attribute, then
+it will run properly on devices running the latest version of the platform, but
+<em>not</em> on devices running earlier versions of the platform. In the latter
+case, the application will crash at runtime when it tries to use APIs that don't
+exist on the earlier versions.</p>
+
+<h3 id="testing">Testing against higher API Levels</h3>
+
+<p>After compiling your application, you should make sure to test it on the
+platform specified in the application's <code>android:minSdkVersion</code>
+attribute. To do so, create an AVD that uses the platform version required by
+your application. Additionally, to ensure forward-compatibility, you should run
+and test the application on all platforms that use a higher API Level than that
+used by your application. </p>
+
+<p>The Android SDK includes multiple platform versions that you can use,
+including the latest version, and provides an updater tool that you can use to
+download other platform versions as necessary. </p>
+
+<p>To access the updater, use the <code>android</code> command-line tool,
+located in the &lt;sdk&gt;/tools directory. You can launch the Updater by using
+the <code>android</code> command without specifying any options. You can
+also simply double-click the android.bat (Windows) or android (OS X/Linux) file.
+In ADT, you can also access the updater by selecting
+<strong>Window</strong>&nbsp;>&nbsp;<strong>Android SDK and AVD
+Manager</strong>.</p>
+
+<p>To run your application against different platform versions in the emulator,
+create an AVD for each platform version that you want to test. For more
+information about AVDs, see <a
+href="{@docRoot}guide/developing/tools/avd.html">Android Virtual Devices</a>. If
+you are using a physical device for testing, ensure that you know the API Level
+of the Android platform it runs. See the table at the top of this document for
+a list of platform versions and their API Levels. </p>
+
+<!--
+The Framework API makeup: the API available in a specific platform version is
+made up of API parts introduced in previous versions, plus some parts that are
+new.
+-->
+
+<h2 id="filtering">Filtering the Reference Documentation by API Level</h2>
+
+<p>Reference documentation pages on the Android Developers site offer a "Filter
+by API Level" control in the top-right area of each page. </p>
-<p>The Android API reference includes information that specififies the minimum API Level required for each
-package, class, and member. You can see this information on the right side of each header or label.</p>
+<p>The "Filter by API Level" lets you show documentation only for parts of the
+API that are actually accessible to your application, based on the API Level
+that it specifies in the <code>minSdkVersion</code> attribute in its manifest
+file </p>
-<p>By default, the reference documentation shows all APIs available with the latest SDK release.
-This means that the reference assumes you're using the latest API Level and will show you everything available
-with it. If you're developing applications for a version of Android that does not support the latest API Level,
-then you can filter the reference to reveal only the packages, classes, and members available for that API Level.
-When viewing the reference, use the "Filter by API Level" selection box (below the search box) to pick the API Level
-you'd like to view.</p>
+<p>When you filter the reference documentation by an API level, only the APIs
+available at that API level are shown. APIs introduced in a later API level are
+grayed out and their content is masked, since they would not be accessible to
+your application. </p>
+<p>Note that filtering by API Level in the documentation does not provide a view
+of what is new or introduced in each API Level. Filtering simply provides a way
+to view the entire API associated with a given API Level, while excluding API
+elements introduced in later API Levels.</p>
+<p>By default, API Level filtering is enabled and set to show the latest API
+Level. If you do not want to use filtering reference documentation, select the
+highest available API Level.</p>
+<p>Note that the reference documentation for API elements also specifies the API
+Level at which the element was introduced. The API Level for packages and
+classes is specified as "Since &lt;api level&gt;" at the top-right corner of the
+content area on each documentation page. The API Level for each class member is
+specified in the member's detailed description section header, at the right
+margin. </p>
diff --git a/docs/html/guide/developing/eclipse-adt.jd b/docs/html/guide/developing/eclipse-adt.jd
index a5cf735..c3ec2e5 100644
--- a/docs/html/guide/developing/eclipse-adt.jd
+++ b/docs/html/guide/developing/eclipse-adt.jd
@@ -149,15 +149,15 @@ on running your applicaiton.</p>
<h3 id="CreatingAnAvd">Creating an AVD</h3>
-<p>With ADT 0.9.2 and above, the Android AVD Manager provides a simple graphical interface
+<p>With ADT 0.9.3 and above, the Android SDK and AVD Manager provides a simple graphical interface
for creating and managing AVDs. (If you're using ADT version 0.9.1 or older, you must
use the <code>android</code> tool to create your AVDs&mdash;read the AVD guide to
<a href="{@docRoot}guide/developing/tools/avd.html#creating">Creating an AVD</a>.)
-<p>To create an AVD with the Android AVD Manager:</p>
+<p>To create an AVD with the AVD Manager:</p>
<ol>
- <li>Select <strong>Window > Android AVD Manager</strong>, or click the Android AVD Manager icon (a black device)
+ <li>Select <strong>Window > Android SDK and AVD Manager</strong>, or click the Android SDK and AVD Manager icon (a black device)
in the Eclipse toolbar.</p>
</li>
<li>In the Virtual Devices panel, you'll see a list of existing AVDs. Click <strong>New</strong>
@@ -169,7 +169,7 @@ use the <code>android</code> tool to create your AVDs&mdash;read the AVD guide t
<li>Click <strong>Create AVD</strong>.</li>
</ol>
-<p>Your AVD is now ready and you can close the Android AVD Manager.
+<p>Your AVD is now ready and you can close the AVD Manager.
In the next section, you'll see how the AVD is used
when launching your application on an emulator.</p>
@@ -217,7 +217,7 @@ to start, the emulator options to use, and so on. When you first run a project
as an <em>Android Application</em>, ADT will automatically create a run configuration.
The default run configuration will
launch the default project Activity and use automatic target mode for device selection
-(with no preferred AVD). If the default setting don't suit your project, you can
+(with no preferred AVD). If the default settings don't suit your project, you can
customize the launch configuration or even create a new.</p>
<p>To create or modify a launch configuration, follow these steps as appropriate
@@ -256,6 +256,12 @@ for your Eclipse version:</p>
when selecting an AVD to run your application.
See the following section on <a href=#AutoAndManualModes">Automatic and manual target
modes</a>).</p>
+ <p>You can specify any emulator options to the Additional Emulator Command
+ Line Options field. For example, you could add <code>-scale 96dpi</code> to
+ scale the AVD's screen to an accurate size, based on the dpi of your
+ computer monitor. For a full list of emulator options, see the <a
+ href="{@docRoot}guide/developing/tools/emulator.html">Android Emulator</a>
+document.</p>
</li>
</ol>
diff --git a/docs/html/guide/developing/tools/avd.jd b/docs/html/guide/developing/tools/avd.jd
index b8f205e..06b1245 100644
--- a/docs/html/guide/developing/tools/avd.jd
+++ b/docs/html/guide/developing/tools/avd.jd
@@ -11,6 +11,8 @@ page.title=Android Virtual Devices
hardware options, system image, and data storage.
<li>You create AVD configurations to model different device environments
in the Android emulator.</li>
+ <li>The <code>android</code> tool offers a graphical Android AVD
+ Manager and a command-line interface for creating AVDs.</li>
</ul>
<h2>In this document</h2>
<ol>
@@ -72,9 +74,18 @@ reference of emulator options, please see the <a
href="{@docRoot}guide/developing/tools/emulator.html">Emulator</a>
documentation. </p>
-<p>To create and manage AVDs, you use the android tool provided in the Android
-SDK. For more information about how to work with AVDs from inside
-your development environment, see <a
+<p>To create and manage AVDs, you use the <code>android</code> tool provided in
+the <code>tools/</code> directory of the Android SDK. The tool provides both a
+graphical AVD manager and a command-line interface that you can use to
+create AVDs. To access the graphical AVD manager, run the
+<code>android</code> tool without options. The sections below describe how to
+use the <code>android</code> command-line interface to create and manage AVDs.
+Note that some functionality, such as the capability to create an AVD with a
+custom hardware configuration, are only available through the command-line
+interface. </p>
+
+<p>For more information about how to work with AVDs from inside your development
+environment, see <a
href="{@docRoot}guide/developing/eclipse-adt.html">Developing in Eclipse with
ADT</a> or <a href="{@docRoot}guide/developing/other-ide.html">Developing in
Other IDEs</a>, as appropriate for your environment.</p>
@@ -89,11 +100,11 @@ you need to create an AVD before you can run any application in the emulator
</div>
</div>
-<p>To create an AVD, you use the android tool, a command-line utility
-available in the <code>&lt;sdk&gt;/tools/</code> directory. Managing AVDs is one
-of the two main function of the android tool (the other is creating and updating
-Android projects). Open a terminal window and change to the
-<code>&lt;sdk&gt;/tools/</code> directory, if needed</p>
+<p>To create an AVD, you use the <code>android</code> tool, a command-line
+utility available in the <code>&lt;sdk&gt;/tools/</code> directory. Managing
+AVDs is one of the two main function of the <code>android</code> tool (the other
+is creating and updating Android projects). Open a terminal window and change to
+the <code>&lt;sdk&gt;/tools/</code> directory, if needed</p>
<p>To create each AVD, you issue the command <code>android create avd</code>,
with options that specify a name for the new AVD and the system image you want
@@ -118,11 +129,12 @@ version or that of any SDK add-on. Later, when applications use the AVD, they'll
be running on the system that you specify in the <code>-t</code> argument.<p>
<p>To specify the system image to use, you refer to its <em>target ID</em>
-&mdash; an integer &mdash; as assigned by the android tool. The target ID is not
-derived from the system image name, version, or API Level, or other attribute,
-so you need to have the android tool list the available system images and the
-target ID of each, as described in the next section. You should do this
-<em>before</em> you run the <code>android create avd</code> command.
+&mdash; an integer &mdash; as assigned by the <code>android</code> tool. The
+target ID is not derived from the system image name, version, or API Level, or
+other attribute, so you need to have the <code>android</code> tool list the
+available system images and the target ID of each, as described in the next
+section. You should do this <em>before</em> you run the <code>android create
+avd</code> command.
</p>
<h3 id="listingtargets">Listing targets</h3>
@@ -131,7 +143,7 @@ target ID of each, as described in the next section. You should do this
<pre>android list targets</pre>
-<p>The android tool scans the <code>&lt;sdk&gt;/platforms</code> and
+<p>The <code>android</code> tool scans the <code>&lt;sdk&gt;/platforms</code> and
<code>&lt;sdk&gt;/add-ons</code> directories looking for valid system images and
then generates the list of targets. Here's an example of the command output:
</p>
@@ -199,24 +211,22 @@ system image in the list above): </p>
<pre>android create avd -n my_android1.5 -t 2</pre>
<p>If the target you selected was a standard Android system image ("Type:
-platform"), the android tool next asks you whether you want to create a custom
-hardware profile. </p>
-
+platform"), the <code>android</code> tool next asks you whether you want to
+create a custom hardware profile. </p>
<pre>Android 1.5 is a basic Android platform.
Do you wish to create a custom hardware profile [no]</pre>
<p>If you want to set custom hardware emulation options for the AVD, enter
"yes" and set values as needed. If you want to use the default hardware
emulation options for the AVD, just press the return key (the default is "no").
-The android tool creates the AVD with name and system image mapping you
+The <code>android</code> tool creates the AVD with name and system image mapping you
requested, with the options you specified.
-<p class="note">If you are creating an AVD whose target is an SDK add-on,
-the android tool does not allow you to set hardware emulation options. It
-assumes that the provider of the add-on has set emulation options appropriately
-for the device that the add-on is modeling, and so prevents you from resetting
-the options. </p>
-
+<p class="note">If you are creating an AVD whose target is an SDK add-on, the
+<code>android</code> tool does not allow you to set hardware emulation options.
+It assumes that the provider of the add-on has set emulation options
+appropriately for the device that the add-on is modeling, and so prevents you
+from resetting the options. </p>
<p>For a list of options you can use in the <code>android create avd</code>
command, see the table in <a href="#options">Command-line options for AVDs</a>,
at the bottom of
@@ -225,11 +235,11 @@ this page. </p>
<h3 id="hardwareopts">Setting hardware emulation options</h3>
<p>When are creating a new AVD that uses a standard Android system image ("Type:
-platform"), the android tool lets you set hardware emulation options for virtual
-device. The table below lists the options available and the default values, as
-well as the names of properties that store the emulated hardware options in the AVD's
-configuration file (the config.ini file in the AVD's local directory). </p>
-
+platform"), the <code>android</code> tool lets you set hardware emulation
+options for virtual device. The table below lists the options available and the
+default values, as well as the names of properties that store the emulated
+hardware options in the AVD's configuration file (the config.ini file in the
+AVD's local directory). </p>
<table>
<tr>
@@ -249,7 +259,6 @@ configuration file (the config.ini file in the AVD's local directory). </p>
<td>Whether there is a touch screen or not on the device. Default value is "yes".</td>
<td>hw.touchScreen
-
<tr>
<td>Trackball support </td>
<td>Whether there is a trackball on the device. Default value is "yes".</td>
@@ -339,23 +348,30 @@ configuration file (the config.ini file in the AVD's local directory). </p>
<td>Default value is "66MB".</td>
<td>disk.cachePartition.size </td>
</tr>
+
+<tr>
+<td>Abstracted LCD density</td>
+<td>Sets the generalized density characteristic used by the AVD's screen. Default value is "160".</td>
+<td>hw.lcd.density </td>
+</tr>
+
</table>
<h3 id="location">Default location of the AVD files</h3>
-<p>When you create an AVD, the android tool creates a dedicated directory for it
+<p>When you create an AVD, the <code>android</code> tool creates a dedicated directory for it
on your development computer. The directory contains the AVD configuration file,
the user data image and SD card image (if available), and any other files
associated with the device. Note that the directory does not contain a system
image &mdash; instead, the AVD configuration file contains a mapping to the
system image, which it loads when the AVD is launched. </p>
-<p>The android tool also creates a &lt;AVD name&gt;.ini file for the AVD at the
+<p>The <code>android</code> tool also creates a &lt;AVD name&gt;.ini file for the AVD at the
root of the .android/avd directory on your computer. The file specifies the
location of the AVD directory and always remains at the root the .android
directory.</p>
-<p>By default, the android tool creates the AVD directory inside
+<p>By default, the <code>android</code> tool creates the AVD directory inside
<code>~/.android/avd/</code> (on Linux/Mac), <code>C:\Documents and
Settings\&lt;user&gt;\.android\</code> on Windows XP, and
<code>C:\Users\&lt;user&gt;\.android\</code> on Windows Vista.
@@ -396,18 +412,18 @@ Error: Invalid value in image.sysdir. Run 'android update avd -n foo' </pre>
<h3 id="deleting">Deleting an AVD</h3>
-<p>You can use the android tool to delete an AVD. Here is the command usage:</p>
+<p>You can use the <code>android</code> tool to delete an AVD. Here is the command usage:</p>
<pre>android delete avd -n &lt;name&gt; </pre>
-<p>When you issue the command, the android tool looks for an AVD matching the
+<p>When you issue the command, the <code>android</code> tool looks for an AVD matching the
specified name deletes the AVD's directory and files. </p>
<h2 id="options">Command-line options for AVDs</h2>
<p>The table below lists the command-line options you can use with the
-android tool. </p>
+<code>android</code> tool. </p>
<table>
@@ -448,9 +464,9 @@ android tool. </p>
<td><code>-f</code></td>
<td>Force creation of the AVD</td>
<td>By default, if the name of the AVD being created matches that of an
- existing AVD, the android tool will not create the new AVD or overwrite
+ existing AVD, the <code>android</code> tool will not create the new AVD or overwrite
the existing AVD. If you specify the <code>-f</code> option, however, the
- android tool will automatically overwrite any existing AVD that has the
+ <code>android</code> tool will automatically overwrite any existing AVD that has the
same name as the new AVD. The files and data of the existing AVD are
deleted. </td>
</tr>
@@ -465,7 +481,7 @@ files.</td>
<td><code>-s &lt;name&gt;</code> or <br>
<code>-s &lt;width&gt;-&lt;height&gt;</code> </td>
<td>The skin to use for this AVD, identified by name or dimensions.</td>
- <td>The android tool scans for a matching skin by name or dimension in the
+ <td>The <code>android</code> tool scans for a matching skin by name or dimension in the
<code>skins/</code> directory of the target referenced in the <code>-t
&lt;targetID&gt;</code> argument. Example: <code>-s HVGA-L</code></td>
</tr>
diff --git a/docs/html/guide/developing/tools/emulator.jd b/docs/html/guide/developing/tools/emulator.jd
index 82d3c8d..a9b6914 100644
--- a/docs/html/guide/developing/tools/emulator.jd
+++ b/docs/html/guide/developing/tools/emulator.jd
@@ -1,7 +1,7 @@
page.title=Android Emulator
@jd:body
-<img src="{@docRoot}images/emulator-hvga-p.png" alt="Image of the Android Emulator" width="271" height="524" style="margin-left:0em;margin-top:-4em;float:right;"/>
+<div style="padding:1em;"><img src="/images/emulator-wvga800l.png" alt="Image of the Android Emulator" width="367" height="349" style="margin-left:2em;margin-top:-4em;float:right;"/></div>
<p>The Android SDK includes a mobile device emulator -- a virtual mobile device
that runs on your computer. The emulator lets you prototype, develop, and test
@@ -27,9 +27,13 @@ from which you can log kernel output, simulate application interrupts (such as
arriving SMS messages or phone calls), and simulate latency effects and dropouts
on the data channel.</p>
-<div class="inline-toc" style="whitespace:nowrap;">
-<h4>In this document:</h4>
-<div class="g-unit g-first" style="whitespace:nowrap;width:35%;">
+<table>
+<tr>
+<td colspan="2" style="border:0;"><strong>In this document:</strong></td>
+</tr>
+<tr>
+<td style="border:0;">
+
<ol class="toc">
<li><a href="#overview">Overview</a></li>
<li><a href="#starting">Starting and Stopping the Emulator</a></li>
@@ -53,9 +57,9 @@ on the data channel.</p>
<li><a href="#calling">Sending a Voice Call or SMS to Another Emulator Instance</a></li>
</ol></li>
</ol>
-</div>
+</td>
-<div class="g-unit" style="whitespace:nowrap;">
+<td style="border:0;">
<ol class="toc">
<li><a href="#console">Using the Emulator Console</a>
<ol class="toc">
@@ -85,9 +89,9 @@ on the data channel.</p>
<li><a href="#troubleshooting">Troubleshooting Emulator Problems</a></li>
<li><a href="#limitations">Emulator Limitations</a></li>
</ol>
-</div>
+</td>
-</div>
+</table>
<a name="overview"></a>
@@ -260,11 +264,11 @@ the keys of your keyboard. </p>
</tr>
<tr>
<td>Switch to previous layout orientation (for example, portrait, landscape)</td>
- <td>KEYPAD_7, F11</td>
+ <td>KEYPAD_7, Ctrl-F11</td>
</tr>
<tr>
<td>Switch to next layout orientation (for example, portrait, landscape)</td>
- <td>KEYPAD_9, F12</td>
+ <td>KEYPAD_9, Ctrl-F12</td>
</tr>
<tr>
<td>Toggle cell networking on/off</td>
@@ -721,19 +725,19 @@ scale in direct relationship with &lt;delay&gt; values.</p>
</tr>
<tr>
<td><code>-skin &lt;skinID&gt;</code></td>
- <td>Start the emulator with the specified skin. </td>
- <td>The standard Android platforms includes a <a href="#skins">choice of
- four skins</a>:<br />
- <li>HVGA-L (480x320, landscape)</li>
- <li>HVGA-P (320x480, portrait) (default) </li>
- <li>QVGA-L (320x240, landscape)</li>
- <li>QVGA-P (240x320, portrait) </li>
+ <td>This emulator option is deprecated. </td>
+ <td>Please set skin options using AVDs, rather than by using this emulator
+option. Using this option may yield unexpected and in some cases misleading
+results, since the density with which to render the skin may not be defined.
+AVDs let you associate each skin with a default density and override the default
+as needed. For more information, see <a
+href="{@docRoot}guide/developing/tools/avd.html">Android Virtual Devices</a>.
</td>
</tr>
<tr>
<td><code>-skindir &lt;dir&gt;</code></td>
- <td>Search for emulator skins in &lt;dir&gt;. </td>
- <td>&nbsp;</td></tr>
+ <td>This emulator option is deprecated. </td>
+ <td>See comments for <code>-skin</code>, above.</td></tr>
</table>
<a name="diskimages"></a>
@@ -1636,41 +1640,9 @@ kilobits/sec):</p>
<h2>Using Emulator Skins</h2>
-<p>You can run the emulator with any of four default skins, as described in the table below. To specify a skin, use <code>-skin &lt;skinID&gt;</code> when starting the emulator. </p>
-
-<p>For example: </p>
-
-<pre>emulator -skin HVGA-L</pre>
+<p>The Android SDK includes several Emulator skins that you can use to control the resolution and density of the emulated device's screen. To select a specific skin for running the emulator, create an AVD that uses that skin. Please do not use deprecated emulator options such as <code>-skin</code> to control the skin used by an emulator instance. For more information about AVDs, see <a
+href="{@docRoot}guide/developing/tools/avd.html">Android Virtual Devices</a>. </p>
-<p>Note that you must enter the <code>&lt;skinID&gt;</code> in uppercase letters (if your development computer is case-sensitive).</p>
-
-<table border="0" style="clear:left;padding:2em;">
- <tr>
- <th width="20%">skinID</th>
- <th >Description</th>
- <th >Skin</th>
- </tr>
- <tr>
- <td><code>HVGA-L</code></td>
- <td>480x320, landscape</td>
- <td><img src="{@docRoot}images/e-mini-hvga-l.png" width="219" height="113"></td>
- </tr>
- <tr>
- <td><code>HVGA-P</code></td>
- <td>320x480, portrait (default)</td>
- <td><img src="{@docRoot}images/e-mini-hvga-p.png" width="113" height="219"></td>
- </tr>
- <tr>
- <td><code>QVGA-L</code></td>
- <td>320x240, landscape</td>
- <td><img src="{@docRoot}images/e-mini-qvga-l.png" width="119" height="197"></td>
- </tr>
- <tr>
- <td><code>QVGA-P</code></td>
- <td>240x320, portrait</td>
- <td><img src="{@docRoot}images/e-mini-qvga-p.png" width="95" height="173"></td>
- </tr>
-</table>
<a name="multipleinstances"></a>
diff --git a/docs/html/guide/publishing/versioning.jd b/docs/html/guide/publishing/versioning.jd
index d0eafcd..8d8b304 100644
--- a/docs/html/guide/publishing/versioning.jd
+++ b/docs/html/guide/publishing/versioning.jd
@@ -17,7 +17,7 @@ page.title=Versioning Your Applications
<ol>
<li><a href="#appversion">Setting Application Version</a></li>
-<li><a href="#minsdkversion">Specifying Minimum System API Version</a>
+<li><a href="#minsdkversion">Specifying Your Application's System API Requirements</a>
</ol>
@@ -125,31 +125,44 @@ applications use the
{@link android.content.pm.PackageManager#getPackageInfo(java.lang.String, int)}
method of {@link android.content.pm.PackageManager PackageManager}. </p>
-<h2 id="minsdkversion">Specifying Minimum System API Version</h2>
+<h2 id="minsdkversion">Specifying Your Application's System API Requirements</h2>
<p>If your application requires a specific minimum version of the Android
-platform, you can specify that version as an API Level identifier
+platform, or is designed only to support a certain range of Android platform
+versions, you can specify those version requirements as API Level identifiers
in the application's manifest file. Doing so ensures that your
application can only be installed on devices that
are running a compatible version of the Android system. </p>
-<p>To specify the minimum system version in the manifest, use this attribute: </p>
+<p>To specify API Level requirements, add a <code>&lt;uses-sdk&gt;</code>
+element in the application's manifest, with one or more of these attributes: </p>
<ul>
-<li><code>android:minSdkVersion</code> &mdash; An integer value corresponding to
-the code version of the Android platform.
-<p>When preparing to install an application, the system checks the value of this
+<li><code>android:minSdkVersion</code> &mdash; The minimum version
+of the Android platform on which the application will run, specified
+by the platform's API Level identifier. </li>
+<li><code>android:maxSdkVersion</code> &mdash; The maximum version
+of the Android platform on which the application is designed to run,
+specified by the platform's API Level identifier. </li>
+</ul>
+
+<p>When preparing to install your application, the system checks the value of this
attribute and compares it to the system version. If the
<code>android:minSdkVersion</code> value is greater than the system version, the
-system aborts the installation of the application. </p>
+system aborts the installation of the application. Similarly, the system
+installs your application only if its <code>android:maxSdkVersion</code>
+is compatible with the platform version.</p>
-<p>If you do not specify this attribute in your manifest, the system assumes
-that your application is compatible with all platform versions.</p></li>
-</ul>
+<p>If you do not specify these attributes in your manifest, the system assumes
+that your application is compatible with all platform versions, with no
+maximum API Level. </p>
<p>To specify a minimum platform version for your application, add a
<code>&lt;uses-sdk&gt;</code> element as a child of
<code>&lt;manifest&gt;</code>, then define the
<code>android:minSdkVersion</code> as an attribute. </p>
-<p>For more information, also see the <a href="{@docRoot}sdk/android-1.1.html">Android System Image 1.1 Version Notes</a>.</p>
+<p>For more information, see the <a
+href="{@docRoot}guide/developing/manifest/uses-sdk-element.html"><code>&lt;uses-
+sdk&gt;</code></a> manifest element documentation and the <a
+href="{@docRoot}guide/appendix/api-levels.htmll">API Levels</a> document.</p>
diff --git a/docs/html/guide/topics/intents/intents-filters.jd b/docs/html/guide/topics/intents/intents-filters.jd
index fd20ca1..962a001 100644
--- a/docs/html/guide/topics/intents/intents-filters.jd
+++ b/docs/html/guide/topics/intents/intents-filters.jd
@@ -16,10 +16,11 @@ page.title=Intents and Intent Filters
<h2>In this document</h2>
<ol>
<li><a href="#iobjs">Intent Objects</a></li>
-<li><a href="#ires">Intent Resolution</a>, including:</li>
+<li><a href="#ires">Intent Resolution</a></li>
<li style="margin-left: 2em"><a href="#ifs">Intent filters</a></li>
<li style="margin-left: 2em"><a href="#ccases">Common cases</a></li>
<li style="margin-left: 2em"><a href="#imatch">Using intent matching</a></li>
+<li><a href="#npex">Note Pad Example</a></li>
</ol>
</div>
</div>
@@ -31,7 +32,7 @@ broadcast receivers &mdash; are activated through messages, called <i>intents</i
Intent messaging is a facility for late run-time binding between components in the same
or different applications. The intent itself, an {@link android.content.Intent}
object, is a passive data structure holding an abstract description of an operation
-to be performed &mdash; or, in the case of broadcasts, a description of something
+to be performed &mdash; or, often in the case of broadcasts, a description of something
that has happened and is being announced. There are separate mechanisms for
delivering intents to each type of component:
</p>
@@ -40,7 +41,9 @@ delivering intents to each type of component:
<li>An Intent object is passed to <code>{@link android.content.Context#startActivity
Context.startActivity()}</code> or <code>{@link android.app.Activity#startActivityForResult
Activity.startActivityForResult()}</code> to launch an activity or get an existing
-activity to do something new.</li>
+activity to do something new. (It can also be passed to
+<code>{@link android.app.Activity#setResult(int, Intent) Activity.setResult()}</code>
+to return information to the activity that called {@code startActivityForResult()}.)</li>
<li><p>An Intent object is passed to <code>{@link android.content.Context#startService
Context.startService()}</code> to initiate a service or deliver new instructions to an
@@ -380,22 +383,12 @@ component's filters.
<p>
A component has separate filters for each job it can do, each face it can
-present to the user. For example, the principal activity of the sample
-NotePad application has three filters &mdash; one for starting up with a
-blank slate, another for starting with an assigned directory of notes
-that the user can view, edit, or select from, and a third for finding a
-particular note without an initial specification of its directory.
-</p>
-
-<p>
-An intent filter is an instance of the {@link android.content.IntentFilter} class.
-However, since the Android system must know about the capabilities of a component
-before it can launch that component, intent filters are generally not set up in
-Java code, but in the application's manifest file (AndroidManifest.xml) as
-{@code &lt;intent-filter&gt;} elements. (The one exception would be filters for
-broadcast receivers that are registered dynamically by calling <code>{@link android.content.Context#registerReceiver(BroadcastReceiver, IntentFilter, String,
-Handler) Context.registerReceiver()}</code>; they are directly created as
-IntentFilter objects.)
+present to the user. For example, the NoteEditor activity of the sample
+Note Pad application has two filters &mdash; one for starting up with a
+specific note that the user can view or edit, and another for starting
+with a new, blank note that the user can fill in and save. (All of Note
+Pad's filters are described in the <a href="#npex">Note Pad Example</a>
+section, later.)
</p>
<div class="sidebox-wrapper">
@@ -413,6 +406,18 @@ name the component as the target.
</div>
<p>
+An intent filter is an instance of the {@link android.content.IntentFilter} class.
+However, since the Android system must know about the capabilities of a component
+before it can launch that component, intent filters are generally not set up in
+Java code, but in the application's manifest file (AndroidManifest.xml) as
+<code><a href="{@docRoot}guide/topics/manifest/intent-filter-element.html">&lt;intent-filter&gt;</a></code>
+elements. (The one exception would be filters for
+broadcast receivers that are registered dynamically by calling <code>{@link android.content.Context#registerReceiver(BroadcastReceiver, IntentFilter, String,
+Handler) Context.registerReceiver()}</code>; they are directly created as
+IntentFilter objects.)
+</p>
+
+<p>
A filter has fields that parallel the action, data, and category fields of an
Intent object. An implicit intent is tested against the filter in all three areas.
To be delivered to the component that owns the filter, it must pass all three tests.
@@ -429,8 +434,11 @@ Each of the three tests is described in detail below:
<dl>
<dt><b>Action test</b></dt>
-<dd>An {@code &lt;intent-filter&gt;} element in the manifest file lists actions
-as {@code &lt;action&gt;} subelements. For example:
+<dd>An
+<code><a href="{@docRoot}guide/topics/manifest/intent-filter-element.html">&lt;intent-filter&gt;</a></code>
+element in the manifest file lists actions as
+<code><a href="{@docRoot}guide/topics/manifest/action-element.html">&lt;action&gt;</a></code>
+subelements. For example:
<pre>&lt;intent-filter . . . &gt;
&lt;action android:name="com.example.project.SHOW_CURRENT" /&gt;
@@ -464,8 +472,9 @@ contains at least one action.</p></li>
</dd>
<dt><b>Category test</b></dt>
-<dd>An {@code &lt;intent-filter&gt;} element also lists categories as subelements.
-For example:
+<dd>An
+<code><a href="{@docRoot}guide/topics/manifest/intent-filter-element.html">&lt;intent-filter&gt;</a></code>
+element also lists categories as subelements. For example:
<pre>&lt;intent-filter . . . &gt;
&lt;category android:name="android.intent.category.DEFAULT" /&gt;
@@ -512,14 +521,16 @@ is contained in a subelement. And, as in those cases, the subelement can appear
multiple times, or not at all. For example:
<pre>&lt;intent-filter . . . &gt;
- &lt;data android:type="video/mpeg" android:scheme="http" . . . /&gt;
- &lt;data android:type="audio/mpeg" android:scheme="http" . . . /&gt;
+ &lt;data android:mimeType="video/mpeg" android:scheme="http" . . . /&gt;
+ &lt;data android:mimeType="audio/mpeg" android:scheme="http" . . . /&gt;
. . .
&lt;/intent-filter&gt;</pre>
<p>
-Each {@code &lt;data&gt;} element can specify a URI and a data type (MIME media type).
-There are separate attributes &mdash; {@code scheme}, {@code host}, {@code port},
+Each
+<code><a href="{@docRoot}guide/topics/manifest/data-element.html">&lt;data&gt;</a></code>
+element can specify a URI and a data type (MIME media type). There are separate
+attributes &mdash; {@code scheme}, {@code host}, {@code port},
and {@code path} &mdash; for each part of the URI:
</p>
@@ -607,7 +618,7 @@ for example, tells Android that the component can get image data from a content
provider and display it:
</p>
-<pre>&lt;data android:type="image/*" /&gt;</pre>
+<pre>&lt;data android:mimeType="image/*" /&gt;</pre>
<p>
Since most available data is dispensed by content providers, filters that
@@ -681,6 +692,357 @@ can respond. There's a similar method,
queryBroadcastReceivers()}, for broadcast receivers.
</p>
+<h2 id="npex">Note Pad Example</h2>
+
+<p>
+The Note Pad sample application enables users to browse through a list
+of notes, view details about individual items in the list, edit the items,
+and add a new item to the list. This section looks at the intent filters
+declared in its manifest file. (If you're working offline in the SDK, you
+can find all the source files for this sample application, including its
+manifest file, at {@code &lt;sdk&gt;/samples/NotePad/index.html}.
+If you're viewing the documentation online, the source files are in the
+<a href="{@docRoot}guide/samples/index.html">Tutorials and Sample Code</a>
+section <a href="{@docRoot}guide/samples/NotePad/index.html">here</a>.)
+</p>
+
+<p>
+In its manifest file, the Note Pad application declares three activities,
+each with at least one intent filter. It also declares a content provider
+that manages the note data. Here is the manifest file in its entirety:
+</p>
+
+<pre>&lt;manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.example.android.notepad"&gt;
+ &lt;application android:icon="@drawable/app_notes"
+ android:label="@string/app_name" &gt;
+
+ &lt;provider android:name="NotePadProvider"
+ android:authorities="com.google.provider.NotePad" /&gt;
+
+ &lt;activity android:name="NotesList" android:label="@string/title_notes_list"&gt;
+ &lt;intent-filter&gt;
+ &lt;action android:name="android.intent.action.MAIN" /&gt;
+ &lt;category android:name="android.intent.category.LAUNCHER" /&gt;
+ &lt;/intent-filter&gt;
+ &lt;intent-filter&gt;
+ &lt;action android:name="android.intent.action.VIEW" /&gt;
+ &lt;action android:name="android.intent.action.EDIT" /&gt;
+ &lt;action android:name="android.intent.action.PICK" /&gt;
+ &lt;category android:name="android.intent.category.DEFAULT" /&gt;
+ &lt;data android:mimeType="vnd.android.cursor.dir/vnd.google.note" /&gt;
+ &lt;/intent-filter&gt;
+ &lt;intent-filter&gt;
+ &lt;action android:name="android.intent.action.GET_CONTENT" /&gt;
+ &lt;category android:name="android.intent.category.DEFAULT" /&gt;
+ &lt;data android:mimeType="vnd.android.cursor.item/vnd.google.note" /&gt;
+ &lt;/intent-filter&gt;
+ &lt;/activity&gt;
+
+ &lt;activity android:name="NoteEditor"
+ android:theme="@android:style/Theme.Light"
+ android:label="@string/title_note" &gt;
+ &lt;intent-filter android:label="@string/resolve_edit"&gt;
+ &lt;action android:name="android.intent.action.VIEW" /&gt;
+ &lt;action android:name="android.intent.action.EDIT" /&gt;
+ &lt;action android:name="com.android.notepad.action.EDIT_NOTE" /&gt;
+ &lt;category android:name="android.intent.category.DEFAULT" /&gt;
+ &lt;data android:mimeType="vnd.android.cursor.item/vnd.google.note" /&gt;
+ &lt;/intent-filter&gt;
+ &lt;intent-filter&gt;
+ &lt;action android:name="android.intent.action.INSERT" /&gt;
+ &lt;category android:name="android.intent.category.DEFAULT" /&gt;
+ &lt;data android:mimeType="vnd.android.cursor.dir/vnd.google.note" /&gt;
+ &lt;/intent-filter&gt;
+ &lt;/activity&gt;
+
+ &lt;activity android:name="TitleEditor"
+ android:label="@string/title_edit_title"
+ android:theme="@android:style/Theme.Dialog"&gt;
+ &lt;intent-filter android:label="@string/resolve_title"&gt;
+ &lt;action android:name="com.android.notepad.action.EDIT_TITLE" /&gt;
+ &lt;category android:name="android.intent.category.DEFAULT" /&gt;
+ &lt;category android:name="android.intent.category.ALTERNATIVE" /&gt;
+ &lt;category android:name="android.intent.category.SELECTED_ALTERNATIVE" /&gt;
+ &lt;data android:mimeType="vnd.android.cursor.item/vnd.google.note" /&gt;
+ &lt;/intent-filter&gt;
+ &lt;/activity&gt;
+
+ &lt;/application&gt;
+&lt;/manifest&gt;</pre>
+
+<p>
+The first activity, NotesList, is
+distinguished from the other activities by the fact that it operates
+on a directory of notes (the note list) rather than on a single note.
+It would generally serve as the initial user interface into the
+application. It can do three things as described by its three intent
+filters:
+</p>
+
+<ol>
+<li><pre>&lt;intent-filter&gt;
+ &lt;action android:name="android.intent.action.MAIN" /&gt;
+ &lt;category android:name="android.intent.category.LAUNCHER" /&gt;
+&lt;/intent-filter&gt;</pre>
+
+<p>
+This filter declares the main entry point into the Note Pad application.
+The standard {@code MAIN} action is an entry point that does not require
+any other information in the Intent (no data specification, for example),
+and the {@code LAUNCHER} category says that this entry point should be
+listed in the application launcher.
+</p></li>
+
+<li><pre>&lt;intent-filter&gt;
+ &lt;action android:name="android.intent.action.VIEW" /&gt;
+ &lt;action android:name="android.intent.action.EDIT" /&gt;
+ &lt;action android:name="android.intent.action.PICK" /&gt;
+ &lt;category android:name="android.intent.category.DEFAULT" /&gt;
+ &lt;data android:mimeType="vnd.android.cursor.dir/vnd.google.note" /&gt;
+&lt;/intent-filter&gt;</pre>
+
+<p>
+This filter declares the things that the activity can do on a directory
+of notes. It can allow the user to view or edit the directory (via
+the {@code VIEW} and {@code EDIT} actions), or to pick a particular note
+from the directory (via the {@code PICK} action).
+</p>
+
+<p>
+The {@code mimeType} attribute of the
+<code><a href="{@docRoot}guide/topics/manifest/data-element.html">&lt;data&gt;</a></code>
+element specifies the kind of data that these actions operate on. It
+indicates that the activity can get a Cursor over zero or more items
+({@code vnd.android.cursor.dir}) from a content provider that holds
+Note Pad data ({@code vnd.google.note}). The Intent object that launches
+the activity would include a {@code content:} URI specifying the exact
+data of this type that the activity should open.
+</p>
+
+<p>
+Note also the {@code DEFAULT} category supplied in this filter. It's
+there because the <code>{@link android.content.Context#startActivity
+Context.startActivity()}</code> and
+<code>{@link android.app.Activity#startActivityForResult
+Activity.startActivityForResult()}</code> methods treat all intents
+as if they contained the {@code DEFAULT} category &mdash; with just
+two exceptions:
+</p>
+
+<ul>
+<li>Intents that explicitly name the target activity</li>
+<li>Intents consisting of the {@code MAIN} action and {@code LAUNCHER}
+category</li>
+</ul>
+
+<p>
+Therefore, the {@code DEFAULT} category is <em>required</em> for all
+filters &mdash; except for those with the {@code MAIN} action and
+{@code LAUNCHER} category. (Intent filters are not consulted for
+explicit intents.)
+</p></li>
+
+<li><pre>&lt;intent-filter&gt;
+ &lt;action android:name="android.intent.action.GET_CONTENT" /&gt;
+ &lt;category android:name="android.intent.category.DEFAULT" /&gt;
+ &lt;data android:mimeType="vnd.android.cursor.item/vnd.google.note" /&gt;
+&lt;/intent-filter&gt;</pre>
+
+<p>
+This filter describes the activity's ability to return a note selected by
+the user without requiring any specification of the directory the user should
+choose from. The {@code GET_CONTENT} action is similar to the {@code PICK}
+action. In both cases, the activity returns the URI for a note selected by
+the user. (In each case, it's returned to the activity that called
+<code>{@link android.app.Activity#startActivityForResult
+startActivityForResult()}</code> to start the NoteList activity.) Here,
+however, the caller specifies the type of data desired instead of the
+directory of data the user will be picking from.
+</p>
+
+<p>
+The data type, <code>vnd.android.cursor.item/vnd.google.note</code>,
+indicates the type of data the activity can return &mdash; a URI for
+a single note. From the returned URI, the caller can get a Cursor for
+exactly one item ({@code vnd.android.cursor.item}) from the content
+provider that holds Note Pad data ({@code vnd.google.note}).
+</p>
+
+<p>
+In other words, for the {@code PICK} action in the previous filter,
+the data type indicates the type of data the activity could display to the
+user. For the {@code GET_CONTENT} filter, it indicates the type of data
+the activity can return to the caller.
+</p></li>
+</ol>
+
+<p>
+Given these capabilities, the following intents will resolve to the
+NotesList activity:
+</p>
+
+<dl style="margin-left: 2em">
+<dt>action: <code>android.intent.action.MAIN</code></dt>
+<dd>Launches the activity with no data specified.</dd>
+
+<dt>action: <code>android.intent.action.MAIN</code>
+<br/>category: <code>android.intent.category.LAUNCHER</code></dt>
+<dd> Launches the activity with no data selected specified.
+This is the actual intent used by the Launcher to populate its top-level
+list. All activities with filters that match this action and category
+are added to the list.</dd>
+
+<dt>action: <code>android.intent.action.VIEW</code>
+<br/>data: <code>content://com.google.provider.NotePad/notes</code></dt>
+<dd>Asks the activity to display a list of all the notes under
+<code>content://com.google.provider.NotePad/notes</code>. The user can then
+browse through the list and get information about the items in it.</dd>
+
+<dt>action: <code>android.intent.action.PICK</code>
+<br/>data: <code>content://com.google.provider.NotePad/notes</code></dt>
+<dd>Asks the activity to display a list of the notes under
+<code>content://com.google.provider.NotePad/notes</code>.
+The user can then pick a note from the list, and the activity will return
+the URI for that item back to the activity that started the NoteList activity.</dd>
+
+<dt>action: <code>android.intent.action.GET_CONTENT</code>
+<br/>data type: <code>vnd.android.cursor.item/vnd.google.note</code></dt>
+<dd>Asks the activity to supply a single item of Note Pad data.</dd>
+</dl>
+
+<p>
+The second activity, NoteEditor, shows
+users a single note entry and allows them to edit it. It can do two things
+as described by its two intent filters:
+
+<ol>
+<li><pre>&lt;intent-filter android:label="@string/resolve_edit"&gt;
+ &lt;action android:name="android.intent.action.VIEW" /&gt;
+ &lt;action android:name="android.intent.action.EDIT" /&gt;
+ &lt;action android:name="com.android.notepad.action.EDIT_NOTE" /&gt;
+ &lt;category android:name="android.intent.category.DEFAULT" /&gt;
+ &lt;data android:mimeType="vnd.android.cursor.item/vnd.google.note" /&gt;
+&lt;/intent-filter&gt;</pre>
+
+<p>
+The first, primary, purpose of this activity is to enable the user to
+interact with a single note &mdash to either {@code VIEW} the note or
+{@code EDIT} it. (The {@code EDIT_NOTE} category is a synonym for
+{@code EDIT}.) The intent would contain the URI for data matching the
+MIME type <code>vnd.android.cursor.item/vnd.google.note</code> &mdash;
+that is, the URI for a single, specific note. It would typically be a
+URI that was returned by the {@code PICK} or {@code GET_CONTENT}
+actions of the NoteList activity.
+</p>
+
+<p>
+As before, this filter lists the {@code DEFAULT} category so that the
+activity can be launched by intents that don't explicitly specify the
+NoteEditor class.
+</p></li>
+
+<li><pre>&lt;intent-filter&gt;
+ &lt;action android:name="android.intent.action.INSERT" /&gt;
+ &lt;category android:name="android.intent.category.DEFAULT" /&gt;
+ &lt;data android:mimeType="vnd.android.cursor.dir/vnd.google.note" /&gt;
+&lt;/intent-filter&gt;</pre>
+
+<p>
+The secondary purpose of this activity is to enable the user to create a new
+note, which it will {@code INSERT} into an existing directory of notes. The
+intent would contain the URI for data matching the MIME type
+<code>vnd.android.cursor.dir/vnd.google.note</code> &mdash; that
+is, the URI for the directory where the note should be placed.
+</p></li>
+</ol>
+
+<p>
+Given these capabilities, the following intents will resolve to the
+NoteEditor activity:
+</p>
+
+<dl style:"margin-left: 2em">
+<dt>action: <code>android.intent.action.VIEW</code>
+<br/>data: <code>content://com.google.provider.NotePad/notes/<var>ID</var></code></dt>
+<dd>Asks the activity to display the content of the note identified
+by {@code <var>ID</var>}. (For details on how {@code content:} URIs
+specify individual members of a group, see
+<a href="{@docRoot}guide/topics/provider/content-providers.html">Content Providers</a>.)
+
+<dt>action: <code>android.intent.action.EDIT</code>
+<br/>data: <code>content://com.google.provider.NotePad/notes/<var>ID</var></code></dt>
+<dd>Asks the activity to display the content of the note identified
+by {@code <var>ID</var>}, and to let the user edit it. If the user
+saves the changes, the activity updates the data for the note in the
+content provider.</dd>
+
+<dt>action: <code>android.intent.action.INSERT</code>
+<br/>data: <code>content://com.google.provider.NotePad/notes</code></dt>
+<dd>Asks the activity to create a new, empty note in the notes list at
+<code>content://com.google.provider.NotePad/notes</code>
+and allow the user to edit it. If the user saves the note, its URI
+is returned to the caller.
+</dd>
+</dl>
+
+<p>The last activity, TitleEditor,
+enables the user to edit the title of a note. This could be implemented
+by directly invoking the activity (by explicitly setting its component
+name in the Intent), without using an intent filter. But here we take
+the opportunity to show how to publish alternative operations on existing
+data:
+</p>
+
+<pre>&lt;intent-filter android:label="@string/resolve_title"&gt;
+ &lt;action android:name="com.android.notepad.action.EDIT_TITLE" /&gt;
+ &lt;category android:name="android.intent.category.DEFAULT" /&gt;
+ &lt;category android:name="android.intent.category.ALTERNATIVE" /&gt;
+ &lt;category android:name="android.intent.category.SELECTED_ALTERNATIVE" /&gt;
+ &lt;data android:mimeType="vnd.android.cursor.item/vnd.google.note" /&gt;
+&lt;/intent-filter&gt;</pre>
+
+<p>
+The single intent filter for this activity uses a custom action called
+"<code>com.android.notepad.action.EDIT_TITLE</code>". It must be invoked on
+a specific note (data type <code>vnd.android.cursor.item/vnd.google.note</code>),
+like the previous {@code VIEW} and {@code EDIT} actions. However, here the
+activity displays the title contained in the note data, not the content of
+the note itself.
+</p>
+
+<p>
+In addition to supporting the usual {@code DEFAULT} category, the title
+editor also supports two other standard categories:
+<code>{@link android.content.Intent#CATEGORY_ALTERNATIVE ALTERNATIVE}</code>
+and <code>{@link android.content.Intent#CATEGORY_SELECTED_ALTERNATIVE
+SELECTED_ALTERNATIVE}</code>.
+These categories identify activities that can be presented to users in
+a menu of options (much as the {@code LAUNCHER} category identifies
+activities that should be presented to user in the application launcher).
+Note that the filter also supplies an explicit label (via
+<code>android:label="@string/resolve_title"</code>) to better control
+what users see when presented with this activity as an alternative
+action to the data they are currently viewing. (For more information
+on these categories and building options menus, see the
+<code>{@link android.content.pm.PackageManager#queryIntentActivityOptions
+PackageManager.queryIntentActivityOptions()}</code> and
+<code>{@link android.view.Menu#addIntentOptions Menu.addIntentOptions()}</code>
+methods.)
+</p>
+
+<p>
+Given these capabilities, the following intent will resolve to the
+TitleEditor activity:
+</p>
+
+<dl style="margin-left: 2em">
+<dt>action: <code>com.android.notepad.action.EDIT_TITLE</code>
+<br/>data: <code>content://com.google.provider.NotePad/notes/<var>ID</var></code></dt>
+<dd>Asks the activity to display the title associated with note <var>ID</var>, and
+allow the user to edit the title.</dd>
+</dl>
+
diff --git a/docs/html/images/emulator-wvga800l.png b/docs/html/images/emulator-wvga800l.png
new file mode 100644
index 0000000..a214033
--- /dev/null
+++ b/docs/html/images/emulator-wvga800l.png
Binary files differ
diff --git a/docs/html/intl/ja/community/index.jd b/docs/html/intl/ja/community/index.jd
index e0a645b..659aee7 100644
--- a/docs/html/intl/ja/community/index.jd
+++ b/docs/html/intl/ja/community/index.jd
@@ -40,38 +40,46 @@ page.title=コミュニティ
<h3 id="ApplicationDeveloperLists">アプリケーション デベロッパー メーリング リスト</h3>
<ul>
+
+<li><b>Android SDK Japan</b> - Android SDK に関する質問と答え、提案とフィードバックを交換できる場です。
+<ul>
+<li>Google グループで登録:&nbsp;<a href="http://groups.google.co.jp/group/android-sdk-japan?hl=ja">android-sdk-japan</a></li>
+<li>メールで登録:&nbsp;<a href="mailto:android-sdk-japan-subscribe@googlegroups.com">android-sdk-japan-subscribe@googlegroups.com</a></li>
+</ul>
+</li>
+
<li><b>Android 初心者向け</b> - Android アプリケーションの開発初心者向けです。Android SDK と基本的な Android API の利用方法について学習したい場合は、このメーリング リストから始めてください。このメーリング リストには、SDK を利用するデベロッパーの初歩的なディスカッションの場所です。Android プラットフォームで初めてアプリケーションを作成して実行する際は、非常に有益な情報を得ることができるでしょう。開発環境のインストール方法についての質問を投稿したり、Android 開発の初歩(初めて作成するユーザー インターフェース、権限、Android ファイルシステムでのファイル、Android マーケットでのアプリケーションなど)について教えてもらうことができます。新たに質問する前に、必ず最初にアーカイブを確認してください。高度な内容の質問の場合はここでは質問せず、android-developers メーリング リストで質問してください。また使用に関する質問は、android-discuss メーリング リストの方が適しています。
<ul>
<li>Google グループで登録:&nbsp;<a href="http://groups.google.com/group/android-beginners?hl=ja">android-beginners</a></li>
-<li>メールで登録:&nbsp;<a href="mailto:android-beginners-subscribe@googlegroups.com">android-beginners-subscribe@googlegroups.com</a><a href="mailto:android-platform-subscribe@googlegroups.com"> </a></li>
+<li>メールで登録:&nbsp;<a href="mailto:android-beginners-subscribe@googlegroups.com">android-beginners-subscribe@googlegroups.com</a></li>
</ul>
</li>
<li><b>Android デベロッパー向け</b> - Android アプリケーション デベロッパーとして経験を積むにつれ、Android アプリケーション開発の基本を把握して、SDK を使いこなせるようになります。今度は、より高度な内容について質問する必要があります。アプリケーションのトラブルシューティング、実装へのアドバイス、アプリケーションのパフォーマンスやユーザー エクスペリエンスを改良するテクニックに関する質問には、次のメーリング リストが役立ちます。使用に関する問題(android-discuss をご利用ください)や、Android SDK を使用する際の初歩的質問(android-beginners をご利用ください)についてのディスカッションの場所ではありません。
<ul>
<li>Google グループで登録:&nbsp;<a href="http://groups.google.com/group/android-developers?hl=ja">android-developers</a></li>
-<li>メールで登録:&nbsp;<a href="mailto:android-developers-subscribe@googlegroups.com">android-developers-subscribe@googlegroups.com</a><a href="mailto:android-platform-subscribe@googlegroups.com"> </a></li>
+<li>メールで登録:&nbsp;<a href="mailto:android-developers-subscribe@googlegroups.com">android-developers-subscribe@googlegroups.com</a></li>
</ul>
</li>
<li><b>Android ディスカッション</b> - Android に関する「井戸端会議」です。ここでは、Android プラットフォームへのアイデア、自分のアプリケーションの公表、Android 携帯端末に関するディスカッション、コミュニティ リソースなど、Android に関することなら何でも投稿可能です。ただし他のメーリング リストに該当する内容の場合は、そのメーリング リストに投稿することをおすすめします。質問のテーマが限定されている場所の方が、より多くの回答を得ることができるでしょう。
<ul>
<li>Google グループで登録:&nbsp;<a href="http://groups.google.com/group/android-discuss?hl=ja">android-discuss</a></li>
-<li>メールで登録:&nbsp;<a href="mailto:android-discuss-subscribe@googlegroups.com">android-discuss-subscribe@googlegroups.com</a><a href="mailto:android-platform-subscribe@googlegroups.com"> </a></li>
+<li>メールで登録:&nbsp;<a href="mailto:android-discuss-subscribe@googlegroups.com">android-discuss-subscribe@googlegroups.com</a></li>
</ul>
</li>
<li><b>Android セキュリティ ディスカッション</b> - 安全な開発、新たに発生したセキュリティの問題、Android デベロッパー向けの Android デベロッパーによるベスト プラクティスについて自由にディスカッションを行える場所です。メーリング リストで脆弱性を直接公開することは、すべての Android ユーザーを危険にさらすことになるので、避けてください。
<ul>
<li>Google グループで登録:&nbsp;<a href="http://groups.google.com/group/android-security-discuss?hl=ja">android-security-discuss</a></li>
-<li>メールで登録:&nbsp;<a href="mailto:android-security-discuss@googlegroups.com">android-security-discuss@googlegroups.com</a><a href="mailto:android-platform-subscribe@googlegroups.com"> </a></li>
+<li>メールで登録:&nbsp;<a href="mailto:android-security-discuss@googlegroups.com">android-security-discuss@googlegroups.com</a></li>
</ul>
</li>
<li><b>Android セキュリティに関する発表</b> - Android セキュリティ チームがセキュリティ関連の発表を行う、小規模なグループです。
<ul>
<li>Google グループで登録:&nbsp;<a href="http://groups.google.com/group/android-security-announce?hl=ja">android-security-announce</a></li>
-<li>メールで登録:&nbsp;<a href="mailto:android-security-announce-subscribe@googlegroups.com">android-security-announce-subscribe@googlegroups.com</a> <a href="mailto:android-platform-subscribe@googlegroups.com"> </a></li>
+<li>メールで登録:&nbsp;<a href="mailto:android-security-announce-subscribe@googlegroups.com">android-security-announce-subscribe@googlegroups.com</a></li>
</ul>
</li>
diff --git a/docs/html/sdk/1.6_r1/index.jd b/docs/html/sdk/1.6_r1/index.jd
new file mode 100644
index 0000000..11d369b
--- /dev/null
+++ b/docs/html/sdk/1.6_r1/index.jd
@@ -0,0 +1,140 @@
+page.title=Android 1.6 SDK, Release 1
+sdk.redirect=0
+sdk.version=1.6
+
+sdk.date=September 2009
+
+sdk.win_download=android-sdk-windows-1.6_r1.zip
+sdk.win_bytes=
+sdk.win_checksum=
+
+sdk.mac_download=android-sdk-mac_x86-1.6_r1.zip
+sdk.mac_bytes=
+sdk.mac_checksum=
+
+sdk.linux_download=android-sdk-linux_x86-1.6_r1.tgz
+sdk.linux_bytes=
+sdk.linux_checksum=
+
+adt.zip_download=ADT-0.9.3.zip
+adt.zip_version=0.9.3
+adt.zip_bytes=
+adt.zip_checksum=
+
+@jd:body
+
+<p>For more information on this SDK release, read the
+<a href="{@docRoot}sdk/RELEASENOTES.html#1.6_r1">Release Notes</a>.</p>
+
+<h2>SDK Contents</h2>
+
+<h4>Development tools</h4>
+
+<p>The SDK includes a full set of tools for developing and debugging application
+code and designing an application UI. You can read about the tools in the <a
+href="{@docRoot}guide/developing/tools/index.html">Dev Guide</a> and access them
+in the <code>&lt;sdk&gt;/tools/</code> directory.
+
+<p>The tools package in this SDK includes updates from those provided in the
+previous SDK. The tools use the same project structure as in the previous SDK
+(Android 1.5). If you have application projects developed in the Android 1.5
+SDK, you can migrate them to the latest SDK without modification. For more
+information about how to migrate, see <a href="upgrading.html">Upgrading the
+SDK</a>.
+
+<h4 id="system_images">Android Platforms</h4>
+
+<p>This SDK includes multiple Android platform versions that you can use to
+develop applications. For each version, both a fully compliant Android library
+and system image are provided. The table below lists the platform versions
+included in this SDK. For more information about a platform version &mdash;
+features, applications included, localizations, API changes, and so on &mdash;
+see its Version Notes. </p>
+
+<table style="margin-right:1em;" width="80%">
+<tr>
+<th><nobr>Platform</nobr></th><th><nobr>API
+Level</nobr></th><th>Notes</th><th>Description</th>
+</tr>
+<tr>
+<td width="5%"><nobr>Android 1.6</nobr></td>
+<td width="5%">4</td>
+<td width="5%"><nobr><a href="{@docRoot}sdk/android-1.6.html">Version
+Notes</a></nobr></td>
+<td>Includes a standard Android 1.6 library and system image with a set of
+development applications. Does not include any external libraries (such as the
+Maps external library).</td>
+</tr>
+<tr>
+<td width="5%"><nobr>Android 1.5</nobr></td>
+<td width="5%">3</td>
+<td width="5%"><nobr><a href="{@docRoot}sdk/android-1.5.html">Version
+Notes</a></nobr></td>
+<td>Includes a standard Android 1.5 library and system image with a set of
+development applications. Does not include any external libraries (such as the
+Maps external library).</td>
+</tr>
+</table>
+
+<p>Note that you can use the Android SDK and AVD Manager to download other
+platform versions into your development environment.</span>.
+
+<h4 id="system_images">SDK Add-Ons</h4>
+
+<p>An SDK add-on provides a development environment for an Android external
+library or a customized (but fully compliant) Android system image. This SDK
+includes the SDK add-ons listed below. The Android system API Level required by
+the add-ons are noted.</p>
+
+<table style="margin-right:1em;" width="80%">
+<tr>
+<th><nobr>Add-On</nobr></th><th><nobr>API Level</nobr></th>
+<th>Notes</th><th>Description</th>
+</tr>
+<tr>
+<td width="5%"><nobr>Google APIs</nobr></td>
+<td width="5%">4</td>
+<td width="5%">&nbsp;</td>
+<td>Includes the com.google.android.maps external library, a compliant
+Android 1.6 system image, a {@link android.location.Geocoder Geocoder}
+backend service implementation, documentation, and sample code. </td>
+</tr>
+<tr>
+<td width="5%"><nobr>Google APIs</nobr></td>
+<td width="5%">3</td>
+<td width="5%">&nbsp;</td>
+<td>Includes the com.google.android.maps external library, a compliant
+Android 1.5 system image, a {@link android.location.Geocoder Geocoder}
+backend service implementation, documentation, and sample code. </td>
+</tr>
+</table>
+
+<h4>Sample Code and Applications</h4>
+
+<p>You can look at a variety of tutorials and samples in the <a
+href="{@docRoot}guide/samples/index.html">Dev Guide</a> and access the sample
+code itself in the <code>&lt;sdk&gt;/platforms/&lt;platform&gt;/samples/</code>
+directory of the SDK package. Note the new location &mdash; the SDK now includes
+multiple platform versions that you can develop against and each has its own
+sample code directory. </p>
+
+<p>For example, to view or build the samples available for the Android
+1.6 platform (AVD target "Android 1.6"), you will find the samples in the
+<code>&lt;sdk&gt;/platforms/android-1.6/samples/</code> directory of the SDK
+package. </p>
+
+<h4>Documentation</h4>
+
+<p>The SDK package includes a full set of local documentation. To view it, open
+the <code>&lt;sdk&gt;/documentation.html</code> file in a web browser. If you
+are developing in an IDE such as Eclipse, you can also view the reference
+documentation directly in the IDE. </p>
+
+<p>The most current documentation is always available on the Android Developers
+site:</p>
+
+<p style="margin-left:2em;"><a
+href="http://developer.android.com/index.html">http://developer.android.com/</a>
+</p>
+
+
diff --git a/docs/html/sdk/1.6_r1/installing.jd b/docs/html/sdk/1.6_r1/installing.jd
new file mode 100644
index 0000000..954bfa3
--- /dev/null
+++ b/docs/html/sdk/1.6_r1/installing.jd
@@ -0,0 +1,441 @@
+page.title=Installing the Android 1.6 SDK
+sdk.version=1.6
+sdk.preview=0
+
+@jd:body
+
+<div id="qv-wrapper">
+<div id="qv">
+
+ <h2>In this document</h2>
+ <ol>
+ <li><a href="#Preparing">Prepare for Installation</a></li>
+ <li><a href="#Installing">Install the SDK</a></li>
+ <li><a href="#InstallingADT">Install the ADT Plugin for Eclipse</a></li>
+ <li><a href="#sdkContents">SDK Contents</a></li>
+ <li><a href="#NextSteps">Next Steps</a></li>
+ <li><a href="#InstallationNotes">Installation Notes</a></li>
+ <li><a href="#Troubleshooting">Troubleshooting ADT Installation</a></li>
+ </ol>
+
+</div>
+</div>
+
+<p>This page describes how to install the Android SDK and set up your
+development environment.</p>
+
+<p>If you encounter any problems during installation, see the
+<a href="#InstallationNotes">Installation Notes</a> at the bottom of
+this page.</p>
+
+<h4 style="margin-top">Upgrading?</h4>
+<p>If you have already developed applications using an earlier version
+of the Android SDK, please read <a href="upgrading.html">Upgrading the SDK</a>, instead.
+</p>
+
+
+<h2 id="Preparing">Prepare for Installation</h2>
+
+<p>Before you begin, take a moment to confirm that your development machine
+meets the <a href="requirements.html">System Requirements</a>.</p>
+
+<p>If you will be developing on Eclipse with the Android Development
+Tools (ADT) Plugin &mdash; the recommended path if you are new to
+Android &mdash; make sure that you have a suitable version of Eclipse
+installed on your computer (3.4 or newer is recommended). If you need
+to install Eclipse, you can download it from this location: </p>
+
+<p style="margin-left:2em;"><a href=
+"http://www.eclipse.org/downloads/">http://www.eclipse.org/downloads/</a></p>
+
+<p>A Java or RCP version of Eclipse is recommended. </p>
+
+<h2 id="Installing">Install the SDK</h2>
+
+<p>After downloading the Android SDK, unpack the Android SDK .zip archive
+to a suitable location on your machine. By default, the SDK files are unpacked
+into a directory named <code>android_sdk_<em>&lt;platform</em>&gt;_<em>&lt;release&gt;</em></code>. </p>
+
+<p>Make a note of the name and location of the unpacked SDK directory on your system &mdash; you
+will need to refer to the SDK directory later, when setting up the Android plugin or when
+using the SDK tools.</p>
+
+<p>Optionally, you may want to add the location of the SDK's primary <code>tools</code> directory
+to your system <code>PATH</code>. The primary <code>tools/</code> directory is located at the root of the
+SDK folder. Adding <code>tools</code> to your path lets you run Android Debug Bridge (adb) and
+the other command line <a href="{@docRoot}guide/developing/tools/index.html">tools</a> without
+needing to supply the full path to the tools directory. </p>
+<ul>
+ <li>On Linux, edit your <code>~/.bash_profile</code> or <code>~/.bashrc</code> file. Look
+ for a line that sets the PATH environment variable and add the
+ full path to the <code>tools/</code> directory to it. If you don't
+ see a line setting the path, you can add one:</li>
+
+ <ul><code>export PATH=${PATH}:<em>&lt;your_sdk_dir&gt;</em>/tools</code></ul>
+
+ <li>On a Mac, look in your home directory for <code>.bash_profile</code> and
+ proceed as for Linux. You can create the <code>.bash_profile</code> if
+ you haven't already set one up on your machine. </li>
+
+ <li>On Windows, right-click on My Computer, and select Properties.
+ Under the Advanced tab, hit the Environment Variables button, and in the
+ dialog that comes up, double-click on Path (under System Variables). Add the full path to the
+ <code>tools/</code> directory to the path. </li>
+ </ul>
+
+<p>Note that, if you update your SDK in the future, you
+should remember to update your <code>PATH</code> settings to point to the new location, if different.</p>
+
+<p>If you will be using the Eclipse IDE as your development environment,
+the next section describes how to install the Android Development Tools (ADT) plugin and set up Eclipse.
+If you choose not to use Eclipse, you can
+develop Android applications in an IDE of your choice and then compile, debug and deploy using
+the tools included in the SDK (skip to <a href="#NextSteps">Next Steps</a>).</p>
+
+
+<h2 id="InstallingADT">Install the ADT Plugin for Eclipse</h2>
+
+<p>Android offers a custom plugin for the Eclipse IDE, called Android
+Development Tools (ADT), that is designed to give you a powerful,
+integrated environment in which to build Android applications. It
+extends the capabilites of Eclipse to let you quickly set up new Android
+projects, create an application UI, add components based on the Android
+Framework API, debug your applications using the Android SDK tools, and even export
+signed (or unsigned) APKs in order to distribute your application.</p>
+
+<p>In general, using Eclipse with ADT is a highly recommended approach to
+Android development and is the fastest way to get started. (If you prefer to
+work in an IDE other than Eclipse, you do not need to install Eclipse or ADT,
+instead, you can directly use the SDK tools to build and debug your
+application&mdash;skip to <a href="#NextSteps">Next Steps</a>.)</p>
+
+<p>Once you have the Eclipse IDE installed, as described in <a
+href="#Preparing">Preparing for Installation</a>, follow the steps below to
+download the ADT plugin and install it in your respective Eclipse environment.
+</p>
+
+<table style="font-size:100%">
+<tr><th>Eclipse 3.4 (Ganymede)</th><th>Eclipse 3.5 (Galileo)</th></tr>
+<tr>
+<td width="45%">
+<!-- 3.4 steps -->
+<ol>
+ <li>Start Eclipse, then select <strong>Help</strong> &gt; <strong>Software Updates...</strong>.
+ In the dialog that appears, click the <strong>Available Software</strong> tab. </li>
+ <li>Click <strong>Add Site...</strong> </li>
+ <li>In the Add Site dialog that appears, enter this URL in the "Location" field:
+ <pre style="margin-left:0">https://dl-ssl.google.com/android/eclipse/</pre>
+ <p>Note: If you have trouble aqcuiring the plugin, try using "http" in the Location URL,
+ instead of "https" (https is preferred for security reasons).</p>
+ <p>Click <strong>OK</strong>.</p></li>
+ <li>Back in the Available Software view, you should see the plugin listed by the URL,
+ with "Developer Tools" nested within it. Select the checkbox next to
+ Developer Tools and click <strong>Install...</strong></li>
+ <li>On the subsequent Install window, "Android DDMS" and "Android Development Tools"
+ should both be checked. Click <strong>Next</strong>. </li>
+ <li>Read and accept the license agreement, then click <strong>Finish</strong>.</li>
+ <li>Restart Eclipse. </li>
+</ol>
+
+</td>
+<td>
+<!-- 3.5 steps -->
+<ol>
+ <li>Start Eclipse, then select <strong>Help</strong> &gt; <strong>Install
+ New Softare</strong>. </li>
+ <li>In the Available Software dialog, click <strong>Add...</strong>.</li>
+ <li>In the Add Site dialog that appears, enter a name for the remote site
+ (e.g., "Android Plugin") in the "Name" field.
+ <p>In the "Location" field, enter this URL:</p>
+ <pre>https://dl-ssl.google.com/android/eclipse/</pre>
+ <p>Note: If you have trouble aqcuiring the plugin, you can try
+ using "http" in the URL, instead of "https" (https is preferred for
+ security reasons).</p>
+ <p>Click <strong>OK</strong>.</p>
+ </li>
+ <li>Back in the Available Software view, you should now see "Developer
+ Tools" added to the list. Select the checkbox next to Developer Tools,
+ which will automatically select the nested tools Android DDMS and Android
+ Development Tools.
+ Click <strong>Next</strong>. </li>
+ <li>In the resulting Install Details dialog, the Android DDMS and Android
+ Development Tools features are listed. Click <strong>Next</strong> to
+ read and accept the license agreement and install any dependencies,
+ then click <strong>Finish</strong>. </li>
+ <li>Restart Eclipse. </li>
+
+</ol>
+</td>
+</tr>
+</table>
+
+<p>Now modify your Eclipse preferences to point to the Android SDK directory:</p>
+<ol>
+ <li>Select <strong>Window</strong> &gt; <strong>Preferences...</strong> to open the Preferences
+ panel (Mac: <strong>Eclipse</strong> &gt; <strong>Preferences</strong>).</li>
+ <li>Select <strong>Android</strong> from the left panel. </li>
+ <li>For the <em>SDK Location</em> in the main panel, click <strong>Browse...</strong> and
+ locate your downloaded SDK directory. </li>
+ <li>Click <strong>Apply</strong>, then <strong>OK</strong>.</li>
+</ol>
+
+<p>Done! If you haven't encountered any problems, then you're ready to
+begin developing Android applications. See the
+<a href="#NextSteps">Next Steps</a> section for suggestions on how to start. </p>
+
+
+<h2 id="sdkContents">Contents of the SDK</h2>
+
+<p>Once you've downloaded and unpacked the SDK, open the SDK directory
+and take a look at what's inside.
+
+<p>The table below describes the SDK directory contents. </p>
+
+<table>
+<tr>
+<th colspan="3">Name</th><th>Description</th>
+</tr>
+<tr>
+<td colspan="3"><code>add-ons/</code></td>
+<td>Contains add-ons to the Android SDK development
+environment, which let you develop against external libraries that are available on some
+devices. </td>
+</tr>
+<tr>
+<td colspan="3"><code>docs/</code></td>
+<td>A full set of documentation in HTML format, including the Developer's Guide,
+API Reference, and other information.</td>
+</tr>
+<tr>
+<td colspan="3"><code>platforms/</code></td>
+<td>Contains a set of Android platform versions that you can develop
+applications against, each in a separate directory. </td>
+</tr>
+<tr>
+<td style="width:2em;border-bottom-color:white;"></td>
+<td colspan="2"><code>&lt;platform&gt;/</code></td>
+<td>Platform version directory, for example "Android 1.6". All platform version
+directories contain a similar set of files and subdirectory structure.</td>
+</tr>
+
+<tr>
+<td style="width:2em;border-bottom-color:white;">&nbsp;</td>
+<td style="width:2em;border-bottom-color:white;"></td>
+<td><code>data/</code></td>
+<td>Storage area for default fonts and resource definitions.</td>
+</tr>
+<tr>
+<td style="width:2em;border-bottom-color:white;"></td>
+<td style="width:2em;border-bottom-color:white;"></td>
+<td><code>images/</code></td>
+<td>Storage area for default disk images, including the Android system image,
+the default userdata image, the default ramdisk image, and more. The images
+are used in emulator sessions.</td>
+</tr>
+<tr>
+<td style="width:2em;border-bottom-color:white;"></td>
+<td style="width:2em;border-bottom-color:white;"></td>
+<td><code>samples/</code></td>
+<td>Contains a wide variety of sample applications that you can load as projects
+into your development environment, compile, and run on the emulator.</td>
+</tr>
+<tr>
+<td style="width:2em;border-bottom-color:white;"></td>
+<td style="width:2em;border-bottom-color:white;"></td>
+<td><code>skins/</code></td>
+<td>A set of emulator skins available for the platform version. Each skin is
+designed for a specific screen resolution.</td>
+</tr>
+<tr>
+<td style="width:2em;border-bottom-color:white;"></td>
+<td style="width:2em;border-bottom-color:white;"></td>
+<td><code>templates/</code></td>
+<td>Storage area for file templates used by the SDK development tools.</td>
+</tr>
+<tr>
+<td style="width:2em;border-bottom-color:white;"></td>
+<td style="width:2em;border-bottom-color:white;"></td>
+<td><code>tools/</code></td>
+<td>Any development tools that are specific to the platform version.</td>
+</tr>
+<tr>
+<td style="width:2em;"></td>
+<td style="width:2em;"></td>
+<td><code>android.jar</code></td>
+<td>The Android library used when compiling applications against this platform
+version.</td>
+</tr>
+<tr>
+<td colspan="3"><code>tools/</code></td>
+<td>Contains the set of development and profiling tools available to you, such
+as the emulator, the <code>android</code> tool, adb, ddms, and more.</td>
+</tr>
+<tr>
+<td colspan="3"><code>RELEASE_NOTES.html</code></td>
+<td>A file that loads the local version of the SDK release notes, if
+available.</td>
+</tr>
+<tr>
+<td colspan="3"><code>documentation.html</code></td>
+<td>A file that loads the entry page for the local Android SDK
+documentation.</td>
+</tr>
+
+</table>
+
+<h2 id="NextSteps">Next Steps</h2>
+<p>Once you have completed installation, you are ready to
+begin developing applications. Here are a few ways you can get started: </p>
+
+<p><strong>Learn about Android</strong></p>
+<ul>
+ <li>Take a look at the <a href="{@docRoot}guide/index.html">Dev
+ Guide</a> and the types of information it provides</li>
+ <li>Read an introduction to Android as a platform in <a
+ href="{@docRoot}guide/basics/what-is-android.html">What is
+ Android?</a></li>
+ <li>Learn about the Android framework and how applications run on it in
+ <a href="{@docRoot}guide/topics/fundamentals.html">Application
+ Fundamentals</a></li>
+ <li>Take a look at the Android framework API specification in the <a
+ href="{@docRoot}reference/packages.html">Reference</a> tab</li>
+</ul>
+
+<p><strong>Explore the SDK</strong></p>
+<ul>
+ <li>Get an overview of the <a
+ href="{@docRoot}guide/developing/tools/index.html">development
+ tools</a> that are available to you</li>
+ <li>Read how to develop <a
+ href="{@docRoot}guide/developing/eclipse-adt.html">in Eclipse/ADT</a> or
+ <a href="{@docRoot}guide/developing/other-ide.html">in other IDEs</a>
+ </li>
+</ul>
+
+<p><strong>Explore some code</strong></p>
+<ul>
+ <li>Set up a <a href="{@docRoot}guide/tutorials/hello-world.html">Hello
+ World application</a> (highly recommended, especially for Eclipse users)</li>
+ <li>Follow the <a href="{@docRoot}guide/tutorials/notepad/index.html">
+ Notepad Tutorial</a> to build a full Android application </li>
+ <li>Create a new project for one of the other sample applications
+ included in <code><em>&lt;sdk&gt;</em>/platforms/<em>&lt;platform&gt;</em>/samples</code>,
+ then compile and run it in your development environment</li>
+</ul>
+
+<p><strong>Visit the Android developer groups</strong></p>
+<ul>
+ <li>Take a look at the <a
+ href="{@docRoot}community/index.html">Community</a> tab to see a list of
+ Android developers groups. In particular, you might want to look at the
+ <a href="http://groups.google.com/group/android-developers">Android
+ Developers</a> group to get a sense for what the Android developer
+ community is like.</li>
+</ul>
+
+
+<h2 id="InstallationNotes">Installation Notes</h2>
+
+<h3>Ubuntu Linux Notes</h3>
+
+<ul>
+ <li>If you need help installing and configuring Java on your
+ development machine, you might find these resources helpful:
+ <ul>
+ <li><a href="https://help.ubuntu.com/community/Java">https://help.ubuntu.com/community/Java </a></li>
+ <li><a href="https://help.ubuntu.com/community/Java">https://help.ubuntu.com/community/JavaInstallation</a></li>
+ </ul>
+ </li>
+ <li>Here are the steps to install Java and Eclipse, prior to installing
+ the Android SDK and ADT Plugin.
+ <ol>
+ <li>If you are running a 64-bit distribution on your development
+ machine, you need to install the <code>ia32-libs</code> package using
+ <code>apt-get:</code>:
+ <pre>apt-get install ia32-libs</pre>
+ </li>
+ <li>Next, install Java: <pre>apt-get install sun-java6-bin</pre></li>
+ <li>The Ubuntu package manager does not currently offer an Eclipse 3.3
+ version for download, so we recommend that you download Eclipse from
+ eclipse.org (<a
+ href="http://www.eclipse.org/downloads/">http://www.eclipse.org/
+ downloads/</a>). A Java or RCP version of Eclipse is recommended.</li>
+ <li>Follow the steps given in previous sections to install the SDK
+ and the ADT plugin. </li>
+ </ol>
+ </li>
+</ul>
+
+<h3>Other Linux Notes</h3>
+
+<ul>
+ <li>If JDK is already installed on your development computer, please
+ take a moment to make sure that it meets the version requirements listed
+ in the <a href="requirements.html">System Requirements</a>.
+ In particular, note that some Linux distributions may include JDK 1.4 or Gnu
+ Compiler for Java, both of which are not supported for Android development.</li>
+</ul>
+
+
+<h2 id="Troubleshooting">Troubleshooting ADT Installation</h2>
+
+<p> If you are having trouble downloading the ADT plugin after following the
+steps above, here are some suggestions: </p>
+
+<ul>
+ <li>If Eclipse can not find the remote update site containing the ADT plugin,
+try changing the remote site URL to use http, rather than https. That is, set
+the Location for the remote site to:
+<pre>http://dl-ssl.google.com/android/eclipse/</pre></li>
+<li>If you are behind a firewall (such as a corporate firewall), make sure that
+you have properly configured your proxy settings in Eclipse. In Eclipse 3.3/3.4,
+you can configure proxy information from the main Eclipse menu in
+<strong>Window</strong> (on Mac, <strong>Eclipse</strong>) &gt;
+<strong>Preferences</strong> &gt; <strong>General</strong> &gt; <strong>Network
+Connections</strong>.</li>
+</ul>
+
+<p> If you are still unable to use Eclipse to download the ADT plugin as a
+remote update site, you can download the ADT zip file to your local machine and
+manually install it:</p>
+
+<ol>
+ <li><a href="http://developer.android.com/sdk/preview/index.html">Download the
+ ADT Plugin zip file</a> (do not unpack it).</li>
+ <li>Follow steps 1 and 2 in the <a href="#InstallingADT">default install
+ instructions</a> (above).</li>
+ <li>In the Add Site dialog, click <strong>Archive</strong>.</li>
+ <li>Browse and select the downloaded zip file.</li>
+ <li>In Eclipse 3.5 only, enter a name for the local update site (e.g.,
+ "Android Plugin") in the "Name" field.</li>
+ <li>Click <strong>OK</strong>.
+ <li>Follow the remaining procedures as listed for
+ <a href="#InstallingADT">default installation</a> above,
+ starting from step 4.</li>
+</ol>
+
+<p>To update your plugin once you've installed using the zip file, you will have
+to follow these steps again instead of the default update instructions.</p>
+
+<h4>Other install errors</h4>
+
+<p>Note that there are features of ADT that require some optional
+Eclipse components (for example, WST). If you encounter an error when
+installing ADT, your Eclipse installion might not include these components.
+For information about how to quickly add the necessary components to your
+Eclipse installation, see the troubleshooting topic
+<a href="{@docRoot}guide/appendix/faq/troubleshooting.html#installeclipsecomponents">ADT
+Installation Error: "requires plug-in org.eclipse.wst.sse.ui"</a>.</p>
+
+<h4>For Linux users</h4>
+<p>If you encounter this error when installing the ADT Plugin for Eclipse:
+<pre>
+An error occurred during provisioning.
+Cannot connect to keystore.
+JKS</pre>
+<p>
+...then your development machine lacks a suitable Java VM. Installing Sun
+Java 6 will resolve this issue and you can then reinstall the ADT
+Plugin.</p>
+
+
diff --git a/docs/html/sdk/1.6_r1/requirements.jd b/docs/html/sdk/1.6_r1/requirements.jd
new file mode 100644
index 0000000..781ee32
--- /dev/null
+++ b/docs/html/sdk/1.6_r1/requirements.jd
@@ -0,0 +1,51 @@
+page.title=System Requirements
+sdk.version=1.6
+sdk.preview=0
+@jd:body
+
+<p>The sections below describe the system and software requirements for developing
+Android applications using the Android SDK tools included in Android
+<?cs var:sdk.version ?> SDK<?cs if:sdk.rel.id ?>, Release <?cs var:sdk.rel.id ?><?cs /if ?>. </p>
+
+<h3>Supported Operating Systems</h3>
+<ul>
+ <li>Windows XP (32-bit) or Vista (32- or 64-bit)</li>
+ <li>Mac OS X 10.4.8 or later (x86 only)</li>
+ <li>Linux (tested on Linux Ubuntu Dapper Drake)</li>
+</ul>
+
+<h3>Supported Development Environments</h3>
+<ul>
+ <li>Eclipse IDE
+ <ul>
+ <li><a href="http://www.eclipse.org/downloads/">Eclipse</a> 3.4 (Ganymede) or 3.5 (Galileo)
+ <ul>
+ <li>Note: Eclipse 3.3 has not been fully tested with ADT 0.9.3 and support can no longer be guaranteed. We suggest you upgrade to
+ Eclipse 3.4 or 3.5.</li>
+ <li>Recommended Eclipse IDE packages: Eclipse IDE for Java EE Developers, Eclipse IDE for Java Developers, Eclipse for RCP/Plug-in Developers</li>
+ <li>Eclipse <a href="http://www.eclipse.org/jdt">JDT</a> plugin (included in most Eclipse IDE packages) </li>
+ <li>Eclipse Classic IDE package is not supported.</li>
+ </ul>
+ </li>
+ <li><a href="http://java.sun.com/javase/downloads/index.jsp">JDK 5 or JDK 6</a> (JRE alone is not sufficient)</li>
+ <li><a href="installing.html#installingplugin">Android Development Tools plugin</a> (optional)</li>
+ <li><strong>Not</strong> compatible with Gnu Compiler for Java (gcj)</li>
+ </ul>
+ </li>
+ <li>Other development environments or IDEs
+ <ul>
+ <li><a href="http://java.sun.com/javase/downloads/index.jsp">JDK 5 or JDK 6</a> (JRE alone is not sufficient)</li>
+ <li><a href="http://ant.apache.org/">Apache Ant</a> 1.6.5 or later for Linux and Mac, 1.7 or later for Windows</li>
+ <li><strong>Not</strong> compatible with Gnu Compiler for Java (gcj)</li>
+ </ul>
+ </li>
+</ul>
+
+<p class="note"><strong>Note:</strong> If JDK is already installed on your development computer, please take a moment to make sure that it meets the version requirements listed above. In
+particular, note that some Linux distributions may include JDK 1.4 or Gnu Compiler for Java, both of which are not supported for Android development. </p>
+
+<h3>Hardware requirements</h3>
+<ul>
+ <li>For the base SDK package, at least 600MB of available disk space. For each platform downloaded into the SDK, an additional 100MB is needed. </li>
+</ul>
+
diff --git a/docs/html/sdk/1.6_r1/upgrading.jd b/docs/html/sdk/1.6_r1/upgrading.jd
new file mode 100644
index 0000000..2f9cc73
--- /dev/null
+++ b/docs/html/sdk/1.6_r1/upgrading.jd
@@ -0,0 +1,386 @@
+page.title=Upgrading the SDK
+sdk.version=1.6
+sdk.preview=0
+@jd:body
+
+
+<div id="qv-wrapper">
+<div id="qv">
+
+ <h2>Upgrading the SDK</h2>
+ <ul>
+ <li>If you are developing on the Android 1.5 SDK, migrating your
+applications is straightforward and typically requires no modifications.</li>
+ <li>For Eclipse users, a new version of ADT is available. To use the Android
+1.6 SDK, please upgrade to ADT 0.9.3 (or later).</li>
+ <li>For Windows users, the SDK includes a new USB driver that you can
+install, if you are developing on a device. </li>
+ <li>A new Android SDK and AVD Manager tool is available. To access
+it, run the <code>android</code> tool without options. </li>
+ </ul>
+
+ <h2>In this document</h2>
+ <ol>
+ <li><a href="#Install">Install the SDK</a></li>
+ <li><a href="#UpdateAdt">Update Your Eclipse ADT Plugin</a></li>
+ <li><a href="#RunYourApps">Run Your Applications</a></li>
+ <li><a href="#MigrateYourApps">Migrate Your Applications</a></li>
+ </ol>
+
+ <h2>Migrating information</h2>
+ <ol>
+ <li><a href="{@docRoot}sdk/api_diff/4/changes.html">Android 1.6 API
+Differences</a></li>
+ </ol>
+
+</div>
+</div>
+
+<p>This document describes how to move your development environment and existing
+Android applications from an Android 1.5 SDK to the Android 1.6 SDK. If you are
+migrating applications from an SDK older than 1.5, please also read the
+upgrading document available in the Android 1.5 SDK package.</p>
+
+<p>There are several compelling reasons to upgrade, such as new SDK tools that
+make developing more efficient and new APIs that allow you to expand the
+feature-set of your applications. However, even if you or your applications
+don't require these enhancements, it's important that you upgrade to ensure that
+your applications run properly on the upcoming Android platform.</p>
+
+<p>The Android 1.6 platform will soon be deployable to devices around the world.
+If you have already released Android applications to the public, you should test
+the forward-compatibility of your applications on the latest version of the
+platform as soon as possible. It's unlikely that you'll encounter problems in
+your applications, but in the interest of maintaining the best user experience,
+you should take no risks. So, please install the new Android SDK and test your
+applications on the new platform.</p>
+
+<!-- NOT AVAILABLE FOR PREVIEW RELEASES -->
+<p>For more information on new SDK features and system changes,
+see the <a href="{@docRoot}sdk/android-1.6.html">Android 1.6 Version Notes</a>.</p>
+<!-- -->
+
+<h2 id="Install">Install the SDK</h2>
+
+<p>If you haven't yet downloaded the SDK, <a href="index.html">download it from
+here</a> and unpack it into a safe location.</p>
+
+<p>If you had previously setup your <code>PATH</code> variable to point to the SDK
+tools directory, then you need to update it to point to the new SDK. For example, for
+a <code>.bashrc</code> or <code>.bash_profile</code> file:</p>
+<pre>export PATH=$PATH:<em>&lt;your_sdk_dir></em>/tools</pre>
+
+
+<h2 id="UpdateAdt">Update Your Eclipse ADT Plugin</h2>
+
+<p>If you don't use the Eclipse IDE for development,
+skip to <a href="#RunYourApps">Run Your Applications</a>.</p>
+
+<p>A new version of the ADT Plugin, ADT 0.9.3, is available in conjunction with
+this SDK release. To use the SDK, you must upgrade your ADT Plugin to version
+0.9.3. With ADT 0.9.3, you can still compile your existing applications against
+multiple platform versions, such as Android 1.5, Android 1.1, and so on. However,
+ADT 0.9.3 is not compatible with previous versions of the SDK and its tools, so
+make sure that you upgrade both your SDK <em>and</em> the ADT Plugin.</p>
+
+The upgrade steps for ADT are described below. For information about new features in ADT, see the <a
+href="{@docRoot}sdk/RELEASENOTES.html">Release Notes</a> document. </p>
+
+<p>If you're currently using a version of ADT <em>older</em> than version 0.9,
+then you must uninstall ADT before you proceed (read how to <a
+href="{@docRoot}sdk/1.5_r3/upgrading.html#uninstallAdt">Uninstall your previous
+ADT plugin</a>). If you currently have version 0.9 or 0.9.1, then you don't need
+to uninstall and can continue with the procedure below.</p>
+
+<table style="font-size:100%">
+<tr><th>Eclipse 3.4 (Ganymede)</th><th>Eclipse 3.5 (Galileo)</th></tr>
+<tr>
+<td width="50%">
+<!-- 3.4 steps -->
+<ol>
+ <li>Select <strong>Help</strong> &gt; <strong>Software Updates</strong>.</li>
+ <li>Select the <strong>Available Software</strong> tab.</li>
+ <li>Select the checkboxes next to Android DDMS and Android Developer Tools,
+ then click <strong>Update</strong>.</li>
+ <li>In the resulting Available Updates dialog, ensure that both Android DDMS
+ and Android Development Tools are selected, then click
+ <strong>Next</strong>.</li>
+ <li>Read and accept the license agreement and then click <strong>Finish</strong>.
+ This will download and install the latest version of Android DDMS and
+ Android Development Tools.</li>
+ <li>Restart Eclipse.</li>
+</ol>
+</td>
+<td>
+<!-- 3.5 steps -->
+<ol>
+ <li>Select <strong>Help</strong> &gt; <strong>Check for Updates</strong>. </li>
+ <li>In the resulting Available Updates dialog, locate the Android DDMS and
+ Android Development Tools features in the list and ensure that the checkboxes
+ next to them are selected. Click <strong>Next</strong>.
+ <p>If the Available Updates dialog does not list Android DDMS and Android
+ Development tools, make sure that you have set up a remote update site
+ for them, as described in
+ <a href="installing.html#InstallingADT">Installing the ADT Plugin</a>.
+ </p></li>
+ <li>In the Update Details dialog, click <strong>Next</strong>.</li>
+ <li>Read and accept the license agreement and then click <strong>Finish</strong>.
+ This will download and install the latest version of Android DDMS and
+ Android Development Tools.</li>
+ <li>Restart Eclipse.</li>
+</ol>
+</td>
+</tr>
+</table>
+
+<p>If you encounter problems with this update procedure, try performing a fresh
+installation. Fully remove your existing ADT Plugin as described in <a
+href="{@docRoot}sdk/1.5_r3/upgrading.html#uninstallAdt">Uninstall your previous
+ADT plugin</a> and then follow the guide to <a
+href="installing.html#InstallingADT">Installing the ADT Plugin for
+Eclipse</a>.</p>
+
+<h3 id="updateEclipsePrefs">Update your Eclipse SDK Preferences</h3>
+
+<p>The last step is to update your Eclipse preferences to point to the new
+SDK directory:</p>
+<ol>
+ <li>Select <strong>Window</strong> > <strong>Preferences</strong> to open
+ the Preferences panel (Mac: <strong>Eclipse</strong> > <strong>Preferences
+ </strong>).</li>
+ <li>Select <strong>Android</strong> from the left panel.</li>
+ <li>For the SDK Location, click <strong>Browse</strong>
+ and locate your SDK directory.</li>
+ <li>Click <strong>Apply</strong>, then <strong>OK</strong>.</li>
+</ol>
+
+
+<h2 id="RunYourApps">Run Your Applications to Test Forward Compatibility</h2>
+
+<p>Now that you have installed the Android 1.6 SDK, we encourage you run each of
+your existing applications on the Android 1.6 system image that is included in
+the SDK, to ensure that it functions properly on the new platform.
+Testing forward-compatibility in this way is especially important for
+applications that you may have already published and that may be installed on
+devices that will upgrade to the new platform. </p>
+
+<p>In most cases, your applications will function properly when run on the new
+version of the platform. However, it is possible that you will encounter
+unexpected behavior, because of changes in the API or underlying platform. If
+you do find problems, you can use the SDK tools to compile and publish an update
+to the applications, which users can then download.
+
+<p>To test forward-compatibility, simply run your application, as-is, on an
+instance of the Android Emulator that uses an AVD targeted to the "Android 1.6"
+system image. Here are the steps: </p>
+
+<ol>
+ <li>Make no changes to your application code.</li>
+ <li>Create a new AVD that runs the new "Android 1.6" platform. </li>
+ <li>Launch your application in an emulator running the new AVD.</li>
+ <li>Perform normal testing on your application to ensure everything works as
+ expected.</li>
+</ol>
+
+<p>Note that, for the purposes of forward-compatibility testing, you should not
+change how your application is compiled. That is, you should continue to compile
+the application against the same version of the Android library as before. The
+only change needed is to the AVD, which controls the version of the Android
+system image (run-time environment) on which the application is run.
+
+<p>For more information on creating an AVD and launching your application, see
+<a href="{@docRoot}guide/developing/eclipse-adt.html#Running">Running Your
+Applications (Eclipse)</a> or <a
+href="{@docRoot}guide/developing/other-ide.html#Running">Running
+Your Applications (other IDEs)</a>, depending on your development
+environment.</p>
+
+<h3 id="FutureProofYourApps">Android 1.6 Forward-Compatibility Tips</h3>
+
+<p>The new version of the Android platform includes several new APIs, but
+very few actual changes to existing APIs. This means that, in most
+cases, your applications written with earlier versions of the Android library
+should run properly on the Android 1.6 platform. </p>
+
+<p>However, here are some areas to pay attention to as you test forward-compatibility:</p>
+
+<ul>
+ <li><strong>Make sure your application doesn't use internal APIs</strong>. Your
+application should not use any APIs that are not officially supported and are
+not published in the Android reference documentation. Unofficial APIs can change
+at any time without notice and &mdash; if your application happens to be using
+them &mdash; such a change could cause the application to break.</li>
+
+ <li><strong>Watch for assumptions about available hardware</strong>. Remember
+that not all compatible devices offer the same hardware capabilities &mdash;
+screens, keyboards, and physical keys, and so on. As you test your application,
+watch for areas where your application depends on the presence of specific
+hardware capabilities. If you find dependencies, you can design around them by
+building in alternate support or graceful degradation, or you can specify them
+as hardware requirements in a
+<a href="{@docRoot}guide/topics/manifest/uses-configuration-element.html"><code>&lt;uses-configuration&gt;</code>.</a>
+element in the application's manifest file. Also see the <a href="{@docRoot}guide/topics/manifest/uses-feature-element.html"><code>&lt;uses-feature&gt;</code>
+manifest element, which lets your application declare a requirement for
+specific features, such as an OpenGL ES version or a camera that has
+autofocus capability.
+</li>
+
+ <li><strong>Watch for assumptions about available features</strong>. Not all
+compatible devices offer equal support for embedded features. same hardware capabilities &mdash;
+screens, keyboards, and physical keys, and so on. As you test your application,
+watch for areas where your application depends on the presence of specific
+hardware capabilities. If you find dependencies, you can design around them by
+building in alternate support or graceful degradation, or you can specify them
+as hardware requirements in a
+<a href="{@docRoot}guide/topics/manifest/uses-configuration-element.html"><code>&lt;uses-configuration&gt;</code>.</a>
+element in the application's manifest file. </li>
+
+ <p>When testing forward-compatibility, try running your application in various
+AVDs that emulate different hardware configurations. For example, you can create
+an AVD that does not offer a physical keyboard or one that uses a dpad instead
+of a trackball. Running your application in different emulated hardware
+configurations will give you an idea of where its dependencies are and help you
+identify problems. </p>
+ </li>
+
+ <li><strong>Watch for assumptions about screen resolution and
+density</strong>. A device's screen resolution and density is likely to affect
+the way that your application's UI is rendered, especially if your app specifies
+dimensions or positions using pixels or absolute layouts. To ensure consistent
+UI across screens, your app should specify the dimensions and positions of
+layouts and drawables in relative units that can be scaled by the system as
+appropriate, according to the density of the device's screen. Alternatively, you
+can create custom sets of layout/drawable resources for specific screens, which
+the system can then load as appropriate, based on the current device screen.</p>
+
+ <p>When testing forward-compatibility, try running your application in various
+AVDs that emulate different screen resolutions and densities. Also note that,
+starting with Android 1.6, the platform provides a Compatibility Mode that
+automatically scales the UI of applications if they do not explicitly indicate
+support for the current screen in the
+<a href="{@docRoot}guide/topics/manifest/supports-screen-element.html"><code>&lt;supports-screen&gt;</code>
+element in their manifest files. As part of testing, you should evaluate how
+your application is displayed in Compatibility Mode on different screens. </p>
+ </li>
+
+ <li><strong>Avoid performing layout orientation changes based on the
+acceletometer (or via other sensors)</strong>. Some Android-powered devices will
+automatically rotate the orientation (and all devices have the option to turn on
+auto-rotation), so if your application also attempts to rotate the orientation,
+it can result in strange behavior. In addition, if your application uses the
+accelerometer to detect shaking and you do not want to rotate the orientation,
+then you should lock the current orientation with <a
+href="{@docRoot}guide/topics/manifest/activity-element.html#screen">android:screenOrientation</a>.
+ </li>
+
+</ul>
+
+<h2 id="MigrateYourApps">Migrate Your Applications</h2>
+
+<p>If you want to use any of the new Android 1.6 APIs in your existing
+applications, you must first migrate the applications to the new Android
+platform version. Generally, migrating an application includes: </p>
+
+<ul>
+<li>Referencing the proper API Level in the application's manifest file,
+and</li>
+<li>Resetting its project properties so that it is compiled against the Android
+1.6 build target.</li>
+</ul>
+
+<p>Additionally, to run your application in the emulator, you need to
+create an AVD that uses the Android 1.6 system image. </p>
+
+<p class="note"><strong>Note:</strong> You only need migrate your application as
+described in this section if the application will actually use APIs
+<em>introduced</em> in the Android 1.6 platform (which are not available on
+devices running older versions of the Android platform). If your application
+does not use any new APIs, you can compile and run it without modification and
+not migration is necessary.</p>
+
+<h3>Reference the Proper API Level</h3>
+
+<p>If your application is using APIs introduced in Android 1.6, you must
+reference that dependency in the application's manifest file so that it can be
+deployed to devices running the Android 1.6 platform. </p>
+
+<p>Open the manifest file and locate the <code>minSdkVersion</code> attribute
+in the <code>&lt;uses-sdk&gt;</code> manifest element. Set the value of
+<code>minSdkVersion</code> to <code>"4"</code> (the API Level
+identifier corresponding to Android 1.6). Here's an example:</p>
+
+<pre>
+&lt;manifest>
+ ...
+ &lt;uses-sdk android:minSdkVersion="4" />
+ ...
+&lt;/manifest>
+</pre>
+
+<h3>Compile Against the Proper Build Target</h3>
+
+<p>Once you've changed the <code>minSdkVersion</code> value in your
+application's manifest, you need to set the application's project properties so
+that the application will be compiled against the Android 1.6 library. To do so,
+follow the steps below for your respective development environment. </p>
+
+<h4 id="EclipseUsers">Eclipse Users</h4>
+
+<ol>
+ <li>Right-click on the individual project (in the Package Explorer)
+ and select <strong>Properties</strong>.</li>
+ <li>In the properties, open the Android panel and select a new Project Build Target.
+ Select "Android 1.6" to target the new platform (or "Google APIs" with the "4"
+ API Level, if your application uses the Google Maps APIs).</li>
+ <li>Click <strong>Apply</strong>, then <strong>OK</strong>.</li>
+</ol>
+
+<h4 id="AntUsers">Ant Users</h4>
+
+<p>Use the <code>android</code> tool (located in
+<code><em>your_sdk</em>/tools/</code>) to create a new <code>build.xml</code>
+that references the new platform target. To see a list of available targets,
+execute:</p>
+
+<pre>android list targets</pre>
+
+<p>Select the target <code>id</code> that corresponds to the "Android 1.6" platform
+and pass it with the <code>--target</code> parameter when updating your project.
+For example:</p>
+
+<pre>android update project --path /path/to/my-project --target 2</pre>
+
+<p>If your application uses the Google Maps APIs (i.e., MapView), be certain to
+select a Google APIs target.</p>
+
+<h3>Create an AVD that Uses the Android 1.6 Platform</h3>
+
+<p>Finally, you need to set up a new AVD that uses the Android 1.6 platform, so that
+you can run your application in the emulator.
+
+<p>To set up the new AVD, use the <code>android</code> tool, available in the
+<code>tools/</code> directory of the SDK. You can run the AVD manager by simply
+changing to the <code>tools/</code> directory and entering <code>android</code>
+at the command line. Click "New" to create the AVD and set its properties.</p>
+
+<p>When creating the AVD, make sure to select a target of "Android 1.6 - API
+Level 4". If your application uses the Google Maps APIs (MapView), select the
+target "Google APIs (Google Inc.) - API Level 4". </p>
+
+<p>For more information about running your application in an AVD, see <a
+href="{@docRoot}guide/developing/eclipse-adt.html#Running">Running Your
+Application (Eclipse)</a> or <a
+href="{@docRoot}guide/developing/other-ide.html#Running">Running Your
+Application (other IDEs)</a>. </p>
+
+<p>For general information about AVDs, see the <a href="{@docRoot}guide/developing/tools/avd.html">Android Virtual
+Devices</a> document. </p>
+
+
+
+<div class="special">
+<p>If you have trouble migrating to the new version of the SDK, visit the
+<a href="http://groups.google.com/group/android-developers">Android Developers Group</a>
+to seek help from other Android developers.</p>
+</div>
+
diff --git a/docs/html/sdk/RELEASENOTES.jd b/docs/html/sdk/RELEASENOTES.jd
index 03eeb4b..130a92c 100644
--- a/docs/html/sdk/RELEASENOTES.jd
+++ b/docs/html/sdk/RELEASENOTES.jd
@@ -5,6 +5,198 @@ page.title=SDK Release Notes
releases. For the latest known issues, please ensure that you're viewing this
page at <a href="http://developer.android.com/sdk/RELEASENOTES.html">http://developer.android.com/sdk/RELEASENOTES.html</a>.</p>
+<h2 id="1.6_r1">Android 1.6 SDK, Release 1</h2>
+
+<p>This SDK provides updates to the development tools and Android system that
+you use to create applications for compliant Android-powered devices. </p>
+
+<h3>Release Overview</h3>
+
+<p>This SDK release includes several new features for developers. Highlights of the
+changes include: </p>
+
+ <ul>
+ <li>Emulator support for multiple screen sizes/densities, including new
+skins. </li>
+ <li>Android SDK and AVD Manager, a graphical UI to let you manage your
+SDK and AVD environments more easily. The tool lets you create and manage
+your <a href="{@docRoot}guide/developing/tools/avd.html">Android Virtual
+Devices</a> and download new SDK packages (such as platform versions and
+add-ons) into your environment.</li>
+ <li>Improved support for test packages in New Project Wizard</li>
+ </ul>
+
+<p>For details about the Android platforms included in the SDK &mdash; including
+bug fixes, features, and API changes &mdash; please read the Version Notes
+documents available at left. For a list of Android platforms included in this
+release, see the <a href="{@docRoot}sdk/1.6_r1/index.html">Download
+page</a>. Note that you can use the Android SDK and AVD Manager to download
+additional platforms.</p>
+
+<h3>Installation and Upgrade Notes</h3>
+
+<p>If you've been developing an application using an Android 1.1 SDK, you need
+to make a few changes to your development environment to migrate to the new SDK.
+Tools and documentation are provided to assist you. No changes to the source
+code of an existing application should be needed, provided that your application
+is not using Android internal structures or APIs.</p>
+
+<p>To ensure that your existing application will work properly on a device
+running the latest version of the Android platform, you are strongly encouraged
+to migrate the application to the new SDK, compile it using the platform
+matching the application's original API Level, and run it against the most
+current platform. </p>
+
+<p>If you're installing the Android SDK for the first time, please see
+the instructions in <a
+href="{@docRoot}sdk/1.5_r1/installing.html">Installing the SDK</a>.
+
+<h3>ADT Plugin for Eclipse</h3>
+
+<p>An updated version of the ADT Plugin for Eclipse is available with the
+Android 1.6 SDK. The new version, ADT 0.9.3, provides several new
+features, including integrated support for the Android SDK and AVD Manager
+and zipalign tool. In addition, the New Project Wizard now
+lets you create a test package containing tests for your application. These
+features are described in the sections below. </p>
+
+<p>If you are developing in Eclipse with ADT and want to get started with the
+Android 1.6 SDK, you should download and install a compatible version of the ADT
+Plugin (0.9.3 or higher). </p>
+
+<p>The new version of ADT is downloadable from the usual remote update site or
+is separately downloadable as a .zip archive. For instructions on how to
+download the plugin, please see <a href="upgrading.html#UpdateAdt">Upgrading
+Your Eclipse Plugin</a>. </p>
+
+<h3>Android SDK and AVD Manager</h3>
+
+<p>The SDK offers a new tool called Android AVD Manager that lets you manage
+your SDK and AVD environments more efficiently. </p>
+
+<p>Using the tool, you can quickly check what Android platforms, add-ons,
+extras, and documentation packages are available in your SDK environment, what
+their versions are, and whether updated versions are available. You can then
+download one or more items from remote repositories and install them directly in
+your SDK environment. For example, the tool lets you obtain updates to SDK tools
+incrementally, as they are made available, without having to wait for the next
+SDK release. You can also download Android platform versions into your
+environment that were not included in the SDK package.</p>
+
+<p>The tool also lets you quickly create new AVDs, manage
+their properties, and run a target AVD from a single window. </p>
+
+<p>If you are developing in Eclipse with ADT, you can access the Android SDK
+and AVD Manager from the <strong>Window</strong> menu. </p>
+
+<p>If you are developing in another IDE, you can access the Android SDK and
+AVD Manager through the <code>android</code> command-line tool, located in the
+&lt;sdk&gt;/tools directory. You can launch the tool with a graphical UI by
+using the <code>android</code> command without specifying any options. You can
+also simply double-click the android.bat (Windows) or android (OS X/Linux) file.
+You can still use <code>android</code> commands to create and manage AVDs,
+including AVDs with custom hardware configurations.</p>
+
+<h3>Integration with zipalign</h3>
+
+<p>The Android system offers a performance optimization for installed
+application packages whose contained uncompressed files are all aligned on
+4-byte boundaries. For these .apks, the system can read the files by mmap'ing
+the zip file, rather than by copying all the data out of them. This reduces
+the amount of memory used by the application at run time. The SDK includes
+a tool called <code>zipalign</code> that you can run against your .apks, to
+align them properly and enable them to benefit from this optimization.</p>
+
+<p>The ADT Plugin and the Ant build tools both provide integrated support for
+aligning your application packages. After you build an .apk, the SDK tools can
+sign and then run <code>zipalign</code> against it. The SDK includes the
+standalone version of the <code>zipalign</code> tool, so you can run also run it
+manually from the command line if you choose. </p>
+
+<ul>
+ <li>If you are developing in Eclipse with ADT, support for
+<code>zipalign</code> is integrated into the Export Wizard. When you use the
+Wizard to export a signed application package, ADT signs and then automatically
+runs <code>zipalign</code> against the exported package. If you use the Wizard
+to export an unsigned application package, then it will not zipalign the
+package because zipalign must be performed only after the APK has been signed.
+You must manually sign and zipalign the package after export. </li>
+ <li>If you are developing using Ant and are compiling in release mode, the
+build tools will automatically sign and then <code>zipalign</code> the
+application package, provided that you have specified the location of a valid
+keystore in the build properties file. If you are compiling in debug mode, the
+build tools will sign the package with the debug key and then <code>zipalign</code>
+it.</li>
+ <li>To use <code>zipalign</code> manually, change to the SDK tools directory
+and use the command syntax <code>$ zipalign 4 &lt;infile&gt;
+&lt;outfile&gt;</code></li>
+</ul>
+
+<p>In general, note that you must <code>zipalign</code> an application only
+<em>after</em> it has been signed, as signing will disrupt the package
+alignment.</p>
+
+<h3>Support for Test Packages in New Project Wizard</h3>
+
+<p>The New Project Wizard available in the ADT 0.9.3 now lets you add a test
+package containing Instrumentation or other classes of tests while you are
+creating or importing a new Android application project. </p>
+
+<h3>New USB Driver for Windows</h3>
+
+<p>If you are using Windows and want to develop or test your application on an
+Android-powered device (such as the T-Mobile G1), you need an appropriate USB
+driver.
+
+<p>The Windows version of the Android 1.6 SDK includes a new, WinUSB-based
+driver that you can install. The driver is compatible with both 32- and 64-bit
+versions of Windows XP and Vista. The driver represents an upgrade from the USB
+driver included in previous Android SDKs, although installing the new driver is
+not required. </p>
+
+<p>If you installed the USB driver from a previous SDK release and it is working
+properly, you do not need to upgrade to the new driver. However, we recommend
+upgrading if you have had any problems with the older driver or simply want
+to upgrade to the latest version.</p>
+
+<p>The USB driver files are located in the
+<code>&lt;SDK&gt;/usb_driver</code> directory. For driver installation or
+upgrade instructions, see <a
+href="{@docRoot}guide/developing/device.html#WinUsbDriver">Installing the WinUSB
+Driver</a>.</p>
+</p>
+
+<h3>Emulator Skins, Android 1.6 Platform</h3>
+
+<p>The Android 1.6 platform included in the SDK provides a new set of emulator
+skins, including: </p>
+
+<ul>
+ <li>QVGA &mdash; 240 x 320, low density (120 dpi)</li>
+ <li>HVGA &mdash; 320 x 480, medium density (160 dpi)</li>
+ <li>WVGA800 &mdash; 480 x 800, high density (240 dpi)</li>
+ <li>WVGA854 &mdash; 480 x 854, high density (240 dpi)</li>
+</ul>
+
+<p>Besides these defaults, You can also create an AVD that overrides the default
+density for each skin, to create any combination of resolution/density (WVGA
+with medium density, for instance). To do so, use the <code>android</code> tool
+command line to create a new AVD that uses a custom hardare configuration. See
+<a href="{@docRoot}guide/developing/tools/avd.html#createavd">Creating an
+AVD</a> for more information.</p>
+
+<h3>Other Notes and Resolved Issues</h3>
+
+<ul>
+ <li>This SDK release adds support for Eclipse 3.5 (Galileo) and deprecates
+support for Eclipse 3.3 (Europa). </li>
+ <li>We regret to inform developers that Android 1.6 will not include support
+for <a href="http://www.ietf.org/rfc/rfc2549">RFC 2549</a></li>
+ <li>The issue preventing adb from recognizing Samsung Galaxy devices (linux SDK
+only) has been fixed.</li>
+</ul>
+
+
<h2 id="1.5_r3">Android 1.5 SDK, Release 3</h2>
<p>Provides an updated Android 1.5 system image that includes permissions
diff --git a/docs/html/sdk/adt_download.jd b/docs/html/sdk/adt_download.jd
index d7b9ac3..3eb6831 100644
--- a/docs/html/sdk/adt_download.jd
+++ b/docs/html/sdk/adt_download.jd
@@ -26,24 +26,24 @@ page</a>.
</tr>
<tr>
- <td>0.9.2</td>
- <td><a href="http://dl-ssl.google.com/android/ADT-0.9.2.zip">ADT-0.9.2.zip</a></td>
+ <td>0.9.3</td>
+ <td><a href="http://dl-ssl.google.com/android/ADT-0.9.3.zip">ADT-0.9.3.zip</a></td>
<td><nobr>bytes</nobr></td>
<td><nobr></nobr></td>
- <td><nobr>Required for users of Android 1.6 SDK (and later releases). Updated from 0.9.1. <em><nobr>August 2009</nobr></em></td>
+ <td><nobr>Required for users of Android 1.6 SDK (and later releases). Updated from 0.9.1. <em><nobr>September 2009</nobr></em></td>
</tr>
<tr class="alt-color">
<td>0.9.1</td>
<td><a href="http://dl-ssl.google.com/android/ADT-0.9.1.zip">ADT-0.9.1.zip</a></td>
<td><nobr>2916093 bytes</nobr></td>
<td><nobr>e7b2ab40414ac98</nobr></td>
- <td><nobr>Required for users of Android 1.5 SDK (and later releases). Updated from 0.9.0. <em><nobr>6 May 2009</nobr></em></td>
+ <td><nobr>Required for users of Android 1.5 SDK. Updated from 0.9.0. <em><nobr>6 May 2009</nobr></em></td>
</tr>
<tr>
<td>0.8.0</td>
<td><a href="http://dl-ssl.google.com/android/ADT-0.8.0.zip">ADT-0.8.0.zip</a></td>
<td colspan="2"><nobr>&nbsp;</nobr></td>
- <td><nobr>Required for users of Android 1.1 SDK and Android 1.0 SDK. <em><nobr>23 Sep 2008</nobr></em></td>
+ <td><nobr>Required for users of Android 1.0/1.1 SDKs. <em><nobr>23 Sep 2008</nobr></em></td>
</tr>
</table>
@@ -63,20 +63,19 @@ Feature ID column and look at its version number.</p>
<tr>
<td>0.7.1</td>
- <td>Required for users of Android 0.9 SDK beta. As of this version, <b>Eclipse 3.2 is no longer supported.</b>
- Please upgrade to Eclipse Ganymede (3.4) or Europa (3.3) if you are still using 3.2. <em><nobr>18 Aug 2008</nobr></em></td>
+ <td>Required for users of the Android 0.9 SDK beta. <em><nobr>18 Aug 2008</nobr></em></td>
</tr>
<tr>
<td>0.4.0</td>
- <td>Required if you are using the M5 SDK. See the SDK Release Notes for details on changes and enhancements in this version. <em><nobr>12 Feb 2008</nobr></em></td>
+ <td>Required for users of the Android M5 Early Look SDK. <em><nobr>12 Feb 2008</nobr></em></td>
</tr>
<tr>
<td>0.3.3</td>
- <td>Some significant enhancements (see m3-rc37 SDK Release Notes). <em><nobr>14 Dec 2007</nobr></em></td>
+ <td>Required for users of the Android M3-RC37 Early Look SDK. <em><nobr>14 Dec 2007</nobr></em></td>
</tr>
<tr>
<td>0.3.1</td>
- <td>Initial Release. Required for Android m3-rc20 SDK and Android m3-rc22 SDK.<em><nobr>21 Nov 2007</nobr></em></td>
+ <td>Initial Release. Required for users of the Android M3-RC20/22 SDKs.<em><nobr>21 Nov 2007</nobr></em></td>
</tr>
</table>
</p>
diff --git a/docs/html/sdk/android-1.6.jd b/docs/html/sdk/android-1.6.jd
new file mode 100644
index 0000000..29dceec
--- /dev/null
+++ b/docs/html/sdk/android-1.6.jd
@@ -0,0 +1,235 @@
+page.title=Android 1.6 Version Notes
+
+@jd:body
+
+<p>
+<em>Date:</em> September 2009<br />
+<em>API Level:</em>&nbsp;<strong>4</strong></p>
+
+
+<p>This document provides version notes for the Android 1.6 system image included in the SDK. </p>
+
+<ul>
+<li><a href="#overview">Overview</a>
+<li><a href="#features">New Features</a>
+<li><a href="#apps">Built-in Applications</a>
+<li><a href="#locs">Locales</a>
+<li><a href="#api-changes">API Changes</a>
+</ul>
+
+<h2 id="overview">Overview</h2>
+
+<p>The Android 1.6 system delivered in the SDK (as library and system image) is
+the development counterpart to the Android 1.6 production system image,
+deployable to Android-powered handsets starting September 2009. The system is fully
+compliant and includes no external libraries.</p>
+
+<p>The Android 1.6 system delivers an updated version of the framework
+API. As with previous versions, the Android 1.6 API
+is assigned an integer identifier &mdash; <strong>4</strong> &mdash; that is
+stored in the system itself. This identifier, called the "API Level", allows the
+system to correctly determine whether an application is compatible with
+the system, prior to installing the application. </p>
+
+<p>For more information about how to use API Level, see the <a
+href="{@docRoot}guide/developing/">API Levels</a> document. </p>
+
+<h2 id="features">New Features</h2>
+
+<p>For a list of new system features, see the <a
+href="http://developer.android.com/sdk/android-1.6-highlights.html">Android 1.6 Platform
+Highlights</a> document.</p>
+
+<h2 id="apps">Built-in Applications</h2>
+
+<p>The system image includes these built-in applications:</p>
+ <ul>
+ <li>Alarm Clock</li>
+ <li>Browser</li>
+ <li>Calculator</li>
+ <li>Camcorder</li>
+ <li>Camera</li>
+ <li>Contacts</li>
+ <li>Custom Locale (developer app)</li>
+ <li>Dev Tools (developer app)</li>
+ <li>Dialer</li>
+ <li>Email</li>
+ <li>Gallery</li>
+ <li>Gestures Builder</li>
+ <li>IME for Japanese text input</li>
+ <li>Messaging</li>
+ <li>Music</li>
+ <li>Settings</li>
+ <li>Spare Parts (developer app)</li>
+ </ul>
+
+<h2 id="locs">Locales</h2>
+
+<p>The system image provides a variety of built-in locales. In some cases,
+region-specific strings are available for the locales. In other cases,
+a default version of the language is used. The languages that will be
+available in the Android 1.6 system image are listed below (with
+<em>language</em>_<em>country/region</em> locale descriptor).</p>
+
+<table style="border:0;">
+<tr>
+<td style="border:0">
+<ul style="margin-bottom:0;">
+<li>Arabic, Egypt (ar_EG)</li>
+<li>Arabic, Israel (ar_IL)</li>
+<li>Bulgarian, Bulgaria (bg_BG)</li>
+<li>Chinese, PRC (zh_CN)</li>
+<li>Chinese, Taiwan (zh_TW)</li>
+<li>Croatian, Croatia (hr_HR)</li>
+<li>Czech, Czech Republic (cs_CZ)</li>
+<li>Danish, Denmark (da_DK)</li>
+<li>Dutch, Netherlands (nl_NL)</li>
+<li>Dutch, Belgium (nl_BE)</li>
+<li>English, US (en_US)</li>
+<li>English, Britain (en_GB)</li>
+<li>English, Canada (en_CA)</li>
+<li>English, Australia (en_AU)</li>
+<li>English, India (en_IN)</li>
+<li>English, Ireland (en_IE)</li>
+<li>English, New Zealand (en_NZ)</li>
+<li>English, Singapore (en_SG)</li>
+<li>English, South Africa (en_ZA)</li>
+<li>Finnish, Finland (fi_FI)</li>
+<li>French, France (fr_FR)</li>
+<li>French, Belgium (fr_BE)</li>
+<li>French, Canada (fr_CA)</li>
+<li>French, Switzerland (fr_CH)</li>
+<li>German, Germany (de_DE)</li>
+<li>German, Austria (de_AT)</li>
+<li>German, Switzerland (de_CH)</li>
+<li>German, Liechtenstein (de_LI)</li>
+</ul>
+</td>
+<td style="border:0;padding-left:5em;">
+<ul style="margin-bottom:0;">
+<li>Greek, Greece (el_GR)</li>
+<li>Hindi, India (hi_IN)</li>
+<li>Hungarian, Hungary (hu_HU)</li>
+<li>Indonesian, Indonesia (id_ID)</li>
+<li>Italian, Italy (it_IT)</li>
+<li>Italian, Switzerland (it_CH)</li>
+<li>Japanese, Japan (ja_JP)</li>
+<li>Korean, Korea (ko_KR)</li>
+<li>Latvian, Latvia (lv_LV)</li>
+<li>Lithuanian, Lithuania (lt_LT)</li>
+<li>Norwegian Bokmål, Norway (nb_NO)</li>
+<li>Polish, Poland (pl_PL)</li>
+<li>Portuguese, Brazil (pt_BR)</li>
+<li>Portuguese, Portugal (pt_PT)</li>
+<li>Romanian, Romania (ro_RO)</li>
+<li>Russian, Russia (ru_RU)</li>
+<li>Serbian, Serbia (sr_RS)</li>
+<li>Slovak, Slovakia (sk_SK)</li>
+<li>Slovenian, Slovenia (sl_SI)</li>
+<li>Spanish, Spain (es_ES)</li>
+<li>Spanish, US (es_US)</li>
+<li>Swedish, Sweden (sv_SE)</li>
+<li>Thai, Thailand (th_TH)</li>
+<li>Tagalog, Philippines (tl_PH)</li>
+<li>Turkish, Turkey (tr_TR)</li>
+<li>Ukranian, Ukrania (uk_UA)</li>
+<li>Vietnamese, Vietnam (vi_VN)</li>
+</ul>
+</td>
+</tr>
+</table>
+
+<p>Localized UI strings match the locales that are displayable in
+the emulator, accessible through the device Settings application.</p>
+
+<h2 id="api-changes">API Changes</h2>
+
+<h3 style="padding-top:0">Overview</h3>
+
+<ul>
+
+<li>Search framework</li>
+ <ul>
+ <li>Applications can now expose relevant content to users as search suggestions in the Quick Search Box, a new device-wide search capability that is accessible from the home screen. To support this, the search framework adds new attributes to the searchable metadata file. For complete information, see the {@link android.app.SearchManager SearchManager} documentation.</li>
+ </ul>
+</li>
+
+<li>Accessibility framework</li>
+ <ul>
+ <li>New {@link android.view.accessibility android.accessibility} package
+that includes classes for capturing accessibility events and forwarding them to
+an {@link android.accessibilityservice AccessibilityService} handler. </li>
+ <li>New {@link android.accessibilityservice AccessibilityService} package
+that lets your application track user events and provide visual, audible, or
+haptic feedback to the user. </li>
+ </ul>
+</li>
+
+<li>Gestures</li>
+ <ul>
+ <li>New {@link android.gesture gesture} API for creating, recognizing,
+loading, and saving gestures.</li>
+ </ul>
+</li>
+
+<li>Text-to-speech</li>
+ <ul>
+ <li>New package {@link android.speech.tts android.speech.tts} provides
+classes for synthesizing speech from text, for immediate playback or to create a
+sound file.</li>
+ </ul>
+</li>
+
+<li>Permissions</li>
+ <ul>
+
+ <li>New permissions for
+{@link android.Manifest.permission#CHANGE_WIFI_MULTICAST_STATE CHANGE_WIFI_MULTICAST_STATE},
+{@link android.Manifest.permission#INSTALL_LOCATION_PROVIDER INSTALL_LOCATION_PROVIDER},
+{@link android.Manifest.permission#READ_HISTORY_BOOKMARKS READ_HISTORY_BOOKMARKS},
+{@link android.Manifest.permission#WRITE_EXTERNAL_STORAGE WRITE_EXTERNAL_STORAGE}, and
+{@link android.Manifest.permission#WRITE_HISTORY_BOOKMARKS WRITE_HISTORY_BOOKMARKS}.</li>
+ </ul>
+</li>
+
+<li>Graphics</li>
+ <ul>
+ <li>Classes in {@link android.graphics android.graphics} now support scaling
+for different screen densities.</li>
+ </ul>
+</li>
+
+<li>Telephony</li>
+ <ul>
+ <li>New {@link android.telephony.SmsManager SmsManager} and other classes
+for sending and receiving SMS messages.</li>
+ </ul>
+</li>
+
+<li>Utilities</li>
+ <ul>
+ <li>New {@link android.util.DisplayMetrics DisplayMetrics} fields for
+determining the density of the current device screen.</li>
+ </ul>
+</li>
+
+<li>Application-defined support for various screen densities</li>
+ <p>Applications can now use a new element in their manifest files, <a
+href="{@docRoot}guide/topics/manifest/supports-screen-element.html">&lt;supports-
+screen&gt;</a> to indicate to the specific screen resolutions/densities that
+they are designed to support. When the application is installed on a device
+whose screen is not explicitly supported by the application, the system
+runs the application in Compatibility Mode, where possible. </p>
+</li>
+</ul>
+
+<h3 id="api-diff">API Change Details</h3>
+
+<p>For a detailed view of API changes in this platform (API Level 4), see the <a
+href="{@docRoot}sdk/api_diff/4/changes.html">API Differences Report</a>.</p>
+
+
+
+
+
+
diff --git a/docs/html/sdk/preview/features.jd b/docs/html/sdk/preview/features.jd
new file mode 100644
index 0000000..81b4ff6
--- /dev/null
+++ b/docs/html/sdk/preview/features.jd
@@ -0,0 +1,4 @@
+sdk.redirect=true
+
+@jd:body
+
diff --git a/docs/html/sdk/preview/index.jd b/docs/html/sdk/preview/index.jd
index a6a6ca2..81b4ff6 100644
--- a/docs/html/sdk/preview/index.jd
+++ b/docs/html/sdk/preview/index.jd
@@ -1,194 +1,4 @@
-page.title=Android 1.6 Early Look SDK
-sdk.redirect=0
-sdk.version=1.6
-sdk.preview=true
-
-sdk.date=August 2009
-
-sdk.win_download=android-sdk-windows-1.5_r3.zip
-sdk.win_bytes=191477853
-sdk.win_checksum=1725fd6963ce69102ba7192568dfc711
-
-sdk.mac_download=android-sdk-mac_x86-1.5_r3.zip
-sdk.mac_bytes=183024673
-sdk.mac_checksum=b1bafdaefdcec89a14b604b504e7daec
-
-sdk.linux_download=android-sdk-linux_x86-1.5_r3.zip
-sdk.linux_bytes=178117561
-sdk.linux_checksum=350d0211678ced38da926b8c9ffa4fac
-
-adt.zip_download=ADT-0.9.2.zip
-adt.zip_version=0.9.2
-adt.zip_bytes=178117561
-adt.zip_checksum=350d0211678ced38da926b8c9ffa4fac
+sdk.redirect=true
@jd:body
-<h2 id="overview">SDK Overview</h2>
-
-<p>This Early Look SDK provides the tools, libraries, and system images that you need to start developing and testing applications on the next version of the Android platform &mdash; Android 1.6.</p>
-
-<p>The sections below provide information about the contents of the SDK, as well as any applicable release notes.</p>
-
-<p>This Early Look SDK is provided for development and testing purposes only. You can use it to get familiar with the new Android 1.6 framework APIs and the UI and features of the Android 1.6 system, and you can use it to begin testing your existing applications with the new API and system. However, this SDK is not suitable for compiling applications for deployment to Android-powered devices running the Android 1.6 platform, when such devices are available. For more information, see <a href="#provisional">Framework API and Provisional API Level</a>. </p>
-
-<p>The sections below provide information about the contents of the SDK, as well as any applicable release notes.</p>
-
-<p class="note"><strong>Note:</strong> This is an <em>early look SDK only</em>.
-The tools and documentation are not complete. The API reference documentation for the early look
-SDK is provided only in the downloadable SDK package &mdash; documentation for this early
-look release is <em>not</em> available at <a href="http://developer.android.com">http://developer.android.com</a>.
-To access the API reference for the early
-look SDK, see the documentation in your SDK's <em>docs/reference/</em> directory.
-<br/><br/>
-Additionally, note that the APIs provided in this SDK are subject to change until the final
-Android 1.6 SDK is released. You should not compile any applications for distribution using
-this version of the SDK. If you do so, your applications will not function properly when deployed
-to Android-powered devices running the final Android 1.6 platform. Please wait for the final
-Android 1.6 SDK before distributing applications built on the Android 1.6 system image.
-</p>
-
-<h3 id="provisional">Framework API and Provisional API Level</h3>
-
-<p>This SDK gives you early access to the framework API that will be offered in Android 1.6. However, at the time of this release, The API specification for Android 1.6 was not yet final, meaning that it is possible that the API could change before the final release of the Android 1.6 platform. </p>
-
-<p>To help distinguish the API offered in the Early Look SDK from that of the final Android 1.6 platform, this SDK assigns a provisional API Level identifier &mdash; <strong>Donut</strong> &mdash; to its Early Look framework API. When the Android 1.6 framework API specification is final, the API Level identifier will change to <strong>4</strong> and the "Donut" identifier will no longer be supported. </p>
-
-<p>The "Donut" framework API is for development only and is not supported as a platform for compiling applications for deployment or publishing. The API Level of "Donut" will not be supported by any Android-powered devices in the field, including those running the Android 1.6 platform. This means that when the final Android 1.6 platform is released, you will need to change your application's <code>android:minSdkVersion</code> manifest attribute to reference the API Level of "4", rather than "Donut", if your application is using Android 1.6 APIs. You would then need to recompile your application before publishing it. </p>
-
-<p>The use of a provisional API Level in this SDK is designed to protect developers and device users from inadvertently publishing or installing applications based on the Early Look framework API, which may not run properly on actual devices running Android 1.6.</p>
-
-<p>To develop using the Early Look framework API, you must reference an API Level of "Donut" in your application's manifest. </p>
-
-<p>Specifically, you must define a <code>android:minSdkVersion</code>
-attribute in a <code>&lt;uses-sdk&gt;</code> element as a child of
-<code>&lt;manifest&gt;</code> in the manifest file. When set, the
-attribute looks like this: </p>
-
-<pre>&lt;manifest&gt;
- ...
- &lt;uses-sdk android:minSdkVersion="Donut" /&gt;
- ...
-&lt;/manifest&gt;</pre>
-
-<p>If you are developing in Eclipse with ADT, please read the next section for information about the ADT upgrade that supports the Early Look SDK's provisional API Level. </p>
-
-
-<h3>ADT Plugin for Eclipse</h3>
-
-<p>An updated version of the ADT Plugin for Eclipse is available in connection with the Android 1.6 Early Look SDK. The new version, ADT 0.9.2, provides support for the provisional API Level "Donut" that is offered in the Early Look SDK and includes several new features and improvements. These changes mean that this Early Look SDK does not work with older Eclipse plugins (ADT 0.9.1).</li>
-
-<p>If you are developing in Eclipse with ADT and want to get started with Android 1.6 Early Look SDK, you <em>must</em> download and install the correct version of the ADT Plugin (0.9.2 or higher). </p>
-
-<p>The new version of ADT is downloadable from the usual remote update site or is separately downloadable as a .zip archive. For instructions on how to download the plugin, please see <a href="upgrading.html#UpdateAdt">Upgrading Your Eclipse Plugin</a>. </p>
-
-<h3>Android AVD Manager</h3>
-
-<p>The SDK offers a new tool called Android AVD Manager that lets you manage your AVDs more efficiently. For example, you can quickly create new AVDs, manage their properties, and run a target AVD from a single window.
-
-If you are developing in Eclipse with ADT, you can access the Android AVD Manager from the <strong>Window</strong> menu. </p>
-
-If you are developing in another IDE, you can access the AVD manager capabilities through the <code>android</code> command-line tool, located in the &lt;sdk&gt;/tools directory. You can launch the tool with a graphical UI by using the <code>android</code> command without specifying any options. The command-line version of the tool is also still available.</p>
-
-<h3>SDK Component Updater</h3>
-
-<p>This SDK includes a new SDK Component Updater tool that lets you download updated versions of SDK components individually into your environment, as soon as they become available. </p>
-
-<p>The Updater provides a graphical UI that lets you quickly check what Android platforms, add-ons, extras, and documentation packages are available in your SDK environment, what their versions are, and whether updated versions are available. Using the Updater, you can download one or more items from the remote repository and install them directly in your SDK environment. For example, the updater lets you receive updates to SDK tools incrementally, as they are made available, without having to wait for the next SDK release. </p>
-
-<p>To access the Updater, use the <code>android</code> command-line tool, located in the &lt;sdk&gt;/tools directory. You can launch the Updater by using the <code>android</code> command without specifying any options. </p>
-
-<p>In ADT, it you can also access the Updater through the Android AVD Manager tool. </p>
-
-<h3>Support for Test Packages in New Project Wizard</h3>
-
-<p>The New Project Wizard available in the ADT 0.9.2 now lets you add a test package containing JUnit or other classes of tests while you are creating or importing a new Android application project. </p>
-
-
-<h3>Other Notes and Resolved Issues</h3>
-
-<ul>
-<li>This SDK release adds support for Eclipse 3.5 (Galileo) and no longer formally supports Eclipse 3.3 (Europa). </li>
-<li>The issue preventing adb from recognizing Samsung Galaxy devices (linux SDK only) has been fixed.</li>
-</ul>
-
-<h2>SDK Contents</h2>
-
-<h4>Development tools</h4>
-
-<p>The SDK includes a full set of tools for developing and debugging application code and designing an application UI. You can read about the tools in the
-<a href="{@docRoot}guide/developing/tools/index.html">Dev Guide</a> and access them in the <code>&lt;sdk&gt;/tools/</code> directory.
-
-<p>The tools package in this SDK includes updates from those provided in the previous SDK. The tools use the same project structure as in the previous SDK (Android 1.5), but have been updated to support the the provisional API Level identifier "donut". If you have application projects developed in the Android 1.5 SDK, you can migrate them to the latest SDK without modification. For more information about how to migrate, see <a href="upgrading.html">Upgrading the SDK</a>.
-
-<p>For more information about the new tools features, see the <a href="#overview">SDK Overview</a> section above.
-
-<h4 id="system_images">Android Platforms</h4>
-
-<p>This SDK includes multiple Android platform versions that you can use to develop applications. For each version, both a fully compliant Android library and system image are provided. The table below lists the platform versions included in this SDK. For more information about a platform version &mdash; features, applications included, localizations, API changes, and so on &mdash; see its Version Notes. </p>
-
-<table style="margin-right:1em;" width="80%">
-<tr>
-<th><nobr>Platform</nobr></th><th><nobr>API Level</nobr></th><th>Notes</th><th>Description</th>
-</tr>
-<tr>
-<td width="5%"><nobr>Android 1.6 Early Look (Android Donut)</nobr></td>
-<td width="5%">Donut</td>
-<td width="5%"></td>
-<td>Includes an Early Look Android 1.6 library and system image with a set of development applications. Does not include any external libraries (such as the Maps external library).</td>
-</tr>
-<tr>
-<td width="5%"><nobr>Android 1.5</nobr></td>
-<td width="5%">3</td>
-<td width="5%"><nobr><a href="{@docRoot}sdk/android-1.5.html">Version Notes</a></nobr></td>
-<td>Includes a standard Android 1.5 library and system image with a set of development applications. Does not include any external libraries (such as the Maps external library).</td>
-</tr>
-</table>
-
-<h4 id="system_images">SDK Add-Ons</h4>
-
-<p>An SDK add-on provides a development environment for an Android external library or a customized (but fully compliant) Android system image. This SDK includes the SDK add-on listed below. The Android system API Level required by the add-on is noted.</p>
-
-<table style="margin-right:1em;" width="80%">
-<tr>
-<th><nobr>Add-On</nobr></th><th><nobr>API Level</nobr></th><th>Notes</th><th>Description</th>
-</tr>
-<tr>
-<td width="5%"><nobr>Google APIs</nobr></td>
-<td width="5%">Donut</td>
-<td width="5%">&nbsp;</td>
-<td>Includes the com.google.android.maps external library, an Early Look
-Android 1.6 system image, a {@link android.location.Geocoder Geocoder}
-backend service implementation, documentation, and sample code. </td>
-</tr>
-<tr>
-<td width="5%"><nobr>Google APIs</nobr></td>
-<td width="5%">3</td>
-<td width="5%">&nbsp;</td>
-<td>Includes the com.google.android.maps external library, a compliant
-system image, a {@link android.location.Geocoder Geocoder}
-backend service implementation, documentation, and sample code. </td>
-</tr>
-</table>
-
-<h4>Sample Code and Applications</h4>
-
-<p>You can look at a variety of tutorials and samples in the <a href="{@docRoot}guide/samples/index.html">Dev Guide</a> and access the sample code itself
-in the <code>&lt;sdk&gt;/platforms/&lt;platform&gt;/samples/</code> directory of the SDK package. Note the new location &mdash; the SDK now includes multiple platform versions that you can develop against and each has its own sample code directory. </p>
-
-<p>For example, to view or build the samples available for the Android
-1.6 Early Look platform (AVD target "Android Donut"), you will find the samples in the <code>&lt;sdk&gt;/platforms/android-Donut/samples/</code> directory of the SDK package. </p>
-
-<h4>Documentation</h4>
-
-<p>The SDK package includes a full set of local documentation. To view it, open the <code>&lt;sdk&gt;/documentation.html</code> file in a web browser. If you are developing in an IDE such as Eclipse, you can also view the reference documentation directly in the IDE. </p>
-
-
-<hr/>
-
-<div class="special">
-<p>Feedback on this preview SDK is welcome on the public Android Open Source forums:</p>
-<p style="margin-left:2em;"><a href="http://source.android.com/discuss">http://source.android.com/discuss</a></p>
-</div>
-
-
diff --git a/docs/html/sdk/preview/installing.jd b/docs/html/sdk/preview/installing.jd
index 05e7ab5..1e6b26b 100644
--- a/docs/html/sdk/preview/installing.jd
+++ b/docs/html/sdk/preview/installing.jd
@@ -1,346 +1,5 @@
-page.title=Installing the Android SDK
-sdk.version=1.6
-sdk.preview=true
-sdk.date=August 2009
+sdk.redirect=true
@jd:body
-<div id="qv-wrapper">
-<div id="qv">
-
- <h2>In this document</h2>
- <ol>
- <li><a href="#Preparing">Preparing for Installation</a></li>
- <li><a href="#Installing">Installing the SDK</a></li>
- <li><a href="#InstallingADT">Installing the ADT Plugin for Eclipse</a>
- <ol>
- <li><a href="#Troubleshooting">Troubleshooting ADT Installation</a></li>
- </ol>
- </li>
- <li><a href="#NextSteps">Next Steps</a></li>
- <li><a href="#InstallationNotes">Installation Notes</a></li>
- </ol>
-
-</div>
-</div>
-
-<p>This page describes how to install the Android Early Look SDK and set up your
-development environment.</p>
-
-<p>If you encounter any problems during installation, see the
-<a href="#InstallationNotes">Installation Notes</a> at the bottom of
-this page.</p>
-
-<h4 style="margin-top">Upgrading?</h4>
-<p>If you have already developed applications using an earlier version
-of the Android SDK, please read <a href="upgrading.html">Upgrading the SDK</a>, instead.
-</p>
-
-
-<h2 id="Preparing">Preparing for Installation</h2>
-
-<p>Before you begin, take a moment to confirm that your development machine meets the
-<a href="requirements.html">System Requirements</a>.
-</p>
-
-<p>If you will be developing on Eclipse with the Android Development
-Tools (ADT) Plugin &mdash; the recommended path if you are new to
-Android &mdash; make sure that you have a suitable version of Eclipse
-installed on your computer (3.4 or newer is recommended). If you need to install Eclipse, you can
-download it from this location: </p>
-
-<p style="margin-left:2em;"><a href=
-"http://www.eclipse.org/downloads/">http://www.eclipse.org/downloads/</a
-></p>
-
-<p>A Java or RCP version of Eclipse is recommended. </p>
-
-<h2 id="Installing">Installing the SDK</h2>
-
-<p>Unpack the Android SDK .zip archive to a suitable location on your machine.
-By default, the SDK files are unpacked into a directory named
-<code>android_sdk_<em>&lt;platform</em>&gt;_<em>&lt;release&gt;</em></code>.
-The directory contains a local copy of the documentation (accessible by opening
-<code>documentation.html</code> in your browser) and the subdirectories
-<code>tools/</code>, <code>add-ons/</code>, <code>platforms/</code>, and others. Inside
-each subdirectory of <code>platforms/</code> you'll find <code>samples/</code>, which includes
-code samples that are specific to each version of the platform.</p>
-
-<p>Make a note of the name and location of the unpacked SDK directory on your system &mdash; you
-will need to refer to the SDK directory later, when setting up the Android plugin or when
-using the SDK tools.</p>
-
-<p>Optionally, you may want to add the location of the SDK's primary <code>tools</code> directory
-to your system <code>PATH</code>. The primary <code>tools/</code> directory is located at the root of the
-SDK folder. Adding <code>tools</code> to your path lets you run Android Debug Bridge (adb) and
-the other command line <a href="{@docRoot}guide/developing/tools/index.html">tools</a> without
-needing to supply the full path to the tools directory. </p>
-<ul>
- <li>On Linux, edit your <code>~/.bash_profile</code> or <code>~/.bashrc</code> file. Look
- for a line that sets the PATH environment variable and add the
- full path to the <code>tools/</code> directory to it. If you don't
- see a line setting the path, you can add one:</li>
-
- <ul><code>export PATH=${PATH}:<em>&lt;your_sdk_dir&gt;</em>/tools</code></ul>
-
- <li>On a Mac, look in your home directory for <code>.bash_profile</code> and
- proceed as for Linux. You can create the <code>.bash_profile</code> if
- you haven't already set one up on your machine. </li>
-
- <li>On Windows, right-click on My Computer, and select Properties.
- Under the Advanced tab, hit the Environment Variables button, and in the
- dialog that comes up, double-click on Path (under System Variables). Add the full path to the
- <code>tools/</code> directory to the path. </li>
- </ul>
-
-<p>Note that, if you update your SDK in the future, you
-should remember to update your <code>PATH</code> settings to point to the new location, if different.</p>
-
-<p>If you will be using the Eclipse IDE as your development environment,
-the next section describes how to install the Android Development Tools (ADT) plugin and set up Eclipse.
-If you choose not to use Eclipse, you can
-develop Android applications in an IDE of your choice and then compile, debug and deploy using
-the tools included in the SDK (skip to <a href="#NextSteps">Next Steps</a>).</p>
-
-
-<h2 id="InstallingADT">Installing the ADT Plugin for Eclipse</h2>
-
-<p>Android offers a custom plugin for the Eclipse IDE, called Android
-Development Tools (ADT), that is designed to give you a powerful,
-integrated environment in which to build Android applications. It
-extends the capabilites of Eclipse to let you quickly set up new Android
-projects, create an application UI, add components based on the Android
-Framework API, debug your applications using the Android SDK tools, and even export
-signed (or unsigned) APKs in order to distribute your application.</p>
-
-<p>In general, using Eclipse with ADT is a highly recommended
-approach to Android development and is the fastest way to get started.
-(If you prefer to work in an IDE other than Eclipse,
-you do not need to install Eclipse or ADT, instead, you can directly
-use the SDK tools to build and debug your application&mdash;skip to <a href="#NextSteps">Next Steps</a>.)</p>
-
-<p>Once you have Eclipse installed, as described in <a href="#Preparing">Preparing for
-Installation</a>, follow the steps below to
-download the ADT plugin and install it in your respective Eclipse
-environment. </p>
-
-<table style="font-size:100%">
-<tr><th>Eclipse 3.3 (Europa)</th><th>Eclipse 3.4 (Ganymede)</th></tr>
-<tr>
-<td width="45%">
-<!-- 3.3 steps -->
-<ol>
- <li>Start Eclipse, then select <strong>Help</strong> &gt; <strong>Software Updates</strong>
-&gt; <strong>Find and Install...</strong>. </li>
- <li>In the dialog that appears, select <strong>Search for new features to install</strong>
-and click <strong>Next</strong>. </li>
- <li>Click <strong>New Remote Site</strong>. </li>
- <li>In the resulting dialog box, enter a name for the remote site (e.g. "Android Plugin") and
- enter the URL:
- <pre>https://dl-ssl.google.com/android/eclipse/</pre>
- <p>If you have trouble aqcuiring the plugin, try using "http" in the URL,
- instead of "https" (https is preferred for security reasons).</p>
- <p>Click <strong>OK</strong>.</p> </li>
- <li>You should now see the new site added to the search list (and checked).
- Click <strong>Finish</strong>. </li>
- <li>In the subsequent Search Results dialog box, select the checkbox for the
- "Android Plugin".
- This will select the nested tools: "Android DDMS" and "Android Development Tools".
- Click <strong>Next</strong>.</li>
- <li>Read and accept the license agreement, then click <strong>Next</strong>. </li>
- <li>On the following Installation window, click <strong>Finish</strong>. </li>
- <li>The ADT plugin is not digitally signed. Accept the installation anyway
- by clicking <strong>Install All</strong>. </li>
- <li>Restart Eclipse. </li>
-</ol>
-
-</td>
-<td>
-
-<!-- 3.4 steps -->
-<ol>
- <li>Start Eclipse, then select <strong>Help</strong> &gt; <strong>Software Updates...</strong>.</li>
- <li>In the dialog that appears, click the <strong>Available Software</strong> tab. </li>
- <li>Click <strong>Add Site...</strong> </li>
- <li>Enter the Location:
- <pre>https://dl-ssl.google.com/android/eclipse/</pre>
- <p>If you have trouble aqcuiring the plugin, try using "http" in the Location URL,
- instead of "https" (https is preferred for security reasons).</p>
- <p>Click <strong>OK</strong>.</p></li>
- <li>Back in the Available Software view, you should see the plugin listed by the URL,
- with "Developer Tools" nested within it. Select the checkbox next to
- Developer Tools and click <strong>Install...</strong></li>
- <li>On the subsequent Install window, "Android DDMS" and "Android Development Tools"
- should both be checked. Click <strong>Next</strong>. </li>
- <li>Read and accept the license agreement, then click <strong>Finish</strong>.</li>
- <li>Restart Eclipse. </li>
-</ol>
-
-</td>
-</tr>
-</table>
-
-<p>Now modify your Eclipse preferences to point to the Android SDK directory:</p>
-<ol>
- <li>Select <strong>Window</strong> &gt; <strong>Preferences...</strong> to open the Preferences
- panel (Mac: <strong>Eclipse</strong> &gt; <strong>Preferences</strong>).</li>
- <li>Select <strong>Android</strong> from the left panel. </li>
- <li>For the <em>SDK Location</em> in the main panel, click <strong>Browse...</strong> and
-locate your downloaded SDK directory. </li>
- <li>Click <strong>Apply</strong>, then <strong>OK</strong>.</li>
-</ol>
-
-<p>Done! If you haven't encountered any problems, then you're ready to
-begin developing Android applications. See the
-<a href="#NextSteps">Next Steps</a> section for suggestions on how to start. </p>
-
-
-<h3 id="Troubleshooting">Troubleshooting ADT Installation</h3>
-<p>
-If you are having trouble downloading the ADT plugin after following the steps above, here are
-some suggestions: </p>
-
-<ul>
- <li>If Eclipse can not find the remote update site containing the ADT plugin, try changing
- the remote site URL to use http, rather than https. That is, set the Location for the remote site to:
- <pre>http://dl-ssl.google.com/android/eclipse/</pre></li>
- <li>If you are behind a firewall (such as a corporate firewall), make
- sure that you have properly configured your proxy settings in Eclipse.
- In Eclipse 3.3/3.4, you can configure proxy information from the main
- Eclipse menu in <strong>Window</strong> (on Mac, <strong>Eclipse</strong>) &gt;
- <strong>Preferences</strong> &gt; <strong>General</strong> &gt;
- <strong>Network Connections</strong>.</li>
-</ul>
-<p>
-If you are still unable to use Eclipse to download the ADT plugin as a remote update site, you
-can download the ADT zip file to your local machine and manually install the it:
-</p>
-<ol>
- <li><a href="http://developer.android.com/sdk/preview/index.html">Download the ADT Plugin zip file</a> (do not unpack it).</li>
- <li>Follow steps 1 and 2 in the default install instructions (above).</li>
- <li>In Eclipse 3.3, click <strong>New Archive Site...</strong>. <br/>
- In Eclipse 3.4, click <strong>Add Site...</strong>, then <strong>Archive...</strong></li>
- <li>Browse and select the downloaded zip file.</li>
- <li>Follow the remaining procedures, above, starting from steps 5.</li>
-</ol>
-<p>To update your plugin once you've installed using the zip file, you will have to
-follow these steps again instead of the default update instructions.</p>
-
-<h4>Other install errors</h4>
-
-<p>Note that there are features of ADT that require some optional
-Eclipse components (for example, WST). If you encounter an error when
-installing ADT, your Eclipse installion might not include these components.
-For information about how to quickly add the necessary components to your
-Eclipse installation, see the troubleshooting topic
-<a href="{@docRoot}guide/appendix/faq/troubleshooting.html#installeclipsecomponents">ADT
-Installation Error: "requires plug-in org.eclipse.wst.sse.ui"</a>.</p>
-
-<h4>For Linux users</h4>
-<p>If you encounter this error when installing the ADT Plugin for Eclipse:
-<pre>
-An error occurred during provisioning.
-Cannot connect to keystore.
-JKS</pre>
-<p>
-...then your development machine lacks a suitable Java VM. Installing Sun
-Java 6 will resolve this issue and you can then reinstall the ADT
-Plugin.</p>
-
-
-<h2 id="NextSteps">Next Steps</h2>
-<p>Once you have completed installation, you are ready to
-begin developing applications. Here are a few ways you can get started: </p>
-
-<p><strong>Learn about Android</strong></p>
-<ul>
- <li>Take a look at the <a href="{@docRoot}guide/index.html">Dev
- Guide</a> and the types of information it provides</li>
- <li>Read an introduction to Android as a platform in <a
- href="{@docRoot}guide/basics/what-is-android.html">What is
- Android?</a></li>
- <li>Learn about the Android framework and how applications run on it in
- <a href="{@docRoot}guide/topics/fundamentals.html">Application
- Fundamentals</a></li>
- <li>Take a look at the Android framework API specification in the <a
- href="{@docRoot}reference/packages.html">Reference</a> tab</li>
-</ul>
-
-<p><strong>Explore the SDK</strong></p>
-<ul>
- <li>Get an overview of the <a
- href="{@docRoot}guide/developing/tools/index.html">development
- tools</a> that are available to you</li>
- <li>Read how to develop <a
- href="{@docRoot}guide/developing/eclipse-adt.html">in Eclipse/ADT</a> or
- <a href="{@docRoot}guide/developing/other-ide.html">in other IDEs</a>
- </li>
-</ul>
-
-<p><strong>Explore some code</strong></p>
-<ul>
- <li>Set up a <a href="{@docRoot}guide/tutorials/hello-world.html">Hello
- World application</a> (highly recommended, especially for Eclipse users)</li>
- <li>Follow the <a href="{@docRoot}guide/tutorials/notepad/index.html">
- Notepad Tutorial</a> to build a full Android application </li>
- <li>Create a new project for one of the other sample applications
- included in <code><em>&lt;sdk&gt;</em>/platforms/<em>&lt;platfrom&gt;</em>/samples</code>,
- then compile and run it in your development environment</li>
-</ul>
-
-<p><strong>Visit the Android developer groups</strong></p>
-<ul>
- <li>Take a look at the <a
- href="{@docRoot}community/index.html">Community</a> tab to see a list of
- Android developers groups. In particular, you might want to look at the
- <a href="http://groups.google.com/group/android-developers">Android
- Developers</a> group to get a sense for what the Android developer
- community is like.</li>
-</ul>
-
-
-<h2 id="InstallationNotes">Installation Notes</h2>
-
-<h3>Ubuntu Linux Notes</h3>
-
-<ul>
- <li>If you need help installing and configuring Java on your
- development machine, you might find these resources helpful:
- <ul>
- <li><a href="https://help.ubuntu.com/community/Java">https://help.ubuntu.com/community/Java </a></li>
- <li><a href="https://help.ubuntu.com/community/Java">https://help.ubuntu.com/community/JavaInstallation</a></li>
- </ul>
- </li>
- <li>Here are the steps to install Java and Eclipse, prior to installing
- the Android SDK and ADT Plugin.
- <ol>
- <li>If you are running a 64-bit distribution on your development
- machine, you need to install the <code>ia32-libs</code> package using
- <code>apt-get:</code>:
- <pre>apt-get install ia32-libs</pre>
- </li>
- <li>Next, install Java: <pre>apt-get install sun-java6-bin</pre></li>
- <li>The Ubuntu package manager does not currently offer an Eclipse 3.3
- version for download, so we recommend that you download Eclipse from
- eclipse.org (<a
- href="http://www.eclipse.org/downloads/">http://www.eclipse.org/
- downloads/</a>). A Java or RCP version of Eclipse is recommended.</li>
- <li>Follow the steps given in previous sections to install the SDK
- and the ADT plugin. </li>
- </ol>
- </li>
-</ul>
-
-<h3>Other Linux Notes</h3>
-
-<ul>
- <li>If JDK is already installed on your development computer, please
- take a moment to make sure that it meets the version requirements listed
- in the <a href="{@docRoot}sdk/{@sdkCurrent}/requirements.html">System Requirements</a>.
- In particular, note that some Linux distributions may include JDK 1.4 or Gnu
- Compiler for Java, both of which are not supported for Android development.</li>
-</ul>
-
-
-
diff --git a/docs/html/sdk/preview/requirements.jd b/docs/html/sdk/preview/requirements.jd
index 15731e0..1e6b26b 100644
--- a/docs/html/sdk/preview/requirements.jd
+++ b/docs/html/sdk/preview/requirements.jd
@@ -1,45 +1,5 @@
-page.title=System Requirements
-sdk.version=1.6
-sdk.preview=true
-@jd:body
-
-<p>The sections below describe the system and software requirements for developing
-Android applications using the Android SDK tools included in Android
-<?cs var:sdk.version ?> SDK<?cs if:sdk.rel.id ?>, Release <?cs var:sdk.rel.id ?><?cs /if ?>. </p>
+sdk.redirect=true
-<h3>Supported Operating Systems</h3>
-<ul>
- <li>Windows XP (32-bit) or Vista (32- or 64-bit)</li>
- <li>Mac OS X 10.4.8 or later (x86 only)</li>
- <li>Linux (tested on Linux Ubuntu Dapper Drake)</li>
-</ul>
+@jd:body
-<h3>Supported Development Environments</h3>
-<ul>
- <li>Eclipse IDE
- <ul>
- <li><a href="http://www.eclipse.org/downloads/">Eclipse</a> 3.3 (Europa), 3.4 (Ganymede), 3.5 (Galileo)
- <ul>
- <li><strong>Note:</strong> Eclipse 3.3 has not been fully tested with ADT 0.9.2 and support can no longer be guaranteed. We suggest you upgrade to
- Eclipse 3.4 or 3.5.</li>
- <li>Recommended Eclipse IDE packages: Eclipse IDE for Java EE Developers, Eclipse IDE for Java Developers, Eclipse for RCP/Plug-in Developers</li>
- <li>Eclipse <a href="http://www.eclipse.org/jdt">JDT</a> plugin (included in most Eclipse IDE packages) </li>
- <li>Eclipse Classic IDE package is not supported.</li>
- </ul>
- </li>
- <li><a href="http://java.sun.com/javase/downloads/index.jsp">JDK 5 or JDK 6</a> (JRE alone is not sufficient)</li>
- <li><a href="installing.html#installingplugin">Android Development Tools plugin</a> (optional)</li>
- <li><strong>Not</strong> compatible with Gnu Compiler for Java (gcj)</li>
- </ul>
- </li>
- <li>Other development environments or IDEs
- <ul>
- <li><a href="http://java.sun.com/javase/downloads/index.jsp">JDK 5 or JDK 6</a> (JRE alone is not sufficient)</li>
- <li><a href="http://ant.apache.org/">Apache Ant</a> 1.6.5 or later for Linux and Mac, 1.7 or later for Windows</li>
- <li><strong>Not</strong> compatible with Gnu Compiler for Java (gcj)</li>
- </ul>
- </li>
-</ul>
-<p class="note"><strong>Note:</strong> If JDK is already installed on your development computer, please take a moment to make sure that it meets the version requirements listed above. In
-particular, note that some Linux distributions may include JDK 1.4 or Gnu Compiler for Java, both of which are not supported for Android development. </p> \ No newline at end of file
diff --git a/docs/html/sdk/preview/upgrading.jd b/docs/html/sdk/preview/upgrading.jd
index da2eb25..1e6b26b 100644
--- a/docs/html/sdk/preview/upgrading.jd
+++ b/docs/html/sdk/preview/upgrading.jd
@@ -1,258 +1,5 @@
-page.title=Upgrading the SDK
-sdk.version=1.6
-sdk.preview=true
-@jd:body
-
-
-<div id="qv-wrapper">
-<div id="qv">
-
- <h2>Upgrading the SDK</h2>
- <ul>
- <li>ADT 0.9 / 0.9.1 is not compatible with the Android 1.6 Early Look SDK. You must upgrade
- ADT to 0.9.2.</li>
- <li>The Early Look SDK uses a special provisional API Level, "Donut", which is required
- to compile against the new Donut platform.</li>
- </ul>
-
- <h2>In this document</h2>
- <ol>
- <li><a href="#Install">Install the SDK</a></li>
- <li><a href="#UpdateAdt">Update Your Eclipse ADT Plugin</a></li>
- <li><a href="#RunYourApps">Run Your Applications</a></li>
- <li><a href="#ConvertYourApps">Convert Your Applications</a></li>
- </ol>
-
- <h2>Migrating references</h2>
- <ol>
- <li><a href="{@docRoot}sdk/api_diff/4/changes.html">Android 1.6 Early Look API Differences</a></li>
- </ol>
-
-</div>
-</div>
-
-<p>This document describes how to move your development environment and existing
-Android applications from an Android 1.5 SDK to the Android 1.6 Early Look SDK.
-If you are migrating applications from an SDK older than 1.5, please also read the upgrading
-document available in the Android 1.5 SDK package.</p>
-
-<p>There are several compelling reasons to upgrade, such as new SDK tools
-that make developing more efficient and new APIs that allow you to expand the feature-set
-of your applications. However, even if you or your applications don't require these enhancements,
-it's important that you upgrade to ensure that your applications run properly on the upcoming
-Android platform.</p>
-
-<p>The Android 1.6 platform will soon be deployable to devices around the world.
-If you have already released Android applications to the public, you should
-test the forward-compatibility of your applications on the latest version of the platform
-as soon as possible. It's unlikely that you'll encounter breakage in your applications, but
-in the interest of maintaining the best user experience, you should take no risks.
-So, please install the new Android SDK and test your applications on the new platform.</p>
-
-<!-- NOT AVAILABLE FOR THE PREVIEW
-<p>For more information on new SDK features and system changes,
-see the <a href="{@docRoot}sdk/android-1.5.html">Android 1.5 Version Notes</a>.</p>
--->
-
-<h2 id="Install">Install the SDK</h2>
-
-<!--
-<p>If you haven't yet downloaded the SDK, <a href="index.html">download from here</a>
-and unpack it into a safe location.</p>
--->
-<p>Now that you have the Android 1.6 Early Look SDK,
-you need to perform some of the regular installation steps.</p>
-
-
-<p>If you had previously setup your <code>PATH</code> variable to point to the SDK tools directory,
-then you need to update it to point to the new SDK. For example, for a
-<code>.bashrc</code> or <code>.bash_profile</code> file:</p>
-<pre>export PATH=$PATH:<em>&lt;your_sdk_dir></em>/tools</pre>
-
-
-<h2 id="UpdateAdt">Update Your Eclipse ADT Plugin</h2>
-
-<p>If you don't use Eclipse for development,
-skip to <a href="#RunYourApps">Run Your Applications</a>.</p>
-
-<!--
-<p><em>If you installed ADT 0.9.2 with the Android 1.6 Early Look SDK, there have been
-additional changes, so please continue with this guide and update ADT.</em></p>
--->
-
-<p>A new ADT plugin (version 0.9.2) is required for the Android 1.6 Early Look SDK.
-With ADT 0.9.2, you can still compile your applications against
-multiple platform versions, such as Android 1.5. However, previous versions
-of ADT will not work with the Android 1.6 Early Look SDK, so you must upgrade
-to ADT 0.9.2.</p>
-
-<p>If you're currently using a version of ADT <em>older</em> than version 0.9, then you must
-uninstall ADT before you proceed (read how to
-<a href="http://developer.android.com/sdk/1.5_r3/upgrading.html#uninstallAdt">Uninstall
-your previous ADT plugin</a>). If you currently have version 0.9 or 0.9.1, then you don't
-need to uninstall and can continue with the procedure below.</p>
-
-<h3 id="installAdt">Install the 0.9.2 ADT plugin</h3>
-
-<p>To install the new ADT plugin, follow the steps below for your respective version of Eclipse.</p>
-
-<table style="font-size:100%">
-<tr><th>Eclipse 3.3 (Europa)</th><th>Eclipse 3.4 (Ganymede)</th></tr>
-<tr>
-<td width="50%">
-<!-- 3.3 steps -->
-<ol>
- <li>Select <strong>Help</strong> &gt; <strong>Software Updates</strong> &gt;
- <strong>Find and Install</strong>. </li>
- <li>Select <strong>Search for new features to install</strong>.</li>
- <li>Select the Android plugin entry by checking the box next to it,
- then click <strong>Finish</strong>.
- <p>(Your original entry for the plugin should still be here. If not, see the guide
- to <a href="installing.html#installingplugin">Installing the ADT Plugin</a>.)
- </p></li>
- <li>In the results, expand the entry for the Android plugin and
- be sure that "Developer Tools" is checked, then click <strong>Next</strong>.
- (This will install "Android DDMS" and "Android Development Tools".)</li>
- <li>Read and accept the license agreement, then click <strong>Next</strong>.
- <li>In the next window, click <strong>Finish</strong> to start installation.</li>
- <li>The ADT plugin is not digitally signed. Accept the installation anyway by clicking
- <strong>Install All</strong>.</li>
- <li>Restart Eclipse.</li>
-</ol>
-</td>
-<td>
-<!-- 3.4 steps -->
-<ol>
- <li>Select <strong>Help</strong> &gt; <strong>Software Updates</strong>.</li>
- <li>Select the <strong>Available Software</strong> tab.</li>
- <li>Expand the entry for the Andriod plugin (may be listed as the location URL)
- and select "Developer Tools" by checking the box next to it, then click
- <strong>Install</strong>.</li>
- <li>On the next window, "Android DDMS" and "Android Development Tools"
- should both be checked. Click <strong>Finish</strong>.</li>
- <li>Restart Eclipse.</li>
-</ol>
-</td>
-</tr>
-</table>
-
-<p>If you encounter problems with this update procedure, try performing a fresh installation.
-Ensure your current ADT is fully uninstalled and then
-follow the guide to <a href="installing.html#InstallingADT">Installing the ADT Plugin
-for Eclipse</a>.</p>
-
-<h3 id="updateEclipsePrefs">Update your Eclipse SDK Preferences</h3>
-
-<p>The last step is to update your Eclipse preferences to point to the new SDK directory:</p>
-<ol>
- <li>Select <strong>Window</strong> > <strong>Preferences</strong> to open the Preferences
- panel (Mac: <strong>Eclipse</strong> > <strong>Preferences</strong>).</li>
- <li>Select <strong>Android</strong> from the left panel.</li>
- <li>For the SDK Location, click <strong>Browse</strong>
- and locate your SDK directory.</li>
- <li>Click <strong>Apply</strong>, then <strong>OK</strong>.</li>
-</ol>
-
-
-<h2 id="RunYourApps">Run Your Applications</h2>
-
-<p>Now that you have installed the Android 1.6 Early Look SDK, we encourage you
-to run each of your applications in an instance
-of the emulator that's running the new Android 1.6 system image. It's possible (however, unlikely)
-that you'll encounter unexpected behavior in your application when you run your applications on
-the new system image. Whether you believe your application will be affected by
-platform changes or not, it's very important that you test the application's
-forward-compatibility.</p>
-
-<p>To test forward-compatibility, simply run your application, as-is, on an instance of the Android
-Emulator that uses an AVD targeted to "Android Donut (Preview)":</p>
-
-<ol>
- <li>Make no changes to your application code.</li>
- <li>Create a new AVD that's targeted to the "Donut" platform.</li>
- <li>Launch your application in an emulator running the new AVD.</li>
- <li>Perform normal testing on your application to ensure everything works as expected.</li>
-</ol>
-
-<p>For more information on creating an AVD and launching your application refer to the
-<a href="{@docRoot}guide/developing/eclipse-adt.html#Running">Eclipse guide to
-Running Your Application</a> or the
-<a href="{@docRoot}guide/developing/other-ide.html#Running">Ant guide to
-Running Your Application</a>, depending on your development environment.</p>
-
-
-<h2 id="ConvertYourApps">Convert Your Applications</h2>
-
-<p>If you want to fully utilize new APIs introduced with the Android 1.6 Early Look SDK,
-then you'll need to convert your application to compile against the new "Donut" platform.</p>
-
-<p>First, you need to change the value of the <code>minSdkVersion</code> attribute in
-the <code>&lt;uses-sdk></code> manifest element. While
-running your application against the Donut platform included with the Early Look SDK, you
-<strong>must</strong> set the <code>minSdkVersion</code> value to "Donut". For example:</p>
-
-<pre>
-&lt;manifest>
- ...
- &lt;uses-sdk android:minSdkVersion="Donut" />
- ...
-&lt;/manifest>
-</pre>
-
-<p>This value is required only while compiling against the Donut platform included with
-the Android 1.6 Early Look SDK. Once the final SDK is made
-available for Android 1.6, you will need to change this value.
-For more information, read about the <a href="index.html#provisional">Framework API and
-Provisional API Level</a>.</p>
-
-<p>Once you've changed the <code>minSdkVersion</code> value in your application's manifest,
-continue with the procedures below to convert your applications.</p>
-
-<h3 id="EclipseUsers">Eclipse users</h3>
-
-<ol>
- <li>Right-click on the individual project (in the Package Explorer)
- and select <strong>Properties</strong>.</li>
- <li>In the properties, open the Android panel and select a new Project Build Target.
- Select "Android Donut (Preview)" to target the new
- platform (or "Google APIs" with the "Donut" platform if your application uses the Maps APIs).</li>
- <li>Click <strong>Apply</strong>, then <strong>OK</strong>.</li>
-</ol>
-
- <p>Remember that you must create an AVD that targets the same platform in order to run the emulator.
- Continue with the
- <a href="{@docRoot}guide/developing/eclipse-adt.html#Running">Eclipse guide to
- Running Your Application</a>. During the procedure to Running Your Application, select a "deployment
- target" or the AVD that includes the "Donut" platform. If your application utilizes the Google Maps APIs (i.e.,
- MapView), be certain to select a target that includes the Google APIs.</p>
-
-
-<h3 id="AntUsers">Ant users</h3>
-
- <p>Use the <code>android</code> tool (located in <code><em>your_sdk</em>/tools/</code>)
- to create a new <code>build.xml</code> that references
- the new platform target. To see a list of available targets, execute:</p>
-
- <pre>android list targets</pre>
-
- <p>Select the target <code>id</code> that corresponds to the "Donut" platform and pass it with the
- <code>--target</code> parameter when updating your project. For example:</p>
-
- <pre>android update project --path /path/to/my-project --target 2</pre>
-
-<p>Remember that you must create an Android Virtual Device (AVD) that's targeted to the
- same platform before you can run the updated application an instance
- of the emulator. Please continue with the
- <a href="{@docRoot}guide/developing/other-ide.html#Running">Ant guide to
- Running Your Application</a>. During the procedure to Running Your Application, select a "deployment
- target" for the AVD that includes the "Donut" platform.
- If your application utilizes the Google Maps APIs (i.e.,
- MapView), be certain to select a target that includes the Google APIs.</p>
+sdk.redirect=true
+@jd:body
-<div class="special">
-<p>If you have additional trouble updating your code, visit the
-<a href="http://groups.google.com/group/android-developers">Android Developers Group</a>
-to seek help from other Android developers.</p>
-</div>
diff --git a/docs/html/sdk/sdk_toc.cs b/docs/html/sdk/sdk_toc.cs
index c08d75e..64af012 100644
--- a/docs/html/sdk/sdk_toc.cs
+++ b/docs/html/sdk/sdk_toc.cs
@@ -74,6 +74,7 @@
<span class="zh-TW">系統影像版本資訊</span>
</h2>
<ul>
+ <li><a href="<?cs var:toroot ?>sdk/android-1.6.html">Android 1.6 Version Notes</a></li>
<li><a href="<?cs var:toroot ?>sdk/android-1.5.html">Android 1.5 Version Notes</a></li>
<li><a href="<?cs var:toroot ?>sdk/android-1.1.html">Android 1.1 Version Notes</a></li>
</ul>
@@ -96,6 +97,7 @@
<span class="zh-TW">較舊的 SDK 發行版本</span>
</h2>
<ul>
+ <li><a href="<?cs var:toroot ?>sdk/1.5_r3/index.html">Android 1.5 SDK, r3</a></li>
<li><a href="<?cs var:toroot ?>sdk/1.1_r1/index.html">Android 1.1 SDK, r1</a></li>
<li><a href="<?cs var:toroot ?>sdk/1.0_r2/index.html">Android 1.0 SDK, r2</a></li>
<li><a href="<?cs var:toroot ?>sdk/older_releases.html">Other Releases</a></li>