* commit '22a7b9de5e7037edfa2b9df9f33974ea0a8e718a': docs: fix broken links
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
page.title=Android 2.2 Platform
|
page.title=Android 2.2 APIs
|
||||||
sdk.platform.version=2.2
|
sdk.platform.version=2.2
|
||||||
sdk.platform.apiLevel=8
|
sdk.platform.apiLevel=8
|
||||||
sdk.platform.majorMinor=minor
|
sdk.platform.majorMinor=minor
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
page.title=Android 2.3.3 Platform
|
page.title=Android 2.3.3 APIs
|
||||||
sdk.platform.version=2.3.3
|
sdk.platform.version=2.3.3
|
||||||
sdk.platform.apiLevel=10
|
sdk.platform.apiLevel=10
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
page.title=Android 2.3.4 Platform
|
page.title=Android 2.3.4 APIs
|
||||||
sdk.platform.version=2.3.4
|
sdk.platform.version=2.3.4
|
||||||
sdk.platform.apiLevel=10
|
sdk.platform.apiLevel=10
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
page.title=Android 2.3 Platform
|
page.title=Android 2.3 APIs
|
||||||
sdk.platform.version=2.3
|
sdk.platform.version=2.3
|
||||||
sdk.platform.apiLevel=9
|
sdk.platform.apiLevel=9
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
page.title=Android 3.0 Platform
|
page.title=Android 3.0 APIs
|
||||||
sdk.platform.version=3.0
|
sdk.platform.version=3.0
|
||||||
sdk.platform.apiLevel=11
|
sdk.platform.apiLevel=11
|
||||||
@jd:body
|
@jd:body
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
page.title=Android 3.1 Platform
|
page.title=Android 3.1 APIs
|
||||||
sdk.platform.version=3.1
|
sdk.platform.version=3.1
|
||||||
sdk.platform.apiLevel=12
|
sdk.platform.apiLevel=12
|
||||||
@jd:body
|
@jd:body
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
page.title=Android 3.2 Platform
|
page.title=Android 3.2 APIs
|
||||||
sdk.platform.version=3.2
|
sdk.platform.version=3.2
|
||||||
sdk.platform.apiLevel=13
|
sdk.platform.apiLevel=13
|
||||||
@jd:body
|
@jd:body
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
page.title=Android 4.0.3 Platform
|
page.title=Android 4.0.3 APIs
|
||||||
sdk.platform.version=4.0.3
|
sdk.platform.version=4.0.3
|
||||||
sdk.platform.apiLevel=15
|
sdk.platform.apiLevel=15
|
||||||
@jd:body
|
@jd:body
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
page.title=Android 4.0 Platform
|
page.title=Android 4.0 APIs
|
||||||
sdk.platform.version=4.0
|
sdk.platform.version=4.0
|
||||||
sdk.platform.apiLevel=14
|
sdk.platform.apiLevel=14
|
||||||
@jd:body
|
@jd:body
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ You can improve your apps's UI responsiveness by moving long-running operations
|
|||||||
<p>
|
<p>
|
||||||
A great way to improve UI performance is to minimize the complexity of your layouts. If you open up <a href="{@docRoot}tools/help/hierarchy-viewer.html">hierarchyviewer</a> and see that your layouts are more than 5 levels deep, it may be time to simplify your layout. Consider refactoring those deeply nested LinearLayouts into RelativeLayout. The impact of View objects is cumulative — each one costs about 1 to 2 KB of memory, so large view hierarchies can be a recipe for disaster, causing frequent VM garbage collection passes which block the main (UI) thread. You can learn more in <a href="http://www.youtube.com/watch?v=wDBM6wVEO70">World of ListView</a>, another session at Google I/O.</p>
|
A great way to improve UI performance is to minimize the complexity of your layouts. If you open up <a href="{@docRoot}tools/help/hierarchy-viewer.html">hierarchyviewer</a> and see that your layouts are more than 5 levels deep, it may be time to simplify your layout. Consider refactoring those deeply nested LinearLayouts into RelativeLayout. The impact of View objects is cumulative — each one costs about 1 to 2 KB of memory, so large view hierarchies can be a recipe for disaster, causing frequent VM garbage collection passes which block the main (UI) thread. You can learn more in <a href="http://www.youtube.com/watch?v=wDBM6wVEO70">World of ListView</a>, another session at Google I/O.</p>
|
||||||
<p>
|
<p>
|
||||||
Lastly, pointed out in the blog post <a href="http://android-developers.blogspot.com/2010/10/traceview-war-story.html">Traceview War Story</a>, tools like <a href="{@docRoot}tools/traceview.html">traceview</code> and <a href="{@docRoot}tools/ddms.html">ddms</a> can be your best friends in improving your app by profiling method calls and monitoring VM memory allocations, respectively.</p>
|
Lastly, pointed out in the blog post <a href="http://android-developers.blogspot.com/2010/10/traceview-war-story.html">Traceview War Story</a>, tools like <a href="{@docRoot}tools/help/traceview.html">traceview</code> and <a href="{@docRoot}tools/help/ddms.html">ddms</a> can be your best friends in improving your app by profiling method calls and monitoring VM memory allocations, respectively.</p>
|
||||||
|
|
||||||
|
|
||||||
<h2 id="usability">Improve Usability</h2>
|
<h2 id="usability">Improve Usability</h2>
|
||||||
@@ -93,7 +93,7 @@ Lastly, usability is an extensive and well-documented subject, with close ties t
|
|||||||
<p>
|
<p>
|
||||||
There's no substitute for a real user interface designer — ideally one who's well-versed in mobile and Android, and ideally handy with both interaction and visual design. One popular venue to post openings for designers is <a href="http://jobs.smashingmagazine.com">jobs.smashingmagazine.com</a>, and leveraging social connections on Twitter and LinkedIn can surface great talent.</p>
|
There's no substitute for a real user interface designer — ideally one who's well-versed in mobile and Android, and ideally handy with both interaction and visual design. One popular venue to post openings for designers is <a href="http://jobs.smashingmagazine.com">jobs.smashingmagazine.com</a>, and leveraging social connections on Twitter and LinkedIn can surface great talent.</p>
|
||||||
<p>
|
<p>
|
||||||
If you don't have the luxury of working with a UI designer, there are some ways in which you can improve your app's appearance yourself. First, get familiar with Adobe Photoshop, Adobe Fireworks, or some other raster image editing tool. Mastering the art of the pixel in these apps takes time, but honing this skill can help build polish across your interface designs. Also, master the resources framework by studying <a href="http://android.git.kernel.org/?p=platform/frameworks/base.git;a=tree;f=core/res/res;h=a3562fe1af94134486a8a899f02a9c2f7986c8dd;hb=master">the framework UI</a> assets and layouts and reading through the new <a href="{@docRoot}guide/components/resources/available-resources.html">resources documentation</a>. Techniques such as 9-patches and resource directory qualifiers are somewhat unique to Android, and are crucial in building flexible yet aesthetic UIs.</p>
|
If you don't have the luxury of working with a UI designer, there are some ways in which you can improve your app's appearance yourself. First, get familiar with Adobe Photoshop, Adobe Fireworks, or some other raster image editing tool. Mastering the art of the pixel in these apps takes time, but honing this skill can help build polish across your interface designs. Also, master the resources framework by studying <a href="http://android.git.kernel.org/?p=platform/frameworks/base.git;a=tree;f=core/res/res;h=a3562fe1af94134486a8a899f02a9c2f7986c8dd;hb=master">the framework UI</a> assets and layouts and reading through the new <a href="{@docRoot}guide/topics/resources/index.html">resources documentation</a>. Techniques such as 9-patches and resource directory qualifiers are somewhat unique to Android, and are crucial in building flexible yet aesthetic UIs.</p>
|
||||||
<p>
|
<p>
|
||||||
Before you get too far in designing your app and writing the code, make sure to visit the Android Design site and learn about the vision, the building blocks, and the tools of designing beautiful and inspiring user interfaces.</p>
|
Before you get too far in designing your app and writing the code, make sure to visit the Android Design site and learn about the vision, the building blocks, and the tools of designing beautiful and inspiring user interfaces.</p>
|
||||||
|
|
||||||
@@ -105,7 +105,7 @@ Again, listen to your users by collecting and responding to feature requests. Be
|
|||||||
|
|
||||||
<h2 id="integrate">Integrate with the System and Third-Party apps</h2>
|
<h2 id="integrate">Integrate with the System and Third-Party apps</h2>
|
||||||
<p>
|
<p>
|
||||||
A great way to deliver a delightful user experience is to integrate tightly with the operating system. Features like <a href="{@docRoot}guide/topics/appwidgets/index.html">Home screen widgets</a>, <a href={@docRoot}design/patterns/notifications.html">rich notifications</a>, <a href="{@docRoot}guide/topics/search/index.html">global search integration</a>, and {@link android.widget.QuickContactBadge Quick Contacts} are fairly low-hanging fruit in this regard. </p>
|
A great way to deliver a delightful user experience is to integrate tightly with the operating system. Features like <a href="{@docRoot}guide/topics/appwidgets/index.html">Home screen widgets</a>, <a href="{@docRoot}design/patterns/notifications.html">rich notifications</a>, <a href="{@docRoot}guide/topics/search/index.html">global search integration</a>, and {@link android.widget.QuickContactBadge Quick Contacts} are fairly low-hanging fruit in this regard. </p>
|
||||||
|
|
||||||
<p>For some app categories, basic features like home screen widgets are par for the course. Not including them is a sure-fire way to tarnish an otherwise positive user experience. Some apps can achieve even tighter OS integration with Android's contacts, accounts, and sync APIs. </p>
|
<p>For some app categories, basic features like home screen widgets are par for the course. Not including them is a sure-fire way to tarnish an otherwise positive user experience. Some apps can achieve even tighter OS integration with Android's contacts, accounts, and sync APIs. </p>
|
||||||
<p>
|
<p>
|
||||||
|
|||||||
@@ -49,13 +49,6 @@ perform interprocess communication</li>
|
|||||||
LocalService}</a></li>
|
LocalService}</a></li>
|
||||||
</ol>
|
</ol>
|
||||||
|
|
||||||
<h2>Articles</h2>
|
|
||||||
<ol>
|
|
||||||
<li><a href="{@docRoot}resources/articles/multitasking-android-way.html">Multitasking the Android Way</a></li>
|
|
||||||
<li><a href="{@docRoot}resources/articles/service-api-changes-starting-with.html">Service API changes starting
|
|
||||||
with Android 2.0</a></li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
<h2>See also</h2>
|
<h2>See also</h2>
|
||||||
<ol>
|
<ol>
|
||||||
<li><a href="{@docRoot}guide/components/bound-services.html">Bound Services</a></li>
|
<li><a href="{@docRoot}guide/components/bound-services.html">Bound Services</a></li>
|
||||||
|
|||||||
@@ -134,9 +134,8 @@ dynamic permission grants on a case-by-case basis.</p>
|
|||||||
|
|
||||||
<p>To provide additional protection for sensitive data, some applications
|
<p>To provide additional protection for sensitive data, some applications
|
||||||
choose to encrypt local files using a key that is not accessible to the
|
choose to encrypt local files using a key that is not accessible to the
|
||||||
application. (For example, a key can be placed in a <code><a
|
application. (For example, a key can be placed in a {@link java.security.KeyStore}
|
||||||
href="{@docRoot}reference/java/security/KeyStore.html">KeyStore</a></code> and
|
and protected with a user password that is not stored on the device). While this
|
||||||
protected with a user password that is not stored on the device). While this
|
|
||||||
does not protect data from a root compromise that can monitor the user
|
does not protect data from a root compromise that can monitor the user
|
||||||
inputting the password, it can provide protection for a lost device without <a
|
inputting the password, it can provide protection for a lost device without <a
|
||||||
href="http://source.android.com/tech/encryption/index.html">file system
|
href="http://source.android.com/tech/encryption/index.html">file system
|
||||||
@@ -716,8 +715,7 @@ href="{@docRoot}reference/android/accounts/AccountManager.html">
|
|||||||
AccountManager</a></code> using <code><a
|
AccountManager</a></code> using <code><a
|
||||||
href="{@docRoot}reference/android/content/pm/PackageManager.html#checkSignatures(java.lang.String,%20java.lang.String)">checkSignature()</a></code>.
|
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
|
Alternatively, if only one application will use the credential, you might use a
|
||||||
<code><a
|
{@link java.security.KeyStore} for
|
||||||
href={@docRoot}reference/java/security/KeyStore.html">KeyStore</a></code> for
|
|
||||||
storage.</p>
|
storage.</p>
|
||||||
|
|
||||||
<a name="Crypto"></a>
|
<a name="Crypto"></a>
|
||||||
@@ -751,8 +749,8 @@ href="{@docRoot}reference/javax/crypto/KeyGenerator.html">
|
|||||||
number generator significantly weakens the strength of the algorithm, and may
|
number generator significantly weakens the strength of the algorithm, and may
|
||||||
allow offline attacks.</p>
|
allow offline attacks.</p>
|
||||||
|
|
||||||
<p>If you need to store a key for repeated use, use a mechanism like <code><a
|
<p>If you need to store a key for repeated use, use a mechanism like
|
||||||
href="{@docRoot}reference/java/security/KeyStore.html">KeyStore</a></code> that
|
{@link java.security.KeyStore} that
|
||||||
provides a mechanism for long term storage and retrieval of cryptographic
|
provides a mechanism for long term storage and retrieval of cryptographic
|
||||||
keys.</p>
|
keys.</p>
|
||||||
|
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ suggestions on how to work with multiple sets of icons.</p>
|
|||||||
|
|
||||||
<h2 id="market">Application Icons on Google Play</h2>
|
<h2 id="market">Application Icons on Google Play</h2>
|
||||||
|
|
||||||
<p>If you are <a href="{@docRoot}tools/publishing/publishing.html">publishing
|
<p>If you are <a href="{@docRoot}distribute/index.html">publishing
|
||||||
your application on Google Play</a>, you will also need to provide a 512x512
|
your application on Google Play</a>, you will also need to provide a 512x512
|
||||||
pixel, high-resolution application icon in the <a
|
pixel, high-resolution application icon in the <a
|
||||||
href="http://play.google.com/apps/publish">developer console</a> at upload-time.
|
href="http://play.google.com/apps/publish">developer console</a> at upload-time.
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="refresh" content="0;url=http://developer.android.com/resources/browser.html?tag=sample">
|
<meta http-equiv="refresh" content="0;url=http://developer.android.com/tools/samples/index.html">
|
||||||
<title>Redirecting...</title>
|
<title>Redirecting...</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<p>You should have been redirected. Please <a
|
<p>You should have been redirected. Please <a
|
||||||
href="http://developer.android.com/resources/browser.html?tag=sample">click here</a>.</p>
|
href="http://developer.android.com/tools/samples/index.html">click here</a>.</p>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
@@ -187,10 +187,7 @@ href="#RestoreVersion">Checking the Restore Data Version</a> for more informatio
|
|||||||
available only on devices running API Level 8 (Android 2.2) or greater, so you should also
|
available only on devices running API Level 8 (Android 2.2) or greater, so you should also
|
||||||
set your <a
|
set your <a
|
||||||
href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code android:minSdkVersion}</a>
|
href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#min">{@code android:minSdkVersion}</a>
|
||||||
attribute to "8". However, if you implement proper <a
|
attribute to "8".</p>
|
||||||
href="{@docRoot}resources/articles/backward-compatibility.html">backward compatibility</a> in
|
|
||||||
your application, you can support this feature for devices running API Level 8 or greater, while
|
|
||||||
remaining compatible with older devices.</p>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -111,10 +111,7 @@ storage.</p>
|
|||||||
<p class="caution"><strong>Caution:</strong> Although XML markup such as this will be ignored by
|
<p class="caution"><strong>Caution:</strong> Although XML markup such as this will be ignored by
|
||||||
older platforms, you must be careful not to use programming APIs introduced in API Level 8
|
older platforms, you must be careful not to use programming APIs introduced in API Level 8
|
||||||
while your {@code minSdkVersion} is less than "8", unless you perform the work necessary to
|
while your {@code minSdkVersion} is less than "8", unless you perform the work necessary to
|
||||||
provide backward compatibility in your code. For information about building
|
provide backward compatibility in your code.</p>
|
||||||
backward compatibility in your application code, see the <a
|
|
||||||
href="{@docRoot}resources/articles/backward-compatibility.html">Backward Compatibility</a>
|
|
||||||
article.</p>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -141,17 +138,13 @@ system again. At which time, you can restart your Service.</dd>
|
|||||||
<dd>Your alarms registered with {@link android.app.AlarmManager} will be cancelled. You must
|
<dd>Your alarms registered with {@link android.app.AlarmManager} will be cancelled. You must
|
||||||
manually re-register any alarms when external storage is remounted.</dd>
|
manually re-register any alarms when external storage is remounted.</dd>
|
||||||
<dt>Input Method Engines</dt>
|
<dt>Input Method Engines</dt>
|
||||||
<dd>Your <a href="{@docRoot}resources/articles/on-screen-inputs.html">IME</a> will be
|
<dd>Your <a href="{@docRoot}guide/topics/text/creating-input-method.html">IME</a> will be
|
||||||
replaced by the default IME. When external storage is remounted, the user can open system settings
|
replaced by the default IME. When external storage is remounted, the user can open system settings
|
||||||
to enable your IME again.</dd>
|
to enable your IME again.</dd>
|
||||||
<dt>Live Wallpapers</dt>
|
<dt>Live Wallpapers</dt>
|
||||||
<dd>Your running <a href="{@docRoot}resources/articles/live-wallpapers.html">Live Wallpaper</a>
|
<dd>Your running <a href="http://android-developers.blogspot.com/2010/02/live-wallpapers.html">Live Wallpaper</a>
|
||||||
will be replaced by the default Live Wallpaper. When external storage is remounted, the user can
|
will be replaced by the default Live Wallpaper. When external storage is remounted, the user can
|
||||||
select your Live Wallpaper again.</dd>
|
select your Live Wallpaper again.</dd>
|
||||||
<dt>Live Folders</dt>
|
|
||||||
<dd>Your <a href="{@docRoot}resources/articles/live-folders.html">Live Folder</a> will be
|
|
||||||
removed from the home screen. When external storage is remounted, the user can add your Live Folder
|
|
||||||
to the home screen again.</dd>
|
|
||||||
<dt>App Widgets</dt>
|
<dt>App Widgets</dt>
|
||||||
<dd>Your <a href="{@docRoot}guide/topics/appwidgets/index.html">App Widget</a> will be removed
|
<dd>Your <a href="{@docRoot}guide/topics/appwidgets/index.html">App Widget</a> will be removed
|
||||||
from the home screen. When external storage is remounted, your App Widget will <em>not</em> be
|
from the home screen. When external storage is remounted, your App Widget will <em>not</em> be
|
||||||
@@ -174,7 +167,7 @@ external storage, it can never receive this broadcast.</dd>
|
|||||||
<dt>Copy Protection</dt>
|
<dt>Copy Protection</dt>
|
||||||
<dd>Your application cannot be installed to a device's SD card if it uses Google Play's
|
<dd>Your application cannot be installed to a device's SD card if it uses Google Play's
|
||||||
Copy Protection feature. However, if you use Google Play's
|
Copy Protection feature. However, if you use Google Play's
|
||||||
<a href="{@docRoot}guide/google/play/licensing.html">Application Licensing</a> instead, your
|
<a href="{@docRoot}guide/google/play/licensing/index.html">Application Licensing</a> instead, your
|
||||||
application <em>can</em> be installed to internal or external storage, including SD cards.</dd>
|
application <em>can</em> be installed to internal or external storage, including SD cards.</dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
|
|||||||
@@ -152,7 +152,7 @@ either internal or external storage through the system settings.</td>
|
|||||||
|
|
||||||
<p class="caution"><strong>Caution:</strong> If your application uses Google Play's Copy
|
<p class="caution"><strong>Caution:</strong> If your application uses Google Play's Copy
|
||||||
Protection feature, it cannot be installed to a device's SD card. However, if you use Google
|
Protection feature, it cannot be installed to a device's SD card. However, if you use Google
|
||||||
Play's <a href="{@docRoot}guide/google/play/licensing.html">Application Licensing</a> instead,
|
Play's <a href="{@docRoot}guide/google/play/licensing/index.html">Application Licensing</a> instead,
|
||||||
your application <em>can</em> be installed to internal or external storage, including SD cards.</p>
|
your application <em>can</em> be installed to internal or external storage, including SD cards.</p>
|
||||||
|
|
||||||
<p class="note"><strong>Note:</strong> By default, your application will be installed on the
|
<p class="note"><strong>Note:</strong> By default, your application will be installed on the
|
||||||
|
|||||||
@@ -1031,11 +1031,11 @@ mRowsDeleted = getContentResolver().delete(
|
|||||||
<code><a href="{@docRoot}guide/topics/manifest/provider-element.html#gprmsn">
|
<code><a href="{@docRoot}guide/topics/manifest/provider-element.html#gprmsn">
|
||||||
android:grantUriPermission</a></code>
|
android:grantUriPermission</a></code>
|
||||||
attribute of the
|
attribute of the
|
||||||
{@code <a href="guide/topics/manifest/provider-element.html"><provider></a>}
|
{@code <a href="{@docRoot}guide/topics/manifest/provider-element.html"><provider></a>}
|
||||||
element, as well as the
|
element, as well as the
|
||||||
{@code <a href="guide/topics/manifest/grant-uri-permission-element.html">
|
{@code <a href="{@docRoot}guide/topics/manifest/grant-uri-permission-element.html">
|
||||||
<grant-uri-permission></a>} child element of the
|
<grant-uri-permission></a>} child element of the
|
||||||
{@code <a href="guide/topics/manifest/provider-element.html"><provider></a>}
|
{@code <a href="{@docRoot}guide/topics/manifest/provider-element.html"><provider></a>}
|
||||||
element. The URI permissions mechanism is explained in more detail in the
|
element. The URI permissions mechanism is explained in more detail in the
|
||||||
<a href="{@docRoot}guide/topics/security/security.html">Security and Permissions</a> guide,
|
<a href="{@docRoot}guide/topics/security/security.html">Security and Permissions</a> guide,
|
||||||
in the section "URI Permissions".
|
in the section "URI Permissions".
|
||||||
|
|||||||
@@ -169,8 +169,8 @@ root element.</p>
|
|||||||
<p>Another way to include a layout is to use {@link android.view.ViewStub}. It is a lightweight
|
<p>Another way to include a layout is to use {@link android.view.ViewStub}. It is a lightweight
|
||||||
View that consumes no layout space until you explicitly inflate it, at which point, it includes a
|
View that consumes no layout space until you explicitly inflate it, at which point, it includes a
|
||||||
layout file defined by its {@code android:layout} attribute. For more information about using {@link
|
layout file defined by its {@code android:layout} attribute. For more information about using {@link
|
||||||
android.view.ViewStub}, read <a href="{@docRoot}resources/articles/layout-tricks-stubs.html">Layout
|
android.view.ViewStub}, read <a href="{@docRoot}training/improving-layouts/loading-ondemand.html">Loading
|
||||||
Tricks: ViewStubs</a>.</p>
|
Views On Demand</a>.</p>
|
||||||
</dd>
|
</dd>
|
||||||
|
|
||||||
<dt id="merge-element"><code><merge></code></dt>
|
<dt id="merge-element"><code><merge></code></dt>
|
||||||
@@ -181,8 +181,7 @@ that already contains the appropriate parent View to contain the children of the
|
|||||||
in another layout file using <a href="#include-element"><code><include></code></a> and
|
in another layout file using <a href="#include-element"><code><include></code></a> and
|
||||||
this layout doesn't require a different {@link android.view.ViewGroup} container. For more
|
this layout doesn't require a different {@link android.view.ViewGroup} container. For more
|
||||||
information about merging layouts, read <a
|
information about merging layouts, read <a
|
||||||
href="{@docRoot}resources/articles/layout-tricks-merge.html">Layout
|
href="{@docRoot}training/improving-layouts/reusing-layouts.html">Re-using Layouts with <include/></a>.</dd>
|
||||||
Tricks: Merging</a>.</dd>
|
|
||||||
|
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
|
|||||||
@@ -16,8 +16,8 @@ parent.link=index.html
|
|||||||
<ol>
|
<ol>
|
||||||
<li><a href="providing-resources.html">Providing Resources</a></li>
|
<li><a href="providing-resources.html">Providing Resources</a></li>
|
||||||
<li><a href="accessing-resources.html">Accessing Resources</a></li>
|
<li><a href="accessing-resources.html">Accessing Resources</a></li>
|
||||||
<li><a href="{@docRoot}resources/articles/faster-screen-orientation-change.html">Faster Screen
|
<li><a href="http://android-developers.blogspot.com/2009/02/faster-screen-orientation-change.html">Faster
|
||||||
Orientation Change</a></li>
|
Screen Orientation Change</a></li>
|
||||||
</ol>
|
</ol>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ the default position, the screens are wider than they are tall. This introduces
|
|||||||
issues that we’ve noticed causing problems in some apps.</p>
|
issues that we’ve noticed causing problems in some apps.</p>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<a href="android-developers.blogspot.com/2011/06/deep-dive-into-location.html">
|
<a href="http://android-developers.blogspot.com/2011/06/deep-dive-into-location.html">
|
||||||
<h4>A Deep Dive Into Location</h4>
|
<h4>A Deep Dive Into Location</h4>
|
||||||
<p>I’ve written an open-source reference app that incorporates all of the tips, tricks, and
|
<p>I’ve written an open-source reference app that incorporates all of the tips, tricks, and
|
||||||
cheats I know to reduce the time between opening an app and seeing an up-to-date list of nearby
|
cheats I know to reduce the time between opening an app and seeing an up-to-date list of nearby
|
||||||
|
|||||||
@@ -662,7 +662,7 @@ whether there's a pressure sensor on a device:</p>
|
|||||||
<h4>Using Google Play filters to target specific sensor configurations</h4>
|
<h4>Using Google Play filters to target specific sensor configurations</h4>
|
||||||
|
|
||||||
<p>If you are publishing your application on Google Play you can use the
|
<p>If you are publishing your application on Google Play you can use the
|
||||||
<a href="{@docRoot}guide//topics/manifest/uses-feature-element.html"><code><uses-feature>
|
<a href="{@docRoot}guide/topics/manifest/uses-feature-element.html"><code><uses-feature>
|
||||||
</code></a> element in your manifest file to filter your application from devices that do not
|
</code></a> element in your manifest file to filter your application from devices that do not
|
||||||
have the appropriate sensor configuration for your application. The
|
have the appropriate sensor configuration for your application. The
|
||||||
<code><uses-feature></code> element has several hardware descriptors that let you filter
|
<code><uses-feature></code> element has several hardware descriptors that let you filter
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
page.title=Creating an Input Method
|
page.title=Creating an Input Method
|
||||||
parent.title=Articles
|
parent.title=Articles
|
||||||
parent.link=../browser.html?tag=article
|
|
||||||
@jd:body
|
@jd:body
|
||||||
|
|
||||||
<div id="qv-wrapper">
|
<div id="qv-wrapper">
|
||||||
@@ -162,8 +161,8 @@ parent.link=../browser.html?tag=article
|
|||||||
In this example, {@code MyKeyboardView} is an instance of a custom implementation of
|
In this example, {@code MyKeyboardView} is an instance of a custom implementation of
|
||||||
{@link android.inputmethodservice.KeyboardView} that renders a
|
{@link android.inputmethodservice.KeyboardView} that renders a
|
||||||
{@link android.inputmethodservice.Keyboard}. If you’re building a traditional QWERTY keyboard,
|
{@link android.inputmethodservice.Keyboard}. If you’re building a traditional QWERTY keyboard,
|
||||||
see the <a href=”{@docRoot}resources/samples/SoftKeyboard/index.html”>Soft Keyboard</a> sample
|
see the Soft Keyboard <a href="{@docRoot}tools/samples/index.html">sample
|
||||||
app for an example of how to extend the {@link android.inputmethodservice.KeyboardView} class.
|
app</a> for an example of how to extend the {@link android.inputmethodservice.KeyboardView} class.
|
||||||
</p>
|
</p>
|
||||||
<h3 id="CandidateView">Candidates view</h3>
|
<h3 id="CandidateView">Candidates view</h3>
|
||||||
<p>
|
<p>
|
||||||
@@ -175,7 +174,8 @@ parent.link=../browser.html?tag=article
|
|||||||
default behavior, so you don’t have to implement this if you don’t provide suggestions).</p>
|
default behavior, so you don’t have to implement this if you don’t provide suggestions).</p>
|
||||||
<p>
|
<p>
|
||||||
For an example implementation that provides user suggestions, see the
|
For an example implementation that provides user suggestions, see the
|
||||||
<a href=”{@docRoot}resources/samples/SoftKeyboard/index.html”>Soft Keyboard</a> sample app.
|
Soft Keyboard <a href="{@docRoot}tools/samples/index.html">sample
|
||||||
|
app</a>.
|
||||||
</p>
|
</p>
|
||||||
<h3 id="DesignConsiderations">UI design considerations</h3>
|
<h3 id="DesignConsiderations">UI design considerations</h3>
|
||||||
<p>
|
<p>
|
||||||
@@ -388,8 +388,8 @@ The input type bit pattern can have one of several values, including:
|
|||||||
To intercept hardware keys, override
|
To intercept hardware keys, override
|
||||||
{@link android.inputmethodservice.InputMethodService#onKeyDown(int, KeyEvent) onKeyDown()}
|
{@link android.inputmethodservice.InputMethodService#onKeyDown(int, KeyEvent) onKeyDown()}
|
||||||
and {@link android.inputmethodservice.InputMethodService#onKeyUp(int, KeyEvent) onKeyUp()}.
|
and {@link android.inputmethodservice.InputMethodService#onKeyUp(int, KeyEvent) onKeyUp()}.
|
||||||
See the <a href=”{@docRoot}resources/samples/SoftKeyboard/index.html”>Soft Keyboard</a> sample
|
See the Soft Keyboard <a href="{@docRoot}tools/samples/index.html">sample
|
||||||
app for an example.
|
app</a> for an example.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Remember to call the <code>super()</code> method for keys you don't want to handle yourself.
|
Remember to call the <code>super()</code> method for keys you don't want to handle yourself.
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
page.title=Spelling Checker Framework
|
page.title=Spelling Checker Framework
|
||||||
parent.title=Articles
|
parent.title=Articles
|
||||||
parent.link=../browser.html?tag=article
|
|
||||||
@jd:body
|
@jd:body
|
||||||
<div id="qv-wrapper">
|
<div id="qv-wrapper">
|
||||||
<div id="qv">
|
<div id="qv">
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ parent.link=index.html
|
|||||||
<ol>
|
<ol>
|
||||||
<li><a href="#manifest">Manifest Declarations and Permissions</a>
|
<li><a href="#manifest">Manifest Declarations and Permissions</a>
|
||||||
<ol>
|
<ol>
|
||||||
<li><a href="service-declaration">Accessibility service declaration</a></li>
|
<li><a href="#service-declaration">Accessibility service declaration</a></li>
|
||||||
<li><a href="#service-config">Accessibility service configuration</a></li>
|
<li><a href="#service-config">Accessibility service configuration</a></li>
|
||||||
</ol>
|
</ol>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
@@ -44,19 +44,19 @@ android.widget.RelativeLayout.LayoutParams}.</p>
|
|||||||
include:</p>
|
include:</p>
|
||||||
<dl>
|
<dl>
|
||||||
<dt><a
|
<dt><a
|
||||||
href="{docRoot}reference/android/widget/RelativeLayout.LayoutParams.html#attr_android:layout_alignParentTop"
|
href="{@docRoot}reference/android/widget/RelativeLayout.LayoutParams.html#attr_android:layout_alignParentTop"
|
||||||
>{@code android:layout_alignParentTop}</a></dt>
|
>{@code android:layout_alignParentTop}</a></dt>
|
||||||
<dd>If {@code "true"}, makes the top edge of this view match the top edge of the parent. </dd>
|
<dd>If {@code "true"}, makes the top edge of this view match the top edge of the parent. </dd>
|
||||||
<dt><a
|
<dt><a
|
||||||
href="{docRoot}reference/android/widget/RelativeLayout.LayoutParams.html#attr_android:layout_centerVertical"
|
href="{@docRoot}reference/android/widget/RelativeLayout.LayoutParams.html#attr_android:layout_centerVertical"
|
||||||
>{@code android:layout_centerVertical}</a></dt>
|
>{@code android:layout_centerVertical}</a></dt>
|
||||||
<dd>If {@code "true"}, centers this child vertically within its parent.</dd>
|
<dd>If {@code "true"}, centers this child vertically within its parent.</dd>
|
||||||
<dt><a
|
<dt><a
|
||||||
href="{docRoot}reference/android/widget/RelativeLayout.LayoutParams.html#attr_android:layout_below"
|
href="{@docRoot}reference/android/widget/RelativeLayout.LayoutParams.html#attr_android:layout_below"
|
||||||
>{@code android:layout_below}</a></dt>
|
>{@code android:layout_below}</a></dt>
|
||||||
<dd>Positions the top edge of this view below the view specified with a resource ID.</dd>
|
<dd>Positions the top edge of this view below the view specified with a resource ID.</dd>
|
||||||
<dt><a
|
<dt><a
|
||||||
href="{docRoot}reference/android/widget/RelativeLayout.LayoutParams.html#attr_android:layout_toRightOf"
|
href="{@docRoot}reference/android/widget/RelativeLayout.LayoutParams.html#attr_android:layout_toRightOf"
|
||||||
>{@code android:layout_toRightOf}</a></dt>
|
>{@code android:layout_toRightOf}</a></dt>
|
||||||
<dd>Positions the left edge of this view to the right of the view specified with a resource ID.</dd>
|
<dd>Positions the left edge of this view to the right of the view specified with a resource ID.</dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ page.title=Android Open Accessory Protocol 2.0
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p>This document describes the changes to the Android Open Accessory (AOA) protocol since its
|
<p>This document describes the changes to the Android Open Accessory (AOA) protocol since its
|
||||||
initial release, and is a supplement to the documentation of the <a href="oap.html">first
|
initial release, and is a supplement to the documentation of the <a href="aoa.html">first
|
||||||
release of AOA</a>.</p>
|
release of AOA</a>.</p>
|
||||||
|
|
||||||
<p>The Android Open Accessory Protocol 2.0 adds two new features: audio output (from the Android
|
<p>The Android Open Accessory Protocol 2.0 adds two new features: audio output (from the Android
|
||||||
|
|||||||
@@ -5,9 +5,9 @@ page.title=Tracer for OpenGL ES
|
|||||||
<div id="qv">
|
<div id="qv">
|
||||||
<h2>In this document</h2>
|
<h2>In this document</h2>
|
||||||
<ol>
|
<ol>
|
||||||
<li><a href="running">Running Tracer</a></li>
|
<li><a href="#running">Running Tracer</a></li>
|
||||||
<li><a href="generating">Generating a Trace</a></li>
|
<li><a href="#generating">Generating a Trace</a></li>
|
||||||
<li><a href="analyzing">Analyzing a Trace</a></li>
|
<li><a href="#analyzing">Analyzing a Trace</a></li>
|
||||||
</ol>
|
</ol>
|
||||||
<h2>See also</h2>
|
<h2>See also</h2>
|
||||||
<ol>
|
<ol>
|
||||||
|
|||||||
@@ -870,7 +870,7 @@ class="toggle-content-img" alt="" />Android {@sdkPlatformVersion}, Revision 1</a
|
|||||||
|
|
||||||
<dt>Tools:</dt>
|
<dt>Tools:</dt>
|
||||||
<dd>
|
<dd>
|
||||||
<p>Adds support for building with Android library projects. See <a href="tools-notes.html">SDK
|
<p>Adds support for building with Android library projects. See <a href="{@docRoot}tools/sdk/tools-notes.html">SDK
|
||||||
Tools, r6</a> for information.</p>
|
Tools, r6</a> for information.</p>
|
||||||
</dd>
|
</dd>
|
||||||
|
|
||||||
|
|||||||
@@ -375,7 +375,7 @@ devices. </td>
|
|||||||
<td colspan="3"><code>docs/</code></td>
|
<td colspan="3"><code>docs/</code></td>
|
||||||
<td>A full set of documentation in HTML format, including the Developer's Guide,
|
<td>A full set of documentation in HTML format, including the Developer's Guide,
|
||||||
API Reference, and other information. To read the documentation, load the
|
API Reference, and other information. To read the documentation, load the
|
||||||
file <code>offline.html</code> in a web browser.</td>
|
file <code>index.html</code> in a web browser.</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="3"><code>platform-tools/</code></td>
|
<td colspan="3"><code>platform-tools/</code></td>
|
||||||
|
|||||||
@@ -281,6 +281,6 @@ public void onAccessibilityEvent(AccessibilityEvent event) {
|
|||||||
|
|
||||||
<p>Now you have a complete, functioning accessibility service. Try configuring
|
<p>Now you have a complete, functioning accessibility service. Try configuring
|
||||||
how it interacts with the user, by adding Android's <a
|
how it interacts with the user, by adding Android's <a
|
||||||
href="http://developer.android.com/resources/articles/tts.html">text-to-speech
|
href="http://android-developers.blogspot.com/2009/09/introduction-to-text-to-speech-in.html">text-to-speech
|
||||||
engine</a>, or using a {@link android.os.Vibrator} to provide haptic
|
engine</a>, or using a {@link android.os.Vibrator} to provide haptic
|
||||||
feedback!</p>
|
feedback!</p>
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ and {@link android.net.NetworkInfo#isConnected isConnected()}.
|
|||||||
Remember, the device may be out of range of a
|
Remember, the device may be out of range of a
|
||||||
network, or the user may have disabled both Wi-Fi and mobile data access.
|
network, or the user may have disabled both Wi-Fi and mobile data access.
|
||||||
For more discussion of this topic, see the lesson <a
|
For more discussion of this topic, see the lesson <a
|
||||||
href="{@docRoot}training/network-ops/managing.html">Managing Network
|
href="{@docRoot}training/basics/network-ops/managing.html">Managing Network
|
||||||
Usage</a>.</p>
|
Usage</a>.</p>
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ well-designed class, though, a custom view should:
|
|||||||
existing view
|
existing view
|
||||||
subclasses, such as {@link android.widget.Button}.</p>
|
subclasses, such as {@link android.widget.Button}.</p>
|
||||||
|
|
||||||
<p>To allow the <a href=”{@docRoot}guide/developing/tools/adt.html”>Android Developer Tools
|
<p>To allow the <a href="{@docRoot}guide/developing/tools/adt.html">Android Developer Tools
|
||||||
</a> to interact with your view, at a minimum you must provide a constructor that takes a
|
</a> to interact with your view, at a minimum you must provide a constructor that takes a
|
||||||
{@link android.content.Context} and an {@link android.util.AttributeSet} object as parameters.
|
{@link android.content.Context} and an {@link android.util.AttributeSet} object as parameters.
|
||||||
This constructor allows the layout editor to create and edit an instance of your view.</p>
|
This constructor allows the layout editor to create and edit an instance of your view.</p>
|
||||||
@@ -105,7 +105,7 @@ enable this behavior in your custom view, you must:
|
|||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
<resources>;
|
<resources>;
|
||||||
<declare-styleable name="PieChart">
|
<declare-styleable name="PieChart">
|
||||||
<attr name="showText" format="boolean" />
|
<attr name="showText" format="boolean" />
|
||||||
<attr name="labelPosition" format="enum">
|
<attr name="labelPosition" format="enum">
|
||||||
<enum name="left" value="0"/>
|
<enum name="left" value="0"/>
|
||||||
@@ -276,6 +276,6 @@ public void setShowText(boolean showText) {
|
|||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p>For more information on creating accessible views, see
|
<p>For more information on creating accessible views, see
|
||||||
<a href=”{@docRoot}guide/topics/ui/accessibility/apps.html#custom-views”>
|
<a href="{@docRoot}guide/topics/ui/accessibility/apps.html#custom-views">
|
||||||
Making Applications Accessible</a> in the Android Developers Guide.
|
Making Applications Accessible</a> in the Android Developers Guide.
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ previous.link=making-interactive.html
|
|||||||
|
|
||||||
<h2>You should also read</h2>
|
<h2>You should also read</h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href=”{@docRoot}guide/topics/graphics/hardware-accel.html”>
|
<li><a href="{@docRoot}guide/topics/graphics/hardware-accel.html">
|
||||||
Hardware Acceleration
|
Hardware Acceleration
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
@@ -119,7 +119,7 @@ public void onCreate(Bundle savedInstanceState) {
|
|||||||
|
|
||||||
<h2 id="horizontal-paging">Implement Horizontal Paging (Swipe Views)</h2>
|
<h2 id="horizontal-paging">Implement Horizontal Paging (Swipe Views)</h2>
|
||||||
|
|
||||||
<p>Horizontal paging, or swipe views, allow users to <a href="{@docRoot}design/patterns/swipe-views">swipe</a> horizontally on the current screen to navigate to adjacent screens. This pattern can be implemented using the {@link android.support.v4.view.ViewPager} widget, currently available as part of the <a href="{@docRoot}tools/extras/support-library.html">Android Support Package</a>. For navigating between sibling screens representing a fixed number of sections, it's best to provide the {@link android.support.v4.view.ViewPager} with a {@link android.support.v4.app.FragmentPagerAdapter}. For horizontal paging across collections of objects, it's best to use a {@link android.support.v4.app.FragmentStatePagerAdapter}, which destroys fragments as the user navigates to other pages, minimizing memory usage.</p>
|
<p>Horizontal paging, or swipe views, allow users to <a href="{@docRoot}design/patterns/swipe-views.html">swipe</a> horizontally on the current screen to navigate to adjacent screens. This pattern can be implemented using the {@link android.support.v4.view.ViewPager} widget, currently available as part of the <a href="{@docRoot}tools/extras/support-library.html">Android Support Package</a>. For navigating between sibling screens representing a fixed number of sections, it's best to provide the {@link android.support.v4.view.ViewPager} with a {@link android.support.v4.app.FragmentPagerAdapter}. For horizontal paging across collections of objects, it's best to use a {@link android.support.v4.app.FragmentStatePagerAdapter}, which destroys fragments as the user navigates to other pages, minimizing memory usage.</p>
|
||||||
|
|
||||||
<p>Below is an example of using a {@link android.support.v4.view.ViewPager} to swipe across a collection of objects.</p>
|
<p>Below is an example of using a {@link android.support.v4.view.ViewPager} to swipe across a collection of objects.</p>
|
||||||
|
|
||||||
|
|||||||
@@ -25,12 +25,9 @@ next.link=loading-ondemand.html
|
|||||||
<!-- other docs (NOT javadocs) -->
|
<!-- other docs (NOT javadocs) -->
|
||||||
<h2>You should also read</h2>
|
<h2>You should also read</h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="{@docRoot}resources/articles/layout-tricks-reuse.html">Creating Reusable UI
|
|
||||||
Components</a></li>
|
|
||||||
<li><a href="{@docRoot}resources/articles/layout-tricks-merge.html">Merging Layouts</a></li>
|
|
||||||
<li><a
|
<li><a
|
||||||
href="{@docRoot}guide/topics/resources/layout-resource.html#include-element">Layout
|
href="{@docRoot}guide/topics/resources/layout-resource.html#include-element">Layout
|
||||||
Resource</a></li>
|
Resources</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -22,8 +22,8 @@ previous.link=loading-ondemand.html
|
|||||||
<!-- other docs (NOT javadocs) -->
|
<!-- other docs (NOT javadocs) -->
|
||||||
<h2>You should also read</h2>
|
<h2>You should also read</h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="{@docRoot}resources/articles/listview-backgrounds.html">ListView
|
<li><a href="http://android-developers.blogspot.com/2009/01/why-is-my-list-black-android.html">Why
|
||||||
Backgrounds: An Optimization</a></li>
|
is my list black? An Android optimization</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
page.title=Notepad Tutorial
|
page.title=Notepad Tutorial
|
||||||
parent.title=Tutorials
|
parent.title=Tutorials
|
||||||
parent.link=../../browser.html?tag=tutorial
|
|
||||||
@jd:body
|
@jd:body
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user