Merge "docs: fix broken links in .jd docs" into ics-mr1

This commit is contained in:
Scott Main
2012-01-10 12:53:42 -08:00
committed by Android (Google) Code Review
27 changed files with 98 additions and 114 deletions

View File

@@ -154,7 +154,7 @@ Highlights</a></td></tr>
<td>2</td>
<td>{@link android.os.Build.VERSION_CODES#BASE_1_1}</td><td></td></tr>
<tr><td><a href="{@docRoot}sdk/android-1.0.html">Android 1.0</td>
<tr><td>Android 1.0</td>
<td>1</td>
<td>{@link android.os.Build.VERSION_CODES#BASE}</td>
<td></td></tr>

View File

@@ -79,10 +79,8 @@ located in <strong>Settings > Developer options</strong>).</p>
<a href="{@docRoot}sdk/oem-usb.html">OEM USB Drivers</a> document.</li>
<li>If you're developing on Mac OS X, it just works. Skip this step.</li>
<li>If you're developing on Ubuntu Linux, you need to add a <a
href="http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html">
<code>udev</code></a>
rules file that contains a USB configuration for each type of device
<li>If you're developing on Ubuntu Linux, you need to add a
<code>udev</code> rules file that contains a USB configuration for each type of device
you want to use for development. In the rules file, each device manufacturer
is identified by a unique vendor ID, as specified by the
<code>ATTR{idVendor}</code> property. For a list of vendor IDs, see <a

View File

@@ -480,7 +480,7 @@ on disk images, use <code>-help-disk-images</code>.</p>
<td>Enable the root shell (as in <code>-shell</code> and specify the QEMU character
device to use for communication with the shell.</td>
<td>&lt;device&gt; must be a QEMU device type. See the documentation for '-serial <em>dev</em>' at
<a href="http://www.nongnu.org/qemu/qemu-doc.html#SEC10">http://www.bellard.org/qemu/qemu-doc.html#SEC10</a>
<a href="http://wiki.qemu.org/download/qemu-doc.html">http://wiki.qemu.org/download/qemu-doc.html</a>
for a list of device types.
<p>Here are some examples: </p>
@@ -619,7 +619,7 @@ scale in direct relationship with &lt;delay&gt; values.</p>
<td>Use this command to emulate an NMEA-compatible GPS unit connected to
an external character device or socket. The format of <code>&lt;device&gt;</code> must be QEMU-specific
serial device specification. See the documentation for 'serial -dev' at
<a href="http://www.bellard.org/qemu/qemu-doc.html#SEC10">http://www.bellard.org/qemu/qemu-doc.html#SEC10</a>.
<a href="http://wiki.qemu.org/download/qemu-doc.html">http://wiki.qemu.org/download/qemu-doc.html</a>.
</td>
</tr>
<tr>
@@ -638,7 +638,7 @@ scale in direct relationship with &lt;delay&gt; values.</p>
<td>Redirect radio mode to the specified character device.</td>
<td>The format of <code>&lt;device&gt;</code> must be QEMU-specific
serial device specification. See the documentation for 'serial -dev' at
<a href="http://www.bellard.org/qemu/qemu-doc.html#SEC10">http://www.bellard.org/qemu/qemu-doc.html#SEC10</a>.
<a href="http://wiki.qemu.org/download/qemu-doc.html">http://wiki.qemu.org/download/qemu-doc.html</a>.
</td>
</tr>
<tr>

View File

@@ -46,7 +46,7 @@ android:targetSdkVersion}</a> set to {@code "4"} or higher, then this document i
default, an application written for Android 1.5 or below that does not set the <a
href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
android:targetSdkVersion}</a> set to {@code "4"} or higher runs in <a
href="screen-compat-mode">screen compatibility mode</a> when on a device with a screen larger than
href="screen-compat-mode.html">screen compatibility mode</a> when on a device with a screen larger than
the
<em>normal</em> screen size (basically, the system displays the application in a small window
that is roughly the size of the normal screen size).</p>

View File

@@ -126,8 +126,8 @@ applications.</p>
<p>Use of <a
href="{@docRoot}reference/android/content/Context.html#MODE_WORLD_WRITEABLE">
world writable</a> or <a
href="{@docRoot}reference/android/content/Context.html#MODE_WORLD_READABLE
">world readable</a> files for IPC is discouraged because it does not provide
href="{@docRoot}reference/android/content/Context.html#MODE_WORLD_READABLE">world
readable</a> files for IPC is discouraged because it does not provide
the ability to limit data access to particular applications, nor does it
provide any control on data format. As an alternative, you might consider using
a ContentProvider which provides read and write permissions, and can make
@@ -199,10 +199,10 @@ ContentProvider</a></code>.</p>
<p>ContentProviders can also provide more granular access by declaring the <a
href="{@docRoot}guide/topics/manifest/provider-element.html#gprmsn">
grantUriPermissions</a> element and using the <code><a
href="{@docRoot}reference/android/content/Intent.html#FLAG_GRANT_READ_URI_PERMIS
SION">FLAG_GRANT_READ_URI_PERMISSION</a></code> and <code><a
href="{@docRoot}reference/android/content/Intent.html#FLAG_GRANT_WRITE_URI_PERMI
SSION">FLAG_GRANT_WRITE_URI_PERMISSION</a></code> flags in the Intent object
href="{@docRoot}reference/android/content/Intent.html#FLAG_GRANT_READ_URI_PERMISSION">FLAG_GRANT_READ_URI_PERMISSION</a></code>
and <code><a
href="{@docRoot}reference/android/content/Intent.html#FLAG_GRANT_WRITE_URI_PERMISSION">FLAG_GRANT_WRITE_URI_PERMISSION</a></code>
flags in the Intent object
that activates the component. The scope of these permissions can be further
limited by the <code><a
href="{@docRoot}guide/topics/manifest/grant-uri-permission-element.html">
@@ -211,14 +211,9 @@ grant-uri-permission element</a></code>.</p>
<p>When accessing a <code>
<a href="{@docRoot}reference/android/content/ContentProvider.html">
ContentProvider</a></code>, use parameterized query methods such as <code>
<a href="{@docRoot}reference/android/content/ContentProvider.html#query(android.net
.Uri,%20java.lang.String[],%20java.lang.String,%20java.lang.String[],%20java.lan
g.String)">query()</a></code>, <code><a
href="{@docRoot}reference/android/content/ContentProvider.html#update(android.ne
t.Uri,%20android.content.ContentValues,%20java.lang.String,%20java.lang.String[]
)">update()</a></code>, and <code><a
href="{@docRoot}reference/android/content/ContentProvider.html#delete(android.ne
t.Uri,%20java.lang.String,%20java.lang.String[])">delete()</a></code> to avoid
<a href="{@docRoot}reference/android/content/ContentProvider.html#query(android.net.Uri,%20java.lang.String[],%20java.lang.String,%20java.lang.String[],%20java.lang.String)">query()</a></code>, <code><a
href="{@docRoot}reference/android/content/ContentProvider.html#update(android.net.Uri,%20android.content.ContentValues,%20java.lang.String,%20java.lang.String[])">update()</a></code>, and <code><a
href="{@docRoot}reference/android/content/ContentProvider.html#delete(android.net.Uri,%20java.lang.String,%20java.lang.String[])">delete()</a></code> to avoid
potential <a href="http://en.wikipedia.org/wiki/SQL_injection">SQL
Injection</a> from untrusted data. Note that using parameterized methods is not
sufficient if the <code>selection</code> is built by concatenating user data
@@ -249,8 +244,9 @@ href="{@docRoot}reference/android/R.styleable.html#AndroidManifestActivity">
Activities</a>, and <a
href="{@docRoot}reference/android/R.styleable.html#AndroidManifestService">
Services</a> are all declared in the application manifest. If your IPC mechanism is
not intended for use by other applications, set the android:exported property
to false. This is useful for applications that consist of multiple processes
not intended for use by other applications, set the <a
href="{@docRoot}guide/topics/manifest/service-element.html#exported">{@code android:exported}</a>
property to false. This is useful for applications that consist of multiple processes
within the same UID, or if you decide late in development that you do not
actually want to expose functionality as IPC but you dont want to rewrite
the code.</p>
@@ -276,11 +272,10 @@ activity.</p>
<p>Intents are the preferred mechanism for asynchronous IPC in Android.
Depending on your application requirements, you might use <code><a
href="{@docRoot}reference/android/content/Context.html#sendBroadcast(android.con
tent.Intent)">sendBroadcast()</a></code>, <code><a
href="{@docRoot}reference/android/content/Context.html#sendOrderedBroadcast(andr
oid.content.Intent,%20java.lang.String)">sendOrderedBroadcast()</a></code>, or
direct an intent to a specific application component.</p>
href="{@docRoot}reference/android/content/Context.html#sendBroadcast(android.content.Intent)">sendBroadcast()</a></code>,
<code><a
href="{@docRoot}reference/android/content/Context.html#sendOrderedBroadcast(android.content.Intent,%20java.lang.String)">sendOrderedBroadcast()</a></code>,
or direct an intent to a specific application component.</p>
<p>Note that ordered broadcasts can be “consumed” by a recipient, so they
may not be delivered to all applications. If you are sending an Intent where
@@ -311,14 +306,13 @@ and/or access controls on a specific binder interface, those controls must be
explicitly added as code in the interface.</p>
<p>If providing an interface that does require access controls, use <code><a
href="{@docRoot}reference/android/content/Context.html#checkCallingPermission(ja
va.lang.String)">checkCallingPermission()</a></code> to verify whether the
href="{@docRoot}reference/android/content/Context.html#checkCallingPermission(java.lang.String)">checkCallingPermission()</a></code>
to verify whether the
caller of the Binder has a required permission. This is especially important
before accessing a Service on behalf of the caller, as the identify of your
application is passed to other interfaces. If invoking an interface provided
by a Service, the <code><a
href="{@docRoot}reference/android/content/Context.html#bindService(android.conte
nt.Intent,%20android.content.ServiceConnection,%20int)">bindService()</a></code>
href="{@docRoot}reference/android/content/Context.html#bindService(android.content.Intent,%20android.content.ServiceConnection,%20int)">bindService()</a></code>
invocation may fail if you do not have permission to access the given Service.
If calling an interface provided locally by your own application, it may be
useful to use the <code><a
@@ -332,14 +326,14 @@ an intent.</p>
<p>By default, receivers are exported and can be invoked by any other
application. If your <code><a
href={@docRoot}reference/android/content/BroadcastReceiver.html">
href="{@docRoot}reference/android/content/BroadcastReceiver.html">
BroadcastReceivers</a></code> is intended for use by other applications, you
may want to apply security permissions to receivers using the <code><a
href="{@docRoot}reference/android/R.styleable.html#AndroidManifestReceiver">
href="{@docRoot}guide/topics/manifest/receiver-element.html">
&lt;receiver&gt;</a></code> element within the application manifest. This will
prevent applications without appropriate permissions from sending an intent to
the <code><a
href={@docRoot}reference/android/content/BroadcastReceiver.html">
href="{@docRoot}reference/android/content/BroadcastReceiver.html">
BroadcastReceivers</a></code>.</p>
<h3>Using Services</h3>
@@ -349,19 +343,21 @@ use. Each service class must have a corresponding <service> declaration in its
package's AndroidManifest.xml.</p>
<p>By default, Services are exported and can be invoked by any other
application. Services can be protected using the android:permission attribute
application. Services can be protected using the <a
href="{@docRoot}guide/topics/manifest/service-element.html#prmsn">{@code android:permission}</a>
attribute
within the manifests <code><a
href="{@docRoot}reference/android/R.styleable.html#AndroidManifestService">
href="{@docRoot}guide/topics/manifest/service-element.html">
&lt;service&gt;</a></code> tag. By doing so, other applications will need to declare
a corresponding <code><a
href="{@docRoot}reference/android/R.styleable.html#AndroidManifestService_permis
sion">&lt;uses-permission&gt;</a></code> element in their own manifest to be
href="{@docRoot}guide/topics/manifest/uses-permission-element.html">&lt;uses-permission&gt;</a>
</code> element in their own manifest to be
able to start, stop, or bind to the service.</p>
<p>A Service can protect individual IPC calls into it with permissions, by
calling <code><a
href="{@docRoot}reference/android/content/Context.html#checkCallingPermission(ja
va.lang.String)">checkCallingPermission()</a></code>before executing
href="{@docRoot}reference/android/content/Context.html#checkCallingPermission(java.lang.String)">checkCallingPermission()</a></code>
before executing
the implementation of that call. We generally recommend using the
declarative permissions in the manifest, since those are less prone to
oversight.</p>
@@ -376,9 +372,9 @@ Service to handle IPC, since this modular approach reduces the risk of exposing
functionality that is not intended for use by other applications.</p>
<p>If you do expose an Activity for purposes of IPC, the <code><a
href="{@docRoot}reference/android/R.styleable.html#AndroidManifestActivity_permi
ssion">android:permission</a></code> attribute in the <code><a
href="{@docRoot}reference/android/R.styleable.html#AndroidManifestActivity">
href="{@docRoot}guide/topics/manifest/activity-element.html#prmsn">android:permission</a></code>
attribute in the <code><a
href="{@docRoot}guide/topics/manifest/activity-element.html">
&lt;activity&gt;</a></code> declaration in the application manifest can be used to
restrict access to only those applications which have the stated
permissions.</p>
@@ -432,8 +428,8 @@ rkeley.edu/~afelt/felt_usenixsec2011.pdf</a></p>
<p>Generally, you should strive to create as few permissions as possible while
satisfying your security requirements. Creating a new permission is relatively
uncommon for most applications, since <a
href="{@docRoot}reference/android/Manifest.permission.html">
system-defined permissions</a> cover many situations. Where appropriate,
href="{@docRoot}reference/android/Manifest.permission.html">system-defined
permissions</a> cover many situations. Where appropriate,
perform access checks using existing permissions.</p>
<p>If you must create a new permission, consider whether you can accomplish
@@ -560,17 +556,14 @@ href="{@docRoot}reference/android/webkit/WebView.html">WebView</a></code> does
not execute JavaScript so cross-site-scripting is not possible.</p>
<p>Use <code><a
href="{@docRoot}reference/android/webkit/WebView.html#addJavascriptInterface(jav
a.lang.Object,%20java.lang.String)">addJavaScriptInterface()</a></code> with
href="{@docRoot}reference/android/webkit/WebView.html#addJavascriptInterface(java.lang.Object,%20java.lang.String)">addJavaScriptInterface()</a></code> with
particular care because it allows JavaScript to invoke operations that are
normally reserved for Android applications. Only expose <code><a
href="{@docRoot}reference/android/webkit/WebView.html#addJavascriptInterface(jav
a.lang.Object,%20java.lang.String)">addJavaScriptInterface()</a></code> to
href="{@docRoot}reference/android/webkit/WebView.html#addJavascriptInterface(java.lang.Object,%20java.lang.String)">addJavaScriptInterface()</a></code> to
sources from which all input is trustworthy. If untrusted input is allowed,
untrusted JavaScript may be able to invoke Android methods. In general, we
recommend only exposing <code><a
href="{@docRoot}reference/android/webkit/WebView.html#addJavascriptInterface(jav
a.lang.Object,%20java.lang.String)">addJavaScriptInterface()</a></code> to
href="{@docRoot}reference/android/webkit/WebView.html#addJavascriptInterface(java.lang.Object,%20java.lang.String)">addJavaScriptInterface()</a></code> to
JavaScript that is contained within your application APK.</p>
<p>Do not trust information downloaded over HTTP, use HTTPS instead. Even if
@@ -578,13 +571,11 @@ you are connecting only to a single website that you trust or control, HTTP is
subject to <a
href="http://en.wikipedia.org/wiki/Man-in-the-middle_attack">MiTM</a> attacks
and interception of data. Sensitive capabilities using <code><a
href="{@docRoot}reference/android/webkit/WebView.html#addJavascriptInterface(jav
a.lang.Object,%20java.lang.String)">addJavaScriptInterface()</a></code> should
href="{@docRoot}reference/android/webkit/WebView.html#addJavascriptInterface(java.lang.Object,%20java.lang.String)">addJavaScriptInterface()</a></code> should
not ever be exposed to unverified script downloaded over HTTP. Note that even
with the use of HTTPS,
<code><a
href="{@docRoot}reference/android/webkit/WebView.html#addJavascriptInterface(jav
a.lang.Object,%20java.lang.String)">addJavaScriptInterface()</a></code>
href="{@docRoot}reference/android/webkit/WebView.html#addJavascriptInterface(java.lang.Object,%20java.lang.String)">addJavaScriptInterface()</a></code>
increases the attack surface of your application to include the server
infrastructure and all CAs trusted by the Android-powered device.</p>
@@ -683,8 +674,7 @@ discussed in the Requesting Permissions section.</p>
<p>If a GUID is required, create a large, unique number and store it. Do not
use phone identifiers such as the phone number or IMEI which may be associated
with personal information. This topic is discussed in more detail in the <a
href="http://android-developers.blogspot.com/2011/03/identifying-app-installatio
ns.html">Android Developer Blog</a>.</p>
href="http://android-developers.blogspot.com/2011/03/identifying-app-installations.html">Android Developer Blog</a>.</p>
<p>Application developers should be careful writing to on-device logs.
In Android, logs are a shared resource, and are available
@@ -724,9 +714,8 @@ credentials to the wrong application.</p>
<p>If credentials are to be used only by applications that you create, then you
can verify the application which accesses the <code><a
href="{@docRoot}reference/android/accounts/AccountManager.html">
AccountManager</a></code> using <code><a href="<code><a
href="{@docRoot}h/reference/android/content/pm/PackageManager.html#checkSignatur
es(java.lang.String,%20java.lang.String)">checkSignature()</a></code>.
AccountManager</a></code> using <code><a
href="{@docRoot}reference/android/content/pm/PackageManager.html#checkSignatures(java.lang.String,%20java.lang.String)">checkSignature()</a></code>.
Alternatively, if only one application will use the credential, you might use a
<code><a
href={@docRoot}reference/java/security/KeyStore.html">KeyStore</a></code> for
@@ -756,15 +745,15 @@ RSA provided in the <code><a
href="{@docRoot}reference/javax/crypto/Cipher.html">Cipher</a></code> class.</p>
<p>Use a secure random number generator (
<a href="http://developer.android.com/reference/java/security/SecureRandom.html">
<a href="{@docRoot}reference/java/security/SecureRandom.html">
<code>SecureRandom</code></a>) to initialize any cryptographic keys (<a
href="http://developer.android.com/reference/javax/crypto/KeyGenerator.html">
href="{@docRoot}reference/javax/crypto/KeyGenerator.html">
<code>KeyGenerator</code></a>). Use of a key that is not generated with a secure random
number generator significantly weakens the strength of the algorithm, and may
allow offline attacks.</p>
<p>If you need to store a key for repeated use, use a mechanism like <code><a
href={@docRoot}reference/java/security/KeyStore.html">KeyStore</a></code> that
href="{@docRoot}reference/java/security/KeyStore.html">KeyStore</a></code> that
provides a mechanism for long term storage and retrieval of cryptographic
keys.</p>

View File

@@ -481,7 +481,7 @@ href="{@docRoot}guide/topics/ui/actionbar.html#Home">Action Bar</a> developer gu
information in each list item based on the available space. That is, you can create alternative
layouts to be used by the items in your list adapter such that a large screen might display more
detail for each item.</li>
<li>Create <a href="{@docRoot}guide/topics/resources/more-resources.html ">alternative resource
<li>Create <a href="{@docRoot}guide/topics/resources/more-resources.html">alternative resource
files</a> for values such as integers, dimensions, and even booleans. Using size qualifiers for
these resources, you can easily apply different layout sizes, font sizes, or enable/disable features
based on the current screen size.</li>

View File

@@ -120,8 +120,8 @@ suitable private key</a>.</p>
<p>You may also have to obtain other release keys if your application accesses a service or uses a
third-party library that requires you to use a key that is based on your private key. For example,
if your application uses the <a
href="http://code.google.com/android/add-ons/google-apis/reference/com/google/android/maps/ MapView.
html">MapView</a> class, which is part of the <a
href="http://code.google.com/android/add-ons/google-apis/reference/com/google/android/maps/MapView.html">MapView</a>
class, which is part of the <a
href="http://code.google.com/android/add-ons/google-apis/maps-overview.html">Google Maps external
library</a>, you will need to register your application with the Google Maps service and obtain
a Maps API key. For information about getting a Maps API key, see <a

View File

@@ -21,7 +21,7 @@ page.title=Publishing Overview
</ol>
<h2>See also</h2>
<ol>
<li><a href="{@docRoot}guide/publishing/publishing_preparing.html">Preparing for
<li><a href="{@docRoot}guide/publishing/preparing.html">Preparing for
Release</a></li>
<li><a href="{@docRoot}guide/publishing/publishing.html">Publishing on Android Market</a></li>
</ol>

View File

@@ -518,15 +518,12 @@ method. From within the Service, you can perform your own updates
to the App Widget without worrying about the AppWidgetProvider closing down due
to an <a href="{@docRoot}guide/practices/design/responsiveness.html">Application
Not Responding</a> (ANR) error. See the <a
href="http://code.google.com/p/wiktionary-android/source/browse/trunk/Wiktionary
/src/com/example/android/wiktionary/WordWidget.java">Wiktionary sample's
AppWidgetProvider</a> for an example of an App Widget running a {@link
href="http://code.google.com/p/wiktionary-android/source/browse/trunk/Wiktionary/src/com/example/android/wiktionary/WordWidget.java">Wiktionary sample's AppWidgetProvider</a> for an example of an App Widget running a {@link
android.app.Service}.</p>
<p>Also see the <a
href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/
appwidget/ExampleAppWidgetProvider.html">
ExampleAppWidgetProvider.java</a> sample class.</p>
href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/appwidget/ExampleAppWidgetProvider.html">ExampleAppWidgetProvider.java</a>
sample class.</p>
<h3 id="ProviderBroadcasts">Receiving App Widget broadcast Intents</h3>
@@ -683,9 +680,8 @@ cancelled and the
App Widget will not be added.</p>
<p>See the <a
href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/
appwidget/ExampleAppWidgetConfigure.html">
ExampleAppWidgetConfigure.java</a> sample class in ApiDemos for an example.</p>
href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/appwidget/ExampleAppWidgetConfigure.html">ExampleAppWidgetConfigure.java</a>
sample class in ApiDemos for an example.</p>
<h2 id="preview">Setting a Preview Image</h2>

View File

@@ -59,7 +59,7 @@ by the system and will never be run.
<dt>attributes:</dt>
<dd><dl class="attr">
<dt><a href name="reparent"></a>{@code android:allowTaskReparenting}</dt>
<dt><a name="reparent"></a>{@code android:allowTaskReparenting}</dt>
<dd>Whether or not the activity can move from the task that started it to
the task it has an affinity for when that task is next brought to the
front &mdash; "{@code true}" if it can move, and "{@code false}" if it

View File

@@ -249,7 +249,7 @@ of that name is created. A global process can be shared with other
applications, reducing resource usage.
</p></dd>
<dt><a href name="restoreany"></a>{@code android:restoreAnyVersion}</dt>
<dt><a name="restoreany"></a>{@code android:restoreAnyVersion}</dt>
<dd>Indicate that the application is prepared to attempt a restore of any
backed-up data set, even if the backup was stored by a newer version
of the application than is currently installed on the device. Setting
@@ -260,7 +260,7 @@ incompatible. <em>Use with caution!</em>
<p>The default value of this attribute is {@code false}.
</p></dd>
<dt><a href name="aff"></a>{@code android:taskAffinity}</dt>
<dt><a name="aff"></a>{@code android:taskAffinity}</dt>
<dd>An affinity name that applies to all activities within the application,
except for those that set a different affinity with their own
<code><a href="{@docRoot}guide/topics/manifest/activity-element.html#aff">taskAffinity</a></code>

View File

@@ -251,7 +251,7 @@ href="{@docRoot}guide/topics/resources/runtime-changes.html">Handling Runtime Ch
"background media" even when the user leaves your activity, much in the same
way that the built-in Music application behaves. In this case, what you need is
a {@link android.media.MediaPlayer MediaPlayer} controlled by a {@link android.app.Service}, as
discussed in <a href="mpandservices">Using a Service with MediaPlayer</a>.</p>
discussed in <a href="#mpandservices">Using a Service with MediaPlayer</a>.</p>
<h2 id="mpandservices">Using a Service with MediaPlayer</h2>

View File

@@ -666,7 +666,7 @@ Android Market is launched to download the application.</p>
potentially handling specific tags that you have deployed. AARs are only supported at the
application level, because of the package name constraint, and not at the Activity level as with
intent filtering. If you want to handle an intent at the Activity level, <a
href="filtering-intents">use intent filters</a>.
href="#filtering-intents">use intent filters</a>.
</p>
@@ -795,8 +795,8 @@ depending on what the user is doing in your application.</p>
<p>The following sample shows how a simple activity calls {@link
android.nfc.NfcAdapter.CreateNdefMessageCallback} in the <code>onCreate()</code> method of an
activity (see <a href="{@docRoot}resources/samples/AndroidBeam/index.html"></a> for the
complete sample). This example also has methods to help you create a MIME record:</p>
activity (see <a href="{@docRoot}resources/samples/AndroidBeamDemo/index.html">AndroidBeamDemo</a>
for the complete sample). This example also has methods to help you create a MIME record:</p>
<pre id="code-example">
package com.example.android.beam;

View File

@@ -376,7 +376,7 @@ describes how these classes are generated through reflection.</p>
you call the constructor for the {@link android.renderscript.Script.FieldBase} class and specify
the amount of structures that you want to allocate memory for. To allocate memory for a primitive
type pointer, you must build an allocation manually, using the memory management classes
described in <a href="mem-mgmt-table">Table 1</a>. The example below allocates memory for both
described in <a href="#mem-mgmt-table">Table 1</a>. The example below allocates memory for both
the <code>intPointer</code> and <code>touchPoints</code> pointer and binds it to the
RenderScript:</p>
<pre>

View File

@@ -335,7 +335,7 @@ set.start();
<dd>
<ul>
<li><a href="{@docRoot}guide/topics/graphics/animation.html">Property Animation</a></li>
<li><a href="http://zoso:8080/resources/samples/ApiDemos/src/com/example/android/apis/animation/index.html">API Demos</a> for examples
<li><a href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/animation/index.html">API Demos</a> for examples
on how to use the property animation system.</li>
</ul>
</dd>

View File

@@ -28,7 +28,7 @@ parent.link=index.html
href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/os/RotationVectorDemo.html">
API Demos (OS - RotationVectorDemo)</a></li>
<li><a
href="{@docRoot}/resources/samples/ApiDemos/src/com/example/android/apis/os/RotationVectorDemo.html"
href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/os/RotationVectorDemo.html"
>API Demos (OS - Sensors)</a></li>
</ol>
<h2>See also</h2>

View File

@@ -642,7 +642,7 @@ work as designed otherwise.</p>
<p>Adding this value requires that you set your build target to Android 4.0 or higher in order to
compile. Older versions of Android ignore the {@code "collapseActionView"} value because they don't
understand it. Just be sure not to use other APIs in your source code that are not supported in the
version declared by your <a href="{@docRoot}guide/topics/manifest/uses-sdk-elementl.html#min">{@code
version declared by your <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code
minSdkVersion}</a>, unless you add the appropriate version check at runtime.</p>
</div>
</div>
@@ -843,8 +843,8 @@ you <em>do not</em> need to handle click events from the {@link
android.app.Activity#onOptionsItemSelected onOptionsItemSelected()} callback method.</p>
<p>For a sample using the share action provider, see
<a href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/ActionBarActionProviderActivity.html"
>ActionBarActionProviderActivity</a>.
<a href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/ActionBarShareActionProviderActivity.html"
>ActionBarShareActionProviderActivity</a>.

View File

@@ -169,8 +169,9 @@ UsbAccessory accessory = (UsbAccessory) intent.getParcelableExtra(UsbManager.EXT
include a <code>&lt;uses-feature&gt;</code> element that declares that your application uses
the <code>android.hardware.usb.accessory</code> feature.</li>
<li>If you are using the <a href="addon">add-on library</a>, add the
<code>&lt;uses-library&gt;</code> element specifying
<li>If you are using the
<a href="http://code.google.com/android/add-ons/google-apis/index.html">add-on library</a>,
add the <code>&lt;uses-library&gt;</code> element specifying
<code>com.android.future.usb.accessory</code> for the library.</li>
<li>Set the minimum SDK of the application to API Level 10 if you are using the add-on library

View File

@@ -699,7 +699,7 @@ bool AndroidAccessory::switchDevice(byte addr)
</pre>If this method returns false, the board waits until a new device is connected. If it is
successful, the device displays itself on the USB bus as being in accessory mode when the ADK board
re-enumerates the bus. When the device is in accessory mode, the accessory then <a href=
"establish-adk">establishes communication with the device</a>.
"#establish-adk">establishes communication with the device</a>.
<h3 id="establish-adk">Establish communication with the device</h3>

View File

@@ -902,8 +902,9 @@ the Bluetooth A2DP Service via IPC.</li>
<p>Here are the basic steps for working with a profile:</p>
<ol>
<li>Get the default adapter, as described in <a href="{@docRoot}guide/topics/wireless/bluetooth.
html#SettingUp">Setting Up Bluetooth</a>.</li>
<li>Get the default adapter, as described in
<a href="{@docRoot}guide/topics/wireless/bluetooth.html#SettingUp">Setting Up
Bluetooth</a>.</li>
<li>Use {@link
android.bluetooth.BluetoothAdapter#getProfileProxy(android.content.Context,

View File

@@ -657,8 +657,8 @@ href="{@docRoot}sdk/eclipse-adt.html">ADT Plugin for Eclipse</a>.</p>
<p><strong>T-Mobile G1 Compatibility</strong></p>
<p>This version of the SDK has been tested for compatibility with the first
Android-powered mobile device, the <a href="http://www.t-mobileg1.com">T-Mobile
G1</a>. </p>
Android-powered mobile device, the T-Mobile
G1. </p>
<p><strong>MapView API Key</strong></p>

View File

@@ -106,7 +106,7 @@ data, a Maps API Key is required.</li>
<p>The Android 1.1 system image was tested for compatability with the
Android-powered devices listed below:</p>
<ul>
<li><a href="http://www.t-mobileg1.com">T-Mobile G1</a></li>
<li>T-Mobile G1</li>
</ul>
<h2 id="apps">Built-in Applications</h2>

View File

@@ -262,8 +262,8 @@ android.content.ClipData.Item}s.</p>
<p>For more information, read the <a href="{@docRoot}guide/topics/clipboard/copy-paste.html">Copy
and Paste</a> documentation. You can also see a simple implementation of copy and paste in the <a
href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/content/ClipboardSample.
html">API Demos</a> and a more complete implementation in the <a
href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/content/ClipboardSample.html">API Demos</a>
and a more complete implementation in the <a
href="{@docRoot}resources/samples/NotePad/index.html">Note Pad</a> application.</p>
@@ -386,7 +386,7 @@ loader for your activity or fragment.</p>
<p>For more information, read the <a
href="{@docRoot}guide/topics/fundamentals/loaders.html">Loaders</a> documentation. You can also see
example code using loaders in the <a
href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/FragmentListCursorLoader.html">FragmentListCursorLoader</a>
href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/LoaderCursor.html">LoaderCursor</a>
and <a
href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/LoaderThrottle.html">
LoaderThrottle</a> samples.</p>

View File

@@ -422,10 +422,9 @@ onGenericMotionEvent()} there instead.</p>
<p class="note">To look at a sample application that uses joystick motion
events, see <a
href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/view/
GameControllerInput.html">GameControllerInput</a> and <a
href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/view/
GameView.html">GameView</a>.</p>
href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/view/GameControllerInput.html">GameControllerInput</a>
and <a
href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/view/GameView.html">GameView</a>.</p>
<h3>RTP API</h3>
@@ -931,7 +930,7 @@ devices.</li>
href="{@docRoot}guide/topics/manifest/uses-feature-element.html">{@code
&lt;uses-feature&gt;}</a> manifest elements. For more information about
declaring features in an application manifest, read <a
href="{docRoot}guide/appendix/market-filters.html">Android Market
href="{@docRoot}guide/appendix/market-filters.html">Android Market
Filters</a>.</p>

View File

@@ -1292,9 +1292,9 @@ public boolean onCreateOptionsMenu(Menu menu) {
}
</pre>
<p>For an example using the {@link android.widget.ShareActionProvider}, see the <a
href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/ActionBarActionProviderActivity.html"
>ActionBarActionProviderActivity</a> class in ApiDemos.</p>
<p>For an example using the {@link android.widget.ShareActionProvider}, see <a
href="{@docRoot}resources/samples/ApiDemos/src/com/example/android/apis/app/ActionBarShareActionProviderActivity.html"
>ActionBarShareActionProviderActivity</a> in ApiDemos.</p>
<h4>Collapsible action views</h4>

View File

@@ -63,8 +63,8 @@ Tasks</code>.</li>
strings that identify your app to the service. You need to obtain these strings
directly from the service owner. Google has a self-service system for obtaining
client ids and secrets. The article <a
href="http://code.google.com/apis/tasks/articles/oauth-and-tasks-on-android.
html">Getting Started with the Tasks API and OAuth 2.0 on Android</a> explains
href="http://code.google.com/apis/tasks/articles/oauth-and-tasks-on-android.html">Getting
Started with the Tasks API and OAuth 2.0 on Android</a> explains
how to use this system to obtain these values for use with the Google Tasks
API.</li>
</ul>

View File

@@ -14,7 +14,7 @@ previous.link=connectivity-monitoring.html
<h2>This lesson teaches you to</h2>
<ol>
<li><a href="ToggleReceivers">Toggle and Cascade State Change Receivers to Improve
<li><a href="#ToggleReceivers">Toggle and Cascade State Change Receivers to Improve
Efficiency</a></li>
</ol>