Loading docs/html/training/accessibility/accessible-app.jd +13 −9 Original line number Diff line number Diff line Loading @@ -50,11 +50,14 @@ cues are needed.</p> <p>Fortunately, it's easy to add labels to UI elements in your application that can be read out loud to your user by a speech-based accessibility service like <a href="https://market.android.com/details?id=com.google.android.marvin.talkback">TalkBack</a>. href="https://play.google.com/store/apps/details?id=com.google.android.marvin.talkback">TalkBack</a> . If you have a label that's likely not to change during the lifecycle of the application (such as "Pause" or "Purchase"), you can add it via the XML layout, by setting a UI element's <a href="{@docRoot}reference/android/view.View#attr_android:contentDescription">android:contentDescription</a> attribute, like in this href="{@docRoot}reference/android/view/View.html#attr_android:contentDescription" >{@code android:contentDescription}</a> attribute, like in this example:</p> <pre> <Button Loading Loading @@ -83,7 +86,7 @@ the noise a user needs to navigate in order to pull useful information from your interface.</p> <p>Try it out! Download <a href="https://market.android.com/details?id=com.google.android.marvin.talkback">TalkBack</a> href="https://play.google.com/store/apps/details?id=com.google.android.marvin.talkback">TalkBack</a> (an accessibility service published by Google) and enable it in <strong>Settings > Accessibility > TalkBack</strong>. Then navigate around your own application and listen for the audible cues provided by TalkBack.</p> Loading @@ -101,21 +104,21 @@ modification can be done at runtime using the {@link android.view.View#setFocusable View.setFocusable()} method on that UI control, or by setting the <a href="{@docRoot}android.view.View#attr_android:focusable">{@code href="{@docRoot}reference/android/view/View.html#attr_android:focusable">{@code android:focusable}</a> attrubute in your XML layout files.</p> <p>Also, each UI control has 4 attributes, <a href="{@docRoot}reference/android/view/View#attr_android:nextFocusUp">{@code <a href="{@docRoot}reference/android/view/View.html#attr_android:nextFocusUp">{@code android:nextFocusUp}</a>, <a href="{@docRoot}reference/android/view/View#attr_android:nextFocusDown">{@code href="{@docRoot}reference/android/view/View.html#attr_android:nextFocusDown">{@code android:nextFocusDown}</a>, <a href="{@docRoot}reference/android/view/View#attr_android:nextFocusLeft">{@code href="{@docRoot}reference/android/view/View.html#attr_android:nextFocusLeft">{@code android:nextFocusLeft}</a>, and <a href="{@docRoot}reference/android/view/View#attr_android:nextFocusRight">{@code href="{@docRoot}reference/android/view/View.html#attr_android:nextFocusRight">{@code android:nextFocusRight}</a>, which you can use to designate the next view to receive focus when the user navigates in that direction. While Loading Loading @@ -178,7 +181,8 @@ public void onTextChanged(String before, String after) { <p>Be sure to test the accessibility functionality as you add it to your application. In order to test the content descriptions and Accessibility events, install and enable an accessibility service. One option is <a href="https://play.google.com/store/details?id=com.google.android.marvin.talkback">Talkback</a>, href="https://play.google.com/store/apps/details?id=com.google.android.marvin.talkback">Talkback</a> , a free, open source screen reader available on Google Play. With the service enabled, test all the navigation flows through your application and listen to the spoken feedback.</p> Loading docs/html/training/displaying-bitmaps/display-bitmap.jd +2 −1 Original line number Diff line number Diff line Loading @@ -315,7 +315,8 @@ additional processing needs to be done, your UI grinds to a halt.</p> <p>The same asynchronous processing and caching methods from the previous section can be implemented here. However, you also need to wary of concurrency issues as the {@link android.widget.GridView} recycles its children views. To handle this, use the techniques discussed in the <a href="process-bitmap#concurrency">Processing Bitmaps Off the UI Thread</a> lesson. Here is the updated href="process-bitmap.html#concurrency">Processing Bitmaps Off the UI Thread</a> lesson. Here is the updated solution:</p> <pre> Loading docs/html/training/sharing/receive.jd +1 −1 Original line number Diff line number Diff line Loading @@ -34,7 +34,7 @@ Intent Filters</a></li> from applications. Think about how users interact with your application, and what data types you want to receive from other applications. For example, a social networking application would likely be interested in receiving text content, like an interesting web URL, from another app. The <a href="https://play.google.com/store/details?id=com.google.android.apps.plus">Google+ Android <a href="https://play.google.com/store/apps/details?id=com.google.android.apps.plus">Google+ Android application</a> accepts both text <em>and</em> single or multiple images. With this app, a user can easily start a new Google+ post with photos from the Android Gallery app.</p> Loading docs/html/training/tv/optimizing-layouts-tv.jd +2 −2 Original line number Diff line number Diff line Loading @@ -186,8 +186,8 @@ cause out-of-memory errors in your app. To avoid this, follow these tips: {@link android.graphics.Bitmap} views that are no longer needed. </li> <li>Use {@link java.lang.ref.WeakReference} for storing references to {@link android.graphics.Bitmap} objects in a in-memory <a href="{@link java.util.Collection}.</li> to {@link android.graphics.Bitmap} objects in an in-memory {@link java.util.Collection}.</li> <li>If you fetch images from the network, use {@link android.os.AsyncTask} to fetch them and store them on the SD card for faster access. Never do network transactions on the application's UI thread. Loading docs/html/training/tv/unsupported-features-tv.jd +3 −2 Original line number Diff line number Diff line Loading @@ -82,8 +82,9 @@ Android doesn't support touchscreen interaction for TV devices, most TVs don't h and interacting with a TV using a touchscreen is not consistent with the 10 foot environment. For these reasons, users interact with Android-powered TVs using a remote. In consideration of this, ensure that every control in your app can be accessed with the D-pad. Refer back to the previous two lessons <a href="{@docRoot}training/tv/optimizing-layouts-tv">Optimizing Layouts for TV</a> and <a href="{@docRoot}training/tv/optimizing-navigation-tv">Optimize Navigation for TV</a> for more details <a href="{@docRoot}training/tv/optimizing-layouts-tv.html">Optimizing Layouts for TV</a> and <a href="{@docRoot}training/tv/optimizing-navigation-tv.html">Optimize Navigation for TV</a> for more details on this topic. The Android system assumes that a device has a touchscreen, so if you want your application to run on a TV, you must <strong>explicitly</strong> disable the touchscreen requirement in your manifest file: <pre> Loading docs/html/training/search/backward-compat.jd +1 −1 File changed.Contains only whitespace changes. Show changes Loading
docs/html/training/accessibility/accessible-app.jd +13 −9 Original line number Diff line number Diff line Loading @@ -50,11 +50,14 @@ cues are needed.</p> <p>Fortunately, it's easy to add labels to UI elements in your application that can be read out loud to your user by a speech-based accessibility service like <a href="https://market.android.com/details?id=com.google.android.marvin.talkback">TalkBack</a>. href="https://play.google.com/store/apps/details?id=com.google.android.marvin.talkback">TalkBack</a> . If you have a label that's likely not to change during the lifecycle of the application (such as "Pause" or "Purchase"), you can add it via the XML layout, by setting a UI element's <a href="{@docRoot}reference/android/view.View#attr_android:contentDescription">android:contentDescription</a> attribute, like in this href="{@docRoot}reference/android/view/View.html#attr_android:contentDescription" >{@code android:contentDescription}</a> attribute, like in this example:</p> <pre> <Button Loading Loading @@ -83,7 +86,7 @@ the noise a user needs to navigate in order to pull useful information from your interface.</p> <p>Try it out! Download <a href="https://market.android.com/details?id=com.google.android.marvin.talkback">TalkBack</a> href="https://play.google.com/store/apps/details?id=com.google.android.marvin.talkback">TalkBack</a> (an accessibility service published by Google) and enable it in <strong>Settings > Accessibility > TalkBack</strong>. Then navigate around your own application and listen for the audible cues provided by TalkBack.</p> Loading @@ -101,21 +104,21 @@ modification can be done at runtime using the {@link android.view.View#setFocusable View.setFocusable()} method on that UI control, or by setting the <a href="{@docRoot}android.view.View#attr_android:focusable">{@code href="{@docRoot}reference/android/view/View.html#attr_android:focusable">{@code android:focusable}</a> attrubute in your XML layout files.</p> <p>Also, each UI control has 4 attributes, <a href="{@docRoot}reference/android/view/View#attr_android:nextFocusUp">{@code <a href="{@docRoot}reference/android/view/View.html#attr_android:nextFocusUp">{@code android:nextFocusUp}</a>, <a href="{@docRoot}reference/android/view/View#attr_android:nextFocusDown">{@code href="{@docRoot}reference/android/view/View.html#attr_android:nextFocusDown">{@code android:nextFocusDown}</a>, <a href="{@docRoot}reference/android/view/View#attr_android:nextFocusLeft">{@code href="{@docRoot}reference/android/view/View.html#attr_android:nextFocusLeft">{@code android:nextFocusLeft}</a>, and <a href="{@docRoot}reference/android/view/View#attr_android:nextFocusRight">{@code href="{@docRoot}reference/android/view/View.html#attr_android:nextFocusRight">{@code android:nextFocusRight}</a>, which you can use to designate the next view to receive focus when the user navigates in that direction. While Loading Loading @@ -178,7 +181,8 @@ public void onTextChanged(String before, String after) { <p>Be sure to test the accessibility functionality as you add it to your application. In order to test the content descriptions and Accessibility events, install and enable an accessibility service. One option is <a href="https://play.google.com/store/details?id=com.google.android.marvin.talkback">Talkback</a>, href="https://play.google.com/store/apps/details?id=com.google.android.marvin.talkback">Talkback</a> , a free, open source screen reader available on Google Play. With the service enabled, test all the navigation flows through your application and listen to the spoken feedback.</p> Loading
docs/html/training/displaying-bitmaps/display-bitmap.jd +2 −1 Original line number Diff line number Diff line Loading @@ -315,7 +315,8 @@ additional processing needs to be done, your UI grinds to a halt.</p> <p>The same asynchronous processing and caching methods from the previous section can be implemented here. However, you also need to wary of concurrency issues as the {@link android.widget.GridView} recycles its children views. To handle this, use the techniques discussed in the <a href="process-bitmap#concurrency">Processing Bitmaps Off the UI Thread</a> lesson. Here is the updated href="process-bitmap.html#concurrency">Processing Bitmaps Off the UI Thread</a> lesson. Here is the updated solution:</p> <pre> Loading
docs/html/training/sharing/receive.jd +1 −1 Original line number Diff line number Diff line Loading @@ -34,7 +34,7 @@ Intent Filters</a></li> from applications. Think about how users interact with your application, and what data types you want to receive from other applications. For example, a social networking application would likely be interested in receiving text content, like an interesting web URL, from another app. The <a href="https://play.google.com/store/details?id=com.google.android.apps.plus">Google+ Android <a href="https://play.google.com/store/apps/details?id=com.google.android.apps.plus">Google+ Android application</a> accepts both text <em>and</em> single or multiple images. With this app, a user can easily start a new Google+ post with photos from the Android Gallery app.</p> Loading
docs/html/training/tv/optimizing-layouts-tv.jd +2 −2 Original line number Diff line number Diff line Loading @@ -186,8 +186,8 @@ cause out-of-memory errors in your app. To avoid this, follow these tips: {@link android.graphics.Bitmap} views that are no longer needed. </li> <li>Use {@link java.lang.ref.WeakReference} for storing references to {@link android.graphics.Bitmap} objects in a in-memory <a href="{@link java.util.Collection}.</li> to {@link android.graphics.Bitmap} objects in an in-memory {@link java.util.Collection}.</li> <li>If you fetch images from the network, use {@link android.os.AsyncTask} to fetch them and store them on the SD card for faster access. Never do network transactions on the application's UI thread. Loading
docs/html/training/tv/unsupported-features-tv.jd +3 −2 Original line number Diff line number Diff line Loading @@ -82,8 +82,9 @@ Android doesn't support touchscreen interaction for TV devices, most TVs don't h and interacting with a TV using a touchscreen is not consistent with the 10 foot environment. For these reasons, users interact with Android-powered TVs using a remote. In consideration of this, ensure that every control in your app can be accessed with the D-pad. Refer back to the previous two lessons <a href="{@docRoot}training/tv/optimizing-layouts-tv">Optimizing Layouts for TV</a> and <a href="{@docRoot}training/tv/optimizing-navigation-tv">Optimize Navigation for TV</a> for more details <a href="{@docRoot}training/tv/optimizing-layouts-tv.html">Optimizing Layouts for TV</a> and <a href="{@docRoot}training/tv/optimizing-navigation-tv.html">Optimize Navigation for TV</a> for more details on this topic. The Android system assumes that a device has a touchscreen, so if you want your application to run on a TV, you must <strong>explicitly</strong> disable the touchscreen requirement in your manifest file: <pre> Loading
docs/html/training/search/backward-compat.jd +1 −1 File changed.Contains only whitespace changes. Show changes