diff options
Diffstat (limited to 'docs/html/training/training_toc.cs')
-rw-r--r-- | docs/html/training/training_toc.cs | 960 |
1 files changed, 591 insertions, 369 deletions
diff --git a/docs/html/training/training_toc.cs b/docs/html/training/training_toc.cs index 1c85ae8..ece5582 100644 --- a/docs/html/training/training_toc.cs +++ b/docs/html/training/training_toc.cs @@ -4,741 +4,963 @@ <li class="nav-section"> <div class="nav-section-header"> <a href="<?cs var:toroot ?>training/index.html"> - <span class="en">Get Started</span> + Getting Started </a> </div> <ul> <li class="nav-section"> <div class="nav-section-header"> - <a href="<?cs var:toroot ?>training/basics/firstapp/index.html"> - <span class="en">Building Your First App</span> - </a> + <a href="<?cs var:toroot ?>training/basics/firstapp/index.html" + description= + "After you've installed the Android SDK, start with this class + to learn the basics about Android app development." + >Building Your First App</a> </div> <ul> <li><a href="<?cs var:toroot ?>training/basics/firstapp/creating-project.html"> - <span class="en">Creating an Android Project</span> + Creating an Android Project </a> </li> <li><a href="<?cs var:toroot ?>training/basics/firstapp/running-app.html"> - <span class="en">Running Your Application</span> + Running Your Application </a> </li> <li><a href="<?cs var:toroot ?>training/basics/firstapp/building-ui.html"> - <span class="en">Building a Simple User Interface</span> + Building a Simple User Interface </a> </li> <li><a href="<?cs var:toroot ?>training/basics/firstapp/starting-activity.html"> - <span class="en">Starting Another Activity</span> + Starting Another Activity </a> </li> </ul> </li> <li class="nav-section"> - <div class="nav-section-header"><a href="<?cs var:toroot ?>training/basics/activity-lifecycle/index.html"> - <span class="en">Managing the Activity Lifecycle</span> - </a></div> + <div class="nav-section-header"> + <a href="<?cs var:toroot ?>training/basics/activity-lifecycle/index.html" + description= + "How Android activities live and die and how to create + a seamless user experience by implementing lifecycle callback methods." + >Managing the Activity Lifecycle</a> + </div> <ul> <li><a href="<?cs var:toroot ?>training/basics/activity-lifecycle/starting.html"> - <span class="en">Starting an Activity</span> + Starting an Activity </a> </li> <li><a href="<?cs var:toroot ?>training/basics/activity-lifecycle/pausing.html"> - <span class="en">Pausing and Resuming an Activity</span> + Pausing and Resuming an Activity </a> </li> <li><a href="<?cs var:toroot ?>training/basics/activity-lifecycle/stopping.html"> - <span class="en">Stopping and Restarting an Activity</span> + Stopping and Restarting an Activity </a> </li> <li><a href="<?cs var:toroot ?>training/basics/activity-lifecycle/recreating.html"> - <span class="en">Recreating an Activity</span> + Recreating an Activity </a> </li> </ul> </li> <li class="nav-section"> - <div class="nav-section-header"><a href="<?cs var:toroot ?>training/basics/supporting-devices/index.html"> - <span class="en">Supporting Different Devices</span> - </a></div> + <div class="nav-section-header"> + <a href="<?cs var:toroot ?>training/basics/supporting-devices/index.html" + description= + "How to build your app with alternative resources that provide an + optimized user experience on multiple device form factors using a single APK." + >Supporting Different Devices</a> + </div> <ul> <li><a href="<?cs var:toroot ?>training/basics/supporting-devices/languages.html"> - <span class="en">Supporting Different Languages</span> + Supporting Different Languages </a> </li> <li><a href="<?cs var:toroot ?>training/basics/supporting-devices/screens.html"> - <span class="en">Supporting Different Screens</span> + Supporting Different Screens </a> </li> <li><a href="<?cs var:toroot ?>training/basics/supporting-devices/platforms.html"> - <span class="en">Supporting Different Platform Versions</span> + Supporting Different Platform Versions </a> </li> </ul> </li> <li class="nav-section"> - <div class="nav-section-header"><a href="<?cs var:toroot ?>training/basics/fragments/index.html"> - <span class="en">Building a Dynamic UI with Fragments</span> - </a></div> + <div class="nav-section-header"> + <a href="<?cs var:toroot ?>training/basics/fragments/index.html" + description= + "How to build a user interface for your app that is flexible enough + to present multiple UI components on large screens and a more constrained set of + UI components on smaller screens—essential for building a single APK for both + phones and tablets." + >Building a Dynamic UI with Fragments</a> + </div> <ul> <li><a href="<?cs var:toroot ?>training/basics/fragments/support-lib.html"> - <span class="en">Using the Support Library</span> + Using the Support Library </a> </li> <li><a href="<?cs var:toroot ?>training/basics/fragments/creating.html"> - <span class="en">Creating a Fragment</span> + Creating a Fragment </a> </li> <li><a href="<?cs var:toroot ?>training/basics/fragments/fragment-ui.html"> - <span class="en">Building a Flexible UI</span> + Building a Flexible UI </a> </li> <li><a href="<?cs var:toroot ?>training/basics/fragments/communicating.html"> - <span class="en">Communicating with Other Fragments</span> + Communicating with Other Fragments </a> </li> </ul> </li> <li class="nav-section"> - <div class="nav-section-header"><a href="<?cs var:toroot?>training/basics/data-storage/index.html"> - <span class="en">Saving Data</span> - </a></div> + <div class="nav-section-header"><a href="<?cs var:toroot?>training/basics/data-storage/index.html" + description= + "How to save data on the device, whether it's temporary files, downloaded + app assets, user media, structured data, or something else." + >Saving Data</a> + </div> <ul> <li><a href="<?cs var:toroot ?>training/basics/data-storage/shared-preferences.html"> - <span class="en">Saving Key-Value Sets</span> + Saving Key-Value Sets </a> </li> <li><a href="<?cs var:toroot ?>training/basics/data-storage/files.html"> - <span class="en">Saving Files</span> + Saving Files </a> </li> <li><a href="<?cs var:toroot ?>training/basics/data-storage/databases.html"> - <span class="en">Saving Data in SQL Databases</span> + Saving Data in SQL Databases </a> </li> </ul> </li> <li class="nav-section"> - <div class="nav-section-header"><a href="<?cs var:toroot ?>training/basics/intents/index.html"> - <span class="en">Interacting with Other Apps</span> - </a></div> + <div class="nav-section-header"> + <a href="<?cs var:toroot ?>training/basics/intents/index.html" + description= + "How to build a user experience that leverages other apps available + on the device to perform advanced user tasks, such as capture a photo or view + an address on a map." + >Interacting with Other Apps</a> + </div> <ul> <li><a href="<?cs var:toroot ?>training/basics/intents/sending.html"> - <span class="en">Sending the User to Another App</span> + Sending the User to Another App </a> </li> <li><a href="<?cs var:toroot ?>training/basics/intents/result.html"> - <span class="en">Getting a Result from the Activity</span> + Getting a Result from the Activity </a> </li> <li><a href="<?cs var:toroot ?>training/basics/intents/filters.html"> - <span class="en">Allowing Other Apps to Start Your Activity</span> + Allowing Other Apps to Start Your Activity </a> </li> </ul> </li> - - </ul> - </li><!-- end basic training --> - <li class="nav-section"> - <div class="nav-section-header"> - <a href="<?cs var:toroot ?>training/advanced.html"> - <span class="en">Advanced Training</span> - </a> - </div> - <ul> - <li class="nav-section"> - <div class="nav-section-header"><a href="<?cs var:toroot ?>training/basics/location/index.html"> - <span class="en">Making Your App Location Aware</span> - </a></div> + <div class="nav-section-header"> + <a href="<?cs var:toroot ?>training/sharing/index.html" + description= + "How to take your app interaction to the next level by sharing + information with other apps, receive information back, and provide a simple and + scalable way to perform Share actions with user content." + >Sharing Content</a> + </div> <ul> - <li><a href="<?cs var:toroot ?>training/basics/location/locationmanager.html"> - <span class="en">Using the Location Manager</span> + <li><a href="<?cs var:toroot ?>training/sharing/send.html"> + Sending Content to Other Apps </a> </li> - <li><a href="<?cs var:toroot ?>training/basics/location/currentlocation.html"> - <span class="en">Obtaining the Current Location</span> + <li><a href="<?cs var:toroot ?>training/sharing/receive.html"> + Receiving Content from Other Apps </a> </li> - <li><a href="<?cs var:toroot ?>training/basics/location/geocoding.html"> - <span class="en">Displaying a Location Address</span> + <li><a href="<?cs var:toroot ?>training/sharing/shareaction.html"> + Adding an Easy Share Action </a> </li> </ul> </li> + </ul> + </li><!-- end getting started --> + - <li class="nav-section"> - <div class="nav-section-header"><a href="<?cs var:toroot ?>training/basics/network-ops/index.html"> - <span class="en">Performing Network Operations</span> - </a></div> + <li class="nav-section"> + <div class="nav-section-header"> + <a href="<?cs var:toroot ?>training/building-multimedia.html"> + <span class="small">Building Apps with</span><br/>Multimedia + </a> + </div> + <ul> + + <li class="nav-section"> + <div class="nav-section-header"> + <a href="<?cs var:toroot ?>training/managing-audio/index.html" + description= + "How to respond to hardware audio key presses, request audio focus + when playing audio, and respond appropriately to changes in audio focus." + >Managing Audio Playback</a> + </div> <ul> - <li><a href="<?cs var:toroot ?>training/basics/network-ops/connecting.html"> - <span class="en">Connecting to the Network</span> + <li><a href="<?cs var:toroot ?>training/managing-audio/volume-playback.html"> + Controlling Your App's Volume and Playback </a> </li> - <li><a href="<?cs var:toroot ?>training/basics/network-ops/managing.html"> - <span class="en">Managing Network Usage</span> + <li><a href="<?cs var:toroot ?>training/managing-audio/audio-focus.html"> + Managing Audio Focus </a> </li> - <li><a href="<?cs var:toroot ?>training/basics/network-ops/xml.html"> - <span class="en">Parsing XML Data</span> + <li><a href="<?cs var:toroot ?>training/managing-audio/audio-output.html"> + Dealing with Audio Output Hardware </a> </li> </ul> </li> <li class="nav-section"> - <div class="nav-section-header"><a href="<?cs var:toroot ?>training/efficient-downloads/index.html"> - <span class="en">Transferring Data Without Draining the Battery</span> - </a></div> + <div class="nav-section-header"> + <a href="<?cs var:toroot ?>training/camera/index.html" + description= + "How to leverage existing camera apps on the user's device to capture + photos or control the camera hardware directly and build your own camera app." + >Capturing Photos</a> + </div> <ul> - <li><a href="<?cs var:toroot ?>training/efficient-downloads/efficient-network-access.html"> - <span class="en">Optimizing Downloads for Efficient Network Access</span> - </a> - </li> - <li><a href="<?cs var:toroot ?>training/efficient-downloads/regular_updates.html"> - <span class="en">Minimizing the Effect of Regular Updates</span> + <li><a href="<?cs var:toroot ?>training/camera/photobasics.html"> + Taking Photos Simply </a> </li> - <li><a href="<?cs var:toroot ?>training/efficient-downloads/redundant_redundant.html"> - <span class="en">Redundant Downloads are Redundant</span> + <li><a href="<?cs var:toroot ?>training/camera/videobasics.html"> + Recording Videos Simply </a> </li> - <li><a href="<?cs var:toroot ?>training/efficient-downloads/connectivity_patterns.html"> - <span class="en">Modifying Patterns Based on the Connectivity Type</span> + <li><a href="<?cs var:toroot ?>training/camera/cameradirect.html"> + Controlling the Camera </a> </li> </ul> </li> + </ul> + </li> + <!-- End multimedia --> + + + <li class="nav-section"> + <div class="nav-section-header"> + <a href="<?cs var:toroot ?>training/building-graphics.html"> + <span class="small">Building Apps with</span><br/>Graphics & Animation + </a> + </div> + <ul> + <li class="nav-section"> - <div class="nav-section-header"><a href="<?cs var:toroot ?>training/cloudsync/index.html"> - <span class="en">Syncing to the Cloud</span> - </a></div> + <div class="nav-section-header"> + <a href="<?cs var:toroot ?>training/displaying-bitmaps/index.html" + description= + "How to load and process bitmaps while keeping your user interface + responsive and avoid exceeding memory limits." + >Displaying Bitmaps Efficiently</a> + </div> <ul> - <li><a href="<?cs var:toroot ?>training/cloudsync/backupapi.html"> - <span class="en">Using the Backup API</span> + <li><a href="<?cs var:toroot ?>training/displaying-bitmaps/load-bitmap.html"> + Loading Large Bitmaps Efficiently </a> </li> - <li><a href="<?cs var:toroot ?>training/cloudsync/gcm.html"> - <span class="en">Making the Most of Google Cloud Messaging</span> + <li><a href="<?cs var:toroot ?>training/displaying-bitmaps/process-bitmap.html"> + Processing Bitmaps Off the UI Thread + </a> + </li> + <li><a href="<?cs var:toroot ?>training/displaying-bitmaps/cache-bitmap.html"> + Caching Bitmaps </a> </li> + <li><a href="<?cs var:toroot ?>training/displaying-bitmaps/display-bitmap.html"> + Displaying Bitmaps in Your UI + </a></li> </ul> </li> <li class="nav-section"> - <div class="nav-section-header"><a href="<?cs var:toroot ?>training/multiscreen/index.html" - zh-CN-lang="针对多种屏幕进行设计" - ja-lang="複数画面のデザイン" - es-lang="Cómo diseñar aplicaciones para varias pantallas" - >Designing for Multiple Screens</a> + <div class="nav-section-header"> + <a href="<?cs var:toroot?>training/graphics/opengl/index.html" + description= + "How to create OpenGL graphics within the Android app framework + and respond to touch input." + >Displaying Graphics with OpenGL ES</a> </div> <ul> - <li><a href="<?cs var:toroot ?>training/multiscreen/screensizes.html" - zh-CN-lang="支持各种屏幕尺寸" - ko-lang="다양한 화면 크기 지원" - ja-lang="さまざまな画面サイズのサポート" - es-lang="Cómo admitir varios tamaños de pantalla" - >Designing for Multiple Screens</a> - </li> - <li><a href="<?cs var:toroot ?>training/multiscreen/screendensities.html" - zh-CN-lang="支持各种屏幕密度" - ja-lang="さまざまな画面密度のサポート" - es-lang="Cómo admitir varias densidades de pantalla" - >Supporting Different Screen Densities</a> + <li><a href="<?cs var:toroot ?>training/graphics/opengl/environment.html"> + Building an OpenGL ES Environment + </a> </li> - <li><a href="<?cs var:toroot ?>training/multiscreen/adaptui.html" - zh-CN-lang="实施自适应用户界面流程" - ja-lang="順応性のある UI フローの実装" - es-lang="Cómo implementar interfaces de usuario adaptables" - >Implementing Adaptive UI Flows</a> + <li><a href="<?cs var:toroot ?>training/graphics/opengl/shapes.html"> + Defining Shapes + </a> </li> - </ul> - </li> - - <li class="nav-section"> - <div class="nav-section-header"><a href="<?cs var:toroot ?>training/improving-layouts/index.html"> - <span class="en">Improving Layout Performance</span> - </a></div> - <ul> - <li><a href="<?cs var:toroot ?>training/improving-layouts/optimizing-layout.html"> - <span class="en">Optimizing Layout Hierarchies</span> + <li><a href="<?cs var:toroot ?>training/graphics/opengl/draw.html"> + Drawing Shapes </a> </li> - <li><a href="<?cs var:toroot ?>training/improving-layouts/reusing-layouts.html"> - <span class="en">Re-using Layouts with <include/></span> + <li><a href="<?cs var:toroot ?>training/graphics/opengl/projection.html"> + Applying Projection and Camera Views </a> </li> - <li><a href="<?cs var:toroot ?>training/improving-layouts/loading-ondemand.html"> - <span class="en">Loading Views On Demand</span> + <li><a href="<?cs var:toroot ?>training/graphics/opengl/motion.html"> + Adding Motion </a> </li> - <li><a href="<?cs var:toroot ?>training/improving-layouts/smooth-scrolling.html"> - <span class="en">Making ListView Scrolling Smooth</span> + <li><a href="<?cs var:toroot ?>training/graphics/opengl/touch.html"> + Responding to Touch Events </a> </li> </ul> </li> - - <li class="nav-section"> - <div class="nav-section-header"><a href="<?cs var:toroot ?>training/animation/index.html"> - <span class="en">Adding Animations</span> + <li class="nav-section"> + <div class="nav-section-header"><a href="<?cs var:toroot ?>training/animation/index.html" + description= + "How to add transitional animations to your user interface."> + Adding Animations </a></div> <ul> <li><a href="<?cs var:toroot ?>training/animation/crossfade.html"> - <span class="en">Crossfading Two Views</span> + Crossfading Two Views </a> </li> <li><a href="<?cs var:toroot ?>training/animation/screen-slide.html"> - <span class="en">Using ViewPager for Screen Slide</span> + Using ViewPager for Screen Slide </a> </li> <li><a href="<?cs var:toroot ?>training/animation/cardflip.html"> - <span class="en">Displaying Card Flip Animations</span> + Displaying Card Flip Animations </a> </li> <li><a href="<?cs var:toroot ?>training/animation/zoom.html"> - <span class="en">Zooming a View</span> + Zooming a View </a> </li> <li><a href="<?cs var:toroot ?>training/animation/layout.html"> - <span class="en">Animating Layout Changes</span> + Animating Layout Changes </a> </li> </ul> </li> + </ul> + </li> + <!-- End graphics and animation --> + + <li class="nav-section"> + <div class="nav-section-header"> + <a href="<?cs var:toroot ?>training/building-connectivity.html"> + <span class="small">Building Apps with</span><br/> + Connectivity & the Cloud + </a> + </div> + <ul> + + <li class="nav-section"> - <div class="nav-section-header"><a href="<?cs var:toroot ?>training/managing-audio/index.html"> - <span class="en">Managing Audio Playback</span> - </a></div> + <div class="nav-section-header"> + <a href="<?cs var:toroot ?>training/connect-devices-wirelessly/index.html" + description= + "How to find and connect to local devices using Network Service + Discovery and Wi-Fi Direct in order to create peer-to-peer connections." + >Connecting Devices Wirelessly</a> + </div> <ul> - <li><a href="<?cs var:toroot ?>training/managing-audio/volume-playback.html"> - <span class="en">Controlling Your App?s Volume and Playback</span> + <li><a href="<?cs var:toroot ?>training/connect-devices-wirelessly/nsd.html"> + Using Network Service Discovery </a> </li> - <li><a href="<?cs var:toroot ?>training/managing-audio/audio-focus.html"> - <span class="en">Managing Audio Focus</span> + <li><a href="<?cs var:toroot ?>training/connect-devices-wirelessly/wifi-direct.html"> + Connecting with Wi-Fi Direct </a> </li> - <li><a href="<?cs var:toroot ?>training/managing-audio/audio-output.html"> - <span class="en">Dealing with Audio Output Hardware</span> + <li><a href="<?cs var:toroot ?>training/connect-devices-wirelessly/nsd-wifi-direct.html"> + Using Wi-Fi Direct for Service Discovery </a> </li> </ul> </li> - - <li class="nav-section"> - <div class="nav-section-header"><a href="<?cs var:toroot ?>training/monitoring-device-state/index.html" - zh-CN-lang="优化电池使用时间" - ja-lang="電池消費量の最適化" - es-lang="Cómo optimizar la duración de la batería" - >Optimizing Battery Life</a> + + <li class="nav-section"> + <div class="nav-section-header"> + <a href="<?cs var:toroot ?>training/basics/network-ops/index.html" + description= + "How to create a network connection, monitor the connection for changes + in connectivity, and perform transactions with XML data." + >Performing Network Operations</a> </div> <ul> - <li><a href="<?cs var:toroot ?>training/monitoring-device-state/battery-monitoring.html" - zh-CN-lang="监控电池电量和充电状态" - ja-lang="電池残量と充電状態の監視" - es-lang="Cómo controlar el nivel de batería y el estado de carga" - >Monitoring the Battery Level and Charging State</a> - </li> - <li><a href="<?cs var:toroot ?>training/monitoring-device-state/docking-monitoring.html" - zh-CN-lang="确定和监控基座对接状态和类型" - ja-lang="ホルダーの装着状態とタイプの特定と監視" - es-lang="Cómo determinar y controlar el tipo de conector y el estado de la conexión" - >Determining and Monitoring the Docking State and Type</a> + <li><a href="<?cs var:toroot ?>training/basics/network-ops/connecting.html"> + Connecting to the Network + </a> </li> - <li><a href="<?cs var:toroot ?>training/monitoring-device-state/connectivity-monitoring.html" - zh-CN-lang="确定和监控网络连接状态" - ja-lang="接続状態の特定と監視" - es-lang="Cómo determinar y controlar el estado de la conectividad" - >Determining and Monitoring the Connectivity Status</a> + <li><a href="<?cs var:toroot ?>training/basics/network-ops/managing.html"> + Managing Network Usage + </a> </li> - <li><a href="<?cs var:toroot ?>training/monitoring-device-state/manifest-receivers.html" - zh-CN-lang="根据需要操作广播接收器" - ja-lang="オンデマンドでのブロードキャスト レシーバ操作" - es-lang="Cómo manipular los receptores de emisión bajo demanda" - >Manipulating Broadcast Receivers On Demand</a> + <li><a href="<?cs var:toroot ?>training/basics/network-ops/xml.html"> + Parsing XML Data + </a> </li> </ul> </li> <li class="nav-section"> - <div class="nav-section-header"><a href="<?cs var:toroot ?>training/custom-views/index.html"> - <span class="en">Creating Custom Views</span> - </a></div> + <div class="nav-section-header"> + <a href="<?cs var:toroot ?>training/efficient-downloads/index.html" + description= + "How to minimize your app's impact on the battery when performing downloads + and other network transactions." + >Transferring Data Without Draining the Battery</a> + </div> <ul> - <li><a href="<?cs var:toroot ?>training/custom-views/create-view.html"> - <span class="en">Creating a Custom View Class</span> + <li><a href="<?cs var:toroot ?>training/efficient-downloads/efficient-network-access.html"> + Optimizing Downloads for Efficient Network Access </a> </li> - <li><a href="<?cs var:toroot ?>training/custom-views/custom-drawing.html"> - <span class="en">Implementing Custom Drawing</span> + <li><a href="<?cs var:toroot ?>training/efficient-downloads/regular_updates.html"> + Minimizing the Effect of Regular Updates </a> </li> - <li><a href="<?cs var:toroot ?>training/custom-views/making-interactive.html"> - <span class="en">Making the View Interactive</span> + <li><a href="<?cs var:toroot ?>training/efficient-downloads/redundant_redundant.html"> + Redundant Downloads are Redundant </a> </li> - <li><a href="<?cs var:toroot ?>training/custom-views/optimizing-view.html"> - <span class="en">Optimizing the View</span> + <li><a href="<?cs var:toroot ?>training/efficient-downloads/connectivity_patterns.html"> + Modifying Patterns Based on the Connectivity Type </a> </li> </ul> </li> <li class="nav-section"> - <div class="nav-section-header"><a href="<?cs var:toroot ?>training/search/index.html"> - <span class="en">Adding Search Functionality</span> - </a> + <div class="nav-section-header"> + <a href="<?cs var:toroot ?>training/cloudsync/index.html" + description= + "How to sync and back up app and user data to remote web services in the + cloud and how to restore the data back to multiple devices." + >Syncing to the Cloud</a> </div> <ul> - <li><a href="<?cs var:toroot ?>training/search/setup.html"> - <span class="en">Setting up the Search Interface</span> - </a> - </li> - <li><a href="<?cs var:toroot ?>training/search/search.html"> - <span class="en">Storing and Searching for Data</span> + <li><a href="<?cs var:toroot ?>training/cloudsync/backupapi.html"> + Using the Backup API </a> </li> - <li><a href="<?cs var:toroot ?>training/search/backward-compat.html"> - <span class="en">Remaining Backward Compatible</span> + <li><a href="<?cs var:toroot ?>training/cloudsync/gcm.html"> + Making the Most of Google Cloud Messaging </a> </li> </ul> </li> + </ul> + </li> + <!-- End connectivity and cloud --> + + + <li class="nav-section"> + <div class="nav-section-header"> + <a href="<?cs var:toroot ?>training/building-userinfo.html"> + <span class="small">Building Apps with</span><br/> + User Info & Location + </a> + </div> + <ul> + <li class="nav-section"> - <div class="nav-section-header"><a href="<?cs var:toroot ?>training/id-auth/index.html"> - <span class="en">Remembering Users</span> - </a></div> + <div class="nav-section-header"> + <a href="<?cs var:toroot ?>training/id-auth/index.html" + description= + "How to remember the user by account, authenticate the user, acquire user permission + for the user's online data, and create custom accounts on the device." + >Remembering Users</a> + </div> <ul> <li><a href="<?cs var:toroot ?>training/id-auth/identify.html"> - <span class="en">Remembering Your User</span> + Remembering Your User </a> </li> <li><a href="<?cs var:toroot ?>training/id-auth/authenticate.html"> - <span class="en">Authenticating to OAuth2 Services</span> + Authenticating to OAuth2 Services </a> </li> <li><a href="<?cs var:toroot ?>training/id-auth/custom_auth.html"> - <span class="en">Creating a Custom Account Type</span> + Creating a Custom Account Type </a> </li> </ul> </li> <li class="nav-section"> - <div class="nav-section-header"><a href="<?cs var:toroot ?>training/sharing/index.html"> - <span class="en">Sharing Content</span> - </a></div> + <div class="nav-section-header"> + <a href="<?cs var:toroot ?>training/basics/location/index.html" + description= + "How to add location-aware features to your app by aqcuiring the user's current + location." + >Making Your App Location Aware</a> + </div> <ul> - <li><a href="<?cs var:toroot ?>training/sharing/send.html"> - <span class="en">Sending Content to Other Apps</span> + <li><a href="<?cs var:toroot ?>training/basics/location/locationmanager.html"> + Using the Location Manager </a> </li> - <li><a href="<?cs var:toroot ?>training/sharing/receive.html"> - <span class="en">Receiving Content from Other Apps</span> + <li><a href="<?cs var:toroot ?>training/basics/location/currentlocation.html"> + Obtaining the Current Location </a> </li> - <li><a href="<?cs var:toroot ?>training/sharing/shareaction.html"> - <span class="en">Adding an Easy Share Action</span> + <li><a href="<?cs var:toroot ?>training/basics/location/geocoding.html"> + Displaying a Location Address </a> </li> </ul> </li> + </ul> + </li> + <!-- End privacy and location --> + + + + <li class="nav-section"> + <div class="nav-section-header"> + <a href="<?cs var:toroot ?>training/best-ux.html"> + <span class="small">Best Practices for</span><br/> + User Experience & UI + </a> + </div> + <ul> <li class="nav-section"> - <div class="nav-section-header"><a href="<?cs var:toroot ?>training/camera/index.html"> - <span class="en">Capturing Photos</span> - </a></div> + <div class="nav-section-header"> + <a href="<?cs var:toroot ?>training/design-navigation/index.html" + description= + "How to plan your app's screen hierarchy and forms of navigation so users can + effectively and intuitively traverse your app content using various navigation + patterns." + >Designing Effective Navigation</a> + </div> <ul> - <li><a href="<?cs var:toroot ?>training/camera/photobasics.html"> - <span class="en">Taking Photos Simply</span> + <li><a href="<?cs var:toroot ?>training/design-navigation/screen-planning.html"> + Planning Screens and Their Relationships </a> </li> - <li><a href="<?cs var:toroot ?>training/camera/videobasics.html"> - <span class="en">Recording Videos Simply</span> + <li><a href="<?cs var:toroot ?>training/design-navigation/multiple-sizes.html"> + Planning for Multiple Touchscreen Sizes </a> </li> - <li><a href="<?cs var:toroot ?>training/camera/cameradirect.html"> - <span class="en">Controlling the Camera</span> + <li><a href="<?cs var:toroot ?>training/design-navigation/descendant-lateral.html"> + Providing Descendant and Lateral Navigation + </a> + </li> + <li><a href="<?cs var:toroot ?>training/design-navigation/ancestral-temporal.html"> + Providing Ancestral and Temporal Navigation + </a> + </li> + <li><a href="<?cs var:toroot ?>training/design-navigation/wireframing.html"> + Putting it All Together: Wireframing the Example App </a> </li> </ul> </li> <li class="nav-section"> - <div class="nav-section-header"><a href="<?cs var:toroot ?>training/multiple-apks/index.html"> - <span class="en">Maintaining Multiple APKs</span> - </a></div> + <div class="nav-section-header"> + <a href="<?cs var:toroot ?>training/implementing-navigation/index.html" + description= + "How to implement various navigation patterns such as swipe views and up navigation." + >Implementing Effective Navigation</a> + </div> <ul> - <li><a href="<?cs var:toroot ?>training/multiple-apks/api.html"> - <span class="en">Creating Multiple APKs for Different API Levels</span> + <li><a href="<?cs var:toroot ?>training/implementing-navigation/lateral.html"> + Implementing Lateral Navigation </a> </li> - <li><a href="<?cs var:toroot ?>training/multiple-apks/screensize.html"> - <span class="en">Creating Multiple APKs for Different Screen Sizes</span> + <li><a href="<?cs var:toroot ?>training/implementing-navigation/ancestral.html"> + Implementing Ancestral Navigation </a> </li> - <li><a href="<?cs var:toroot ?>training/multiple-apks/texture.html"> - <span class="en">Creating Multiple APKs for Different GL Textures</span> + <li><a href="<?cs var:toroot ?>training/implementing-navigation/temporal.html"> + Implementing Temporal Navigation </a> </li> - <li><a href="<?cs var:toroot ?>training/multiple-apks/multiple.html"> - <span class="en">Creating Multiple APKs with 2+ Dimensions</span> + <li><a href="<?cs var:toroot ?>training/implementing-navigation/descendant.html"> + Implementing Descendant Navigation </a> </li> </ul> </li> - + + <li class="nav-section"> - <div class="nav-section-header"><a href="<?cs var:toroot ?>training/backward-compatible-ui/index.html"> - <span class="en">Creating Backward-Compatible UIs</span> - </a></div> + <div class="nav-section-header"> + <a href="/training/multiscreen/index.html" + zh-CN-lang="针对多种屏幕进行设计" + ja-lang="複数画面のデザイン" + es-lang="Cómo diseñar aplicaciones para varias pantallas" + description= + "How to build a user interface that's flexible enough to + fit perfectly on any screen and how to create different interaction + patterns that are optimized for different screen sizes." + >Designing for Multiple Screens</a> + </div> <ul> - <li><a href="<?cs var:toroot ?>training/backward-compatible-ui/abstracting.html"> - <span class="en">Abstracting the New APIs</span> - </a> - </li> - <li><a href="<?cs var:toroot ?>training/backward-compatible-ui/new-implementation.html"> - <span class="en">Proxying to the New APIs</span> - </a> + <li><a href="/training/multiscreen/screensizes.html" + zh-CN-lang="支持各种屏幕尺寸" + ko-lang="다양한 화면 크기 지원" + ja-lang="さまざまな画面サイズのサポート" + es-lang="Cómo admitir varios tamaños de pantalla" + >Supporting Different Screen Sizes</a> </li> - <li><a href="<?cs var:toroot ?>training/backward-compatible-ui/older-implementation.html"> - <span class="en">Creating an Implementation with Older APIs</span> - </a> + <li><a href="/training/multiscreen/screendensities.html" + zh-CN-lang="支持各种屏幕密度" + ja-lang="さまざまな画面密度のサポート" + es-lang="Cómo admitir varias densidades de pantalla" + >Supporting Different Screen Densities</a> </li> - <li><a href="<?cs var:toroot ?>training/backward-compatible-ui/using-component.html"> - <span class="en">Using the Version-Aware Component</span> - </a> + <li><a href="/training/multiscreen/adaptui.html" + zh-CN-lang="实施自适应用户界面流程" + ja-lang="順応性のある UI フローの実装" + es-lang="Cómo implementar interfaces de usuario adaptables" + >Implementing Adaptive UI Flows</a> </li> </ul> </li> <li class="nav-section"> - <div class="nav-section-header"><a href="<?cs var:toroot ?>training/enterprise/index.html"> - <span class="en">Developing for Enterprise</span> - </a></div> + <div class="nav-section-header"><a href="<?cs var:toroot ?>training/tv/index.html" + description= + "How to optimize your app's user interface and user input for + the "ten foot experience" of a TV screen." + >Designing for TV</a> + </div> <ul> - <li><a href="<?cs var:toroot ?>training/enterprise/device-management-policy.html"> - <span class="en">Enhancing Security with Device Management Policies</span> + <li><a href="<?cs var:toroot ?>training/tv/optimizing-layouts-tv.html"> + Optimizing Layouts for TV + </a> + </li> + <li><a href="<?cs var:toroot ?>training/tv/optimizing-navigation-tv.html"> + Optimizing Navigation for TV + </a> + </li> + <li><a href="<?cs var:toroot ?>training/tv/unsupported-features-tv.html"> + Handling Features Not Supported on TV </a> </li> </ul> </li> <li class="nav-section"> - <div class="nav-section-header"><a href="<?cs var:toroot ?>training/monetization/index.html"> - <span class="en">Monetizing Your App</span> - </a></div> + <div class="nav-section-header"> + <a href="<?cs var:toroot ?>training/search/index.html" + description= + "How to properly add a search interface to your app and create a searchable database." + >Adding Search Functionality</a> + </div> <ul> - <li><a href="<?cs var:toroot ?>training/monetization/ads-and-ux.html"> - <span class="en">Advertising without Compromising User Experience</span> + <li><a href="<?cs var:toroot ?>training/search/setup.html"> + Setting up the Search Interface + </a> + </li> + <li><a href="<?cs var:toroot ?>training/search/search.html"> + Storing and Searching for Data + </a> + </li> + <li><a href="<?cs var:toroot ?>training/search/backward-compat.html"> + Remaining Backward Compatible </a> </li> </ul> </li> - + <li class="nav-section"> - <div class="nav-section-header"><a href="<?cs var:toroot ?>training/design-navigation/index.html"> - <span class="en">Designing Effective Navigation</span> - </a></div> + <div class="nav-section-header"> + <a href="<?cs var:toroot ?>training/custom-views/index.html" + description= + "How to build custom UI widgets that are interactive and smooth." + >Creating Custom Views</a> + </div> <ul> - <li><a href="<?cs var:toroot ?>training/design-navigation/screen-planning.html"> - <span class="en">Planning Screens and Their Relationships</span> - </a> - </li> - <li><a href="<?cs var:toroot ?>training/design-navigation/multiple-sizes.html"> - <span class="en">Planning for Multiple Touchscreen Sizes</span> + <li><a href="<?cs var:toroot ?>training/custom-views/create-view.html"> + Creating a Custom View Class </a> </li> - <li><a href="<?cs var:toroot ?>training/design-navigation/descendant-lateral.html"> - <span class="en">Providing Descendant and Lateral Navigation</span> + <li><a href="<?cs var:toroot ?>training/custom-views/custom-drawing.html"> + Implementing Custom Drawing </a> </li> - <li><a href="<?cs var:toroot ?>training/design-navigation/ancestral-temporal.html"> - <span class="en">Providing Ancestral and Temporal Navigation</span> + <li><a href="<?cs var:toroot ?>training/custom-views/making-interactive.html"> + Making the View Interactive </a> </li> - <li><a href="<?cs var:toroot ?>training/design-navigation/wireframing.html"> - <span class="en">Putting it All Together: Wireframing the Example App</span> + <li><a href="<?cs var:toroot ?>training/custom-views/optimizing-view.html"> + Optimizing the View </a> </li> </ul> </li> <li class="nav-section"> - <div class="nav-section-header"><a href="<?cs var:toroot ?>training/implementing-navigation/index.html"> - <span class="en">Implementing Effective Navigation</span> - </a></div> + <div class="nav-section-header"> + <a href="<?cs var:toroot ?>training/backward-compatible-ui/index.html" + description= + "How to use UI components and other APIs from the more recent versions of Android + while remaining compatible with older versions of the platform." + >Creating Backward-Compatible UIs</a> + </div> <ul> - <li><a href="<?cs var:toroot ?>training/implementing-navigation/lateral.html"> - <span class="en">Implementing Lateral Navigation</span> + <li><a href="<?cs var:toroot ?>training/backward-compatible-ui/abstracting.html"> + Abstracting the New APIs </a> </li> - <li><a href="<?cs var:toroot ?>training/implementing-navigation/ancestral.html"> - <span class="en">Implementing Ancestral Navigation</span> + <li><a href="<?cs var:toroot ?>training/backward-compatible-ui/new-implementation.html"> + Proxying to the New APIs </a> </li> - <li><a href="<?cs var:toroot ?>training/implementing-navigation/temporal.html"> - <span class="en">Implementing Temporal Navigation</span> + <li><a href="<?cs var:toroot ?>training/backward-compatible-ui/older-implementation.html"> + Creating an Implementation with Older APIs </a> </li> - <li><a href="<?cs var:toroot ?>training/implementing-navigation/descendant.html"> - <span class="en">Implementing Descendant Navigation</span> + <li><a href="<?cs var:toroot ?>training/backward-compatible-ui/using-component.html"> + Using the Version-Aware Component </a> </li> </ul> </li> - + <li class="nav-section"> - <div class="nav-section-header"><a href="<?cs var:toroot ?>training/tv/index.html"> - <span class="en">Designing for TV</span> - </a> + <div class="nav-section-header"> + <a href="<?cs var:toroot ?>training/accessibility/index.html" + description= + "How to make your app accessible to users with vision + impairment or other physical disabilities." + >Implementing Accessibility</a> </div> <ul> - <li><a href="<?cs var:toroot ?>training/tv/optimizing-layouts-tv.html"> - <span class="en">Optimizing Layouts for TV</span> - </a> - </li> - <li><a href="<?cs var:toroot ?>training/tv/optimizing-navigation-tv.html"> - <span class="en">Optimizing Navigation for TV</span> + <li><a href="<?cs var:toroot ?>training/accessibility/accessible-app.html"> + Developing Accessible Applications </a> </li> - <li><a href="<?cs var:toroot ?>training/tv/unsupported-features-tv.html"> - <span class="en">Handling Features Not Supported on TV</span> + <li><a href="<?cs var:toroot ?>training/accessibility/service.html"> + Developing Accessibility Services </a> </li> </ul> </li> + + </ul> + </li> + <!-- End best UX and UI --> + + + <li class="nav-section"> + <div class="nav-section-header"> + <a href="<?cs var:toroot ?>training/best-performance.html"> + <span class="small">Best Practices for</span><br/> + Performance + </a> + </div> + <ul> + + <li> + <a href="<?cs var:toroot ?>training/perf-tips.html" + description= + "How to optimize your app's performance in various ways to improve its + responsiveness and battery efficiency." + >Performance Tips</a> + </li> + <li class="nav-section"> - <div class="nav-section-header"><a href="<?cs var:toroot ?>training/displaying-bitmaps/index.html"> - <span class="en">Displaying Bitmaps Efficiently</span> - </a> + <div class="nav-section-header"> + <a href="<?cs var:toroot ?>training/improving-layouts/index.html" + description= + "How to identify problems in your app's layout performance and improve the UI + responsiveness." + >Improving Layout Performance</a> </div> <ul> - <li><a href="<?cs var:toroot ?>training/displaying-bitmaps/load-bitmap.html"> - <span class="en">Loading Large Bitmaps Efficiently</span> + <li><a href="<?cs var:toroot ?>training/improving-layouts/optimizing-layout.html"> + Optimizing Layout Hierarchies </a> </li> - <li><a href="<?cs var:toroot ?>training/displaying-bitmaps/process-bitmap.html"> - <span class="en">Processing Bitmaps Off the UI Thread</span> + <li><a href="<?cs var:toroot ?>training/improving-layouts/reusing-layouts.html"> + Re-using Layouts with <include/> </a> </li> - <li><a href="<?cs var:toroot ?>training/displaying-bitmaps/cache-bitmap.html"> - <span class="en">Caching Bitmaps</span> + <li><a href="<?cs var:toroot ?>training/improving-layouts/loading-ondemand.html"> + Loading Views On Demand + </a> + </li> + <li><a href="<?cs var:toroot ?>training/improving-layouts/smooth-scrolling.html"> + Making ListView Scrolling Smooth </a> </li> - <li><a href="<?cs var:toroot ?>training/displaying-bitmaps/display-bitmap.html"> - <span class="en">Displaying Bitmaps in Your UI</span> - </a></li> </ul> </li> - + <li class="nav-section"> - <div class="nav-section-header"><a href="<?cs var:toroot ?>training/accessibility/index.html"> - <span class="en">Implementing Accessibility</span> - </a></div> + <div class="nav-section-header"> + <a href="/training/monitoring-device-state/index.html" + zh-CN-lang="优化电池使用时间" + ja-lang="電池消費量の最適化" + es-lang="Cómo optimizar la duración de la batería" + description= + "How to minimize the amount of power your app requires by adapting to current + power conditions and performing power-hungry tasks at proper intervals." + >Optimizing Battery Life</a> + </div> <ul> - <li><a href="<?cs var:toroot ?>training/accessibility/accessible-app.html"> - <span class="en">Developing Accessible Applications</span> - </a> + <li><a href="/training/monitoring-device-state/battery-monitoring.html" + zh-CN-lang="监控电池电量和充电状态" + ja-lang="電池残量と充電状態の監視" + es-lang="Cómo controlar el nivel de batería y el estado de carga" + >Monitoring the Battery Level and Charging State</a> </li> - <li><a href="<?cs var:toroot ?>training/accessibility/service.html"> - <span class="en">Developing Accessibility Services</span> - </a> + <li><a href="/training/monitoring-device-state/docking-monitoring.html" + zh-CN-lang="确定和监控基座对接状态和类型" + ja-lang="ホルダーの装着状態とタイプの特定と監視" + es-lang="Cómo determinar y controlar el tipo de conector y el estado de la conexión" + >Determining and Monitoring the Docking State and Type</a> + </li> + <li><a href="/training/monitoring-device-state/connectivity-monitoring.html" + zh-CN-lang="确定和监控网络连接状态" + ja-lang="接続状態の特定と監視" + es-lang="Cómo determinar y controlar el estado de la conectividad" + >Determining and Monitoring the Connectivity Status</a> + </li> + <li><a href="/training/monitoring-device-state/manifest-receivers.html" + zh-CN-lang="根据需要操作广播接收器" + ja-lang="オンデマンドでのブロードキャスト レシーバ操作" + es-lang="Cómo manipular los receptores de emisión bajo demanda" + >Manipulating Broadcast Receivers On Demand</a> </li> </ul> </li> + + <li> + <a href="<?cs var:toroot ?>training/perf-anr.html" + description= + "How to keep your app responsive to user interaction so the UI does not lock-up and + display an "Application Not Responding" dialog." + >Keeping Your App Responsive</a> + </li> + + <li> + <a href="<?cs var:toroot ?>training/perf-jni.html" + description= + "How to efficiently use the Java Native Interface with the Android NDK." + >JNI Tips</a> + </li> + </ul> + </li> <!-- end of Performance --> + + + <li class="nav-section"> + <div class="nav-section-header"> + <a href="<?cs var:toroot ?>training/best-security.html"> + <span class="small">Best Practices for</span><br/> + Security & Privacy + </a> + </div> + <ul> + <li> + <a href="<?cs var:toroot ?>training/security-tips.html" + description= + "How to perform various tasks and keep your app's data and your user's data secure." + >Security Tips</a> + </li> + <li class="nav-section"> - <div class="nav-section-header"><a href="<?cs var:toroot -?>training/graphics/opengl/index.html"> - <span class="en">Displaying Graphics with OpenGL ES</span> - </a></div> + <div class="nav-section-header"> + <a href="<?cs var:toroot ?>training/enterprise/index.html" + description= + "How to implement device management policies for enterprise-oriented apps." + >Developing for Enterprise</a> + </div> <ul> - <li><a href="<?cs var:toroot ?>training/graphics/opengl/environment.html"> - <span class="en">Building an OpenGL ES Environment</span> - </a> - </li> - <li><a href="<?cs var:toroot ?>training/graphics/opengl/shapes.html"> - <span class="en">Defining Shapes</span> - </a> - </li> - <li><a href="<?cs var:toroot ?>training/graphics/opengl/draw.html"> - <span class="en">Drawing Shapes</span> - </a> - </li> - <li><a href="<?cs var:toroot ?>training/graphics/opengl/projection.html"> - <span class="en">Applying Projection and Camera Views</span> - </a> - </li> - <li><a href="<?cs var:toroot ?>training/graphics/opengl/motion.html"> - <span class="en">Adding Motion</span> - </a> - </li> - <li><a href="<?cs var:toroot ?>training/graphics/opengl/touch.html"> - <span class="en">Responding to Touch Events</span> + <li><a href="<?cs var:toroot ?>training/enterprise/device-management-policy.html"> + Enhancing Security with Device Management Policies </a> </li> </ul> </li> + </ul> + </li> + <!-- End security and user info --> + <li class="nav-section"> + <div class="nav-section-header"> + <a href="<?cs var:toroot ?>training/distribute.html"> + <span class="small">Using Google Play to</span><br/> + Distribute & Monetize + </a> + </div> + <ul> + <li class="nav-section"> - <div class="nav-section-header"><a href="<?cs var:toroot ?>training/connect-devices-wirelessly/index.html"> - <span class="en">Connecting Devices Wirelessly</span> - </a></div> + <div class="nav-section-header"> + <a href="<?cs var:toroot ?>training/multiple-apks/index.html" + description= + "How to publish your app on Google Play with separate APKs that target + different devices, while using a single app listing." + >Maintaining Multiple APKs</a> + </div> <ul> - <li><a href="<?cs var:toroot ?>training/connect-devices-wirelessly/nsd.html"> - <span class="en">Using Network Service Discovery</span> + <li><a href="<?cs var:toroot ?>training/multiple-apks/api.html"> + Creating Multiple APKs for Different API Levels </a> </li> - <li><a href="<?cs var:toroot ?>training/connect-devices-wirelessly/wifi-direct.html"> - <span class="en">Connecting with Wi-Fi Direct</span> + <li><a href="<?cs var:toroot ?>training/multiple-apks/screensize.html"> + Creating Multiple APKs for Different Screen Sizes </a> </li> - <li><a href="<?cs var:toroot ?>training/connect-devices-wirelessly/nsd-wifi-direct.html"> - <span class="en">Using Wi-Fi Direct for Service Discovery</span> + <li><a href="<?cs var:toroot ?>training/multiple-apks/texture.html"> + Creating Multiple APKs for Different GL Textures + </a> + </li> + <li><a href="<?cs var:toroot ?>training/multiple-apks/multiple.html"> + Creating Multiple APKs with 2+ Dimensions </a> </li> </ul> </li> - + + <li class="nav-section"> - <div class="nav-section-header"><a href="<?cs var:toroot ?>training/load-data-background/index.html"> - <span class="en">Loading Data in the Background</span> - </a></div> + <div class="nav-section-header"> + <a href="<?cs var:toroot ?>training/monetization/index.html" + description= + "How to implement monetization strategies for your app without compromising + the user experience." + >Monetizing Your App</a> + </div> <ul> - <li><a href="<?cs var:toroot ?>training/load-data-background/setup-loader.html"> - <span class="en">Setting Up the Loader</span> - </a> - </li> - <li><a href="<?cs var:toroot ?>training/load-data-background/define-launch-query.html"> - <span class="en">Defining and Launching the Query</span> - </a> - </li> - <li><a href="<?cs var:toroot ?>training/load-data-background/handle-results.html"> - <span class="en">Handling the Results</span> + <li><a href="<?cs var:toroot ?>training/monetization/ads-and-ux.html"> + Advertising without Compromising User Experience </a> </li> </ul> </li> - </ul> </li> + <!-- End best Publishing --> + </ul><!-- nav --> <script type="text/javascript"> |