|  | <ul id="nav"> | 
|  |  | 
|  |  | 
|  | <li class="nav-section"> | 
|  | <div class="nav-section-header"> | 
|  | <a href="<?cs var:toroot ?>training/index.html"> | 
|  | Getting Started | 
|  | </a> | 
|  | </div> | 
|  |  | 
|  | <ul> | 
|  | <li class="nav-section"> | 
|  | <div class="nav-section-header"> | 
|  | <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"> | 
|  | Creating an Android Project | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/basics/firstapp/running-app.html"> | 
|  | Running Your Application | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/basics/firstapp/building-ui.html"> | 
|  | Building a Simple User Interface | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/basics/firstapp/starting-activity.html"> | 
|  | 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" | 
|  | 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"> | 
|  | Starting an Activity | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/basics/activity-lifecycle/pausing.html"> | 
|  | Pausing and Resuming an Activity | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/basics/activity-lifecycle/stopping.html"> | 
|  | Stopping and Restarting an Activity | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/basics/activity-lifecycle/recreating.html"> | 
|  | 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" | 
|  | 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"> | 
|  | Supporting Different Languages | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/basics/supporting-devices/screens.html"> | 
|  | Supporting Different Screens | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/basics/supporting-devices/platforms.html"> | 
|  | 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" | 
|  | 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"> | 
|  | Using the Support Library | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/basics/fragments/creating.html"> | 
|  | Creating a Fragment | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/basics/fragments/fragment-ui.html"> | 
|  | Building a Flexible UI | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/basics/fragments/communicating.html"> | 
|  | 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" | 
|  | 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"> | 
|  | Saving Key-Value Sets | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/basics/data-storage/files.html"> | 
|  | Saving Files | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/basics/data-storage/databases.html"> | 
|  | 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" | 
|  | 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"> | 
|  | Sending the User to Another App | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/basics/intents/result.html"> | 
|  | Getting a Result from the Activity | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/basics/intents/filters.html"> | 
|  | Allowing Other Apps to Start Your Activity | 
|  | </a> | 
|  | </li> | 
|  | </ul> | 
|  | </li> | 
|  |  | 
|  | <li class="nav-section"> | 
|  | <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/sharing/send.html"> | 
|  | Sending Content to Other Apps | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/sharing/receive.html"> | 
|  | Receiving Content from Other Apps | 
|  | </a> | 
|  | </li> | 
|  | <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/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/managing-audio/volume-playback.html"> | 
|  | Controlling Your App's Volume and Playback | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/managing-audio/audio-focus.html"> | 
|  | Managing Audio Focus | 
|  | </a> | 
|  | </li> | 
|  | <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/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/camera/photobasics.html"> | 
|  | Taking Photos Simply | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/camera/videobasics.html"> | 
|  | Recording Videos Simply | 
|  | </a> | 
|  | </li> | 
|  | <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/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/displaying-bitmaps/load-bitmap.html"> | 
|  | Loading Large Bitmaps Efficiently | 
|  | </a> | 
|  | </li> | 
|  | <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/manage-memory.html"> | 
|  | Managing Bitmap Memory | 
|  | </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/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/graphics/opengl/environment.html"> | 
|  | Building an OpenGL ES Environment | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/graphics/opengl/shapes.html"> | 
|  | Defining Shapes | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/graphics/opengl/draw.html"> | 
|  | Drawing Shapes | 
|  | </a> | 
|  | </li> | 
|  | <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/graphics/opengl/motion.html"> | 
|  | Adding Motion | 
|  | </a> | 
|  | </li> | 
|  | <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" | 
|  | 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"> | 
|  | Crossfading Two Views | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/animation/screen-slide.html"> | 
|  | Using ViewPager for Screen Slide | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/animation/cardflip.html"> | 
|  | Displaying Card Flip Animations | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/animation/zoom.html"> | 
|  | Zooming a View | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/animation/layout.html"> | 
|  | 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/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/connect-devices-wirelessly/nsd.html"> | 
|  | Using Network Service Discovery | 
|  | </a> | 
|  | </li> | 
|  | <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/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/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/basics/network-ops/connecting.html"> | 
|  | Connecting to the Network | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/basics/network-ops/managing.html"> | 
|  | Managing Network Usage | 
|  | </a> | 
|  | </li> | 
|  | <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/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/efficient-downloads/efficient-network-access.html"> | 
|  | Optimizing Downloads for Efficient Network Access | 
|  | </a> | 
|  | </li> | 
|  | <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/efficient-downloads/redundant_redundant.html"> | 
|  | Redundant Downloads are Redundant | 
|  | </a> | 
|  | </li> | 
|  | <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/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/cloudsync/backupapi.html"> | 
|  | Using the Backup API | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/cloudsync/gcm.html"> | 
|  | Making the Most of Google Cloud Messaging | 
|  | </a> | 
|  | </li> | 
|  | </ul> | 
|  | <li><a href="<?cs var:toroot ?>training/cloudsave/conflict-res.html" | 
|  | description= | 
|  | "How to design a robust conflict resolution strategy for apps that save data to the cloud." | 
|  | >Resolving Cloud Save Conflicts | 
|  | </a> | 
|  | </li> | 
|  | </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/contacts-provider/index.html" | 
|  | description= | 
|  | "How to use Android's central address book, the Contacts Provider, to | 
|  | display contacts and their details and modify contact information."> | 
|  | Accessing Contacts Data</a> | 
|  | </div> | 
|  | <ul> | 
|  | <li> | 
|  | <a href="<?cs var:toroot ?>training/contacts-provider/retrieve-names.html"> | 
|  | Retrieving a List of Contacts | 
|  | </a> | 
|  | </li> | 
|  | <li> | 
|  | <a href="<?cs var:toroot ?>training/contacts-provider/retrieve-details.html"> | 
|  | Retrieving Details for a Contact | 
|  | </a> | 
|  | </li> | 
|  | <li> | 
|  | <a href="<?cs var:toroot ?>training/contacts-provider/modify-data.html"> | 
|  | Modifying Contacts Using Intents | 
|  | </a> | 
|  | </li> | 
|  | <li> | 
|  | <a href="<?cs var:toroot ?>training/contacts-provider/display-contact-badge.html"> | 
|  | Displaying the Quick Contact Badge | 
|  | </a> | 
|  | </li> | 
|  | </ul> | 
|  | </li> | 
|  | <li class="nav-section"> | 
|  | <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"> | 
|  | Remembering Your User | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/id-auth/authenticate.html"> | 
|  | Authenticating to OAuth2 Services | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/id-auth/custom_auth.html"> | 
|  | Creating a Custom Account Type | 
|  | </a> | 
|  | </li> | 
|  | </ul> | 
|  | </li> | 
|  |  | 
|  | <li class="nav-section"> | 
|  | <div class="nav-section-header"> | 
|  | <a href="<?cs var:toroot ?>training/location/index.html" | 
|  | description="How to add location-aware features to your app by getting the user's current location."> | 
|  | Making Your App Location-Aware | 
|  | </a> | 
|  | </div> | 
|  | <ul> | 
|  | <li> | 
|  | <a href="<?cs var:toroot ?>training/location/retrieve-current.html"> | 
|  | Retrieving the Current Location | 
|  | </a> | 
|  | </li> | 
|  | <li> | 
|  | <a href="<?cs var:toroot ?>training/location/receive-location-updates.html"> | 
|  | Receiving Location Updates | 
|  | </a> | 
|  | </li> | 
|  | <li> | 
|  | <a href="<?cs var:toroot ?>training/location/display-address.html"> | 
|  | Displaying a Location Address | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/location/geofencing.html"> | 
|  | Creating and Monitoring Geofences | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/location/activity-recognition.html"> | 
|  | Recognizing the User's Current Activity | 
|  | </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/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/design-navigation/screen-planning.html"> | 
|  | Planning Screens and Their Relationships | 
|  | </a> | 
|  | </li> | 
|  | <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/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/implementing-navigation/index.html" | 
|  | description= | 
|  | "How to implement various navigation patterns such as swipe views, | 
|  | a navigation drawer, and up navigation." | 
|  | >Implementing Effective Navigation</a> | 
|  | </div> | 
|  | <ul> | 
|  | <li><a href="<?cs var:toroot ?>training/implementing-navigation/lateral.html"> | 
|  | Creating Swipe Views with Tabs | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/implementing-navigation/nav-drawer.html"> | 
|  | Creating a Navigation Drawer | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/implementing-navigation/ancestral.html"> | 
|  | Providing Up Navigation | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/implementing-navigation/temporal.html"> | 
|  | Providing Proper Back Navigation | 
|  | </a> | 
|  | </li> | 
|  | <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/notify-user/index.html" | 
|  | description= | 
|  | "How to display messages called notifications outside of | 
|  | your application's UI." | 
|  | >Notifying the User</a> | 
|  | </div> | 
|  | <ul> | 
|  | <li> | 
|  | <a href="<?cs var:toroot ?>training/notify-user/build-notification.html"> | 
|  | Building a Notification | 
|  | </a> | 
|  | </li> | 
|  | <li> | 
|  | <a href="<?cs var:toroot ?>training/notify-user/navigation.html"> | 
|  | Preserving Navigation when Starting an Activity | 
|  | </a> | 
|  | </li> | 
|  | <li> | 
|  | <a href="<?cs var:toroot ?>training/notify-user/managing.html"> | 
|  | Updating Notifications | 
|  | </a> | 
|  | </li> | 
|  | <li> | 
|  | <a href="<?cs var:toroot ?>training/notify-user/expanded.html"> | 
|  | Using Big View Styles | 
|  | </a> | 
|  | </li> | 
|  | <li> | 
|  | <a href="<?cs var:toroot ?>training/notify-user/display-progress.html"> | 
|  | Displaying Progress in a Notification | 
|  | </a> | 
|  | </li> | 
|  | </ul> | 
|  | </li> | 
|  |  | 
|  | <li class="nav-section"> | 
|  | <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/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="/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="/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="/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="/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/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/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/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/custom-views/create-view.html"> | 
|  | Creating a Custom View Class | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/custom-views/custom-drawing.html"> | 
|  | Implementing Custom Drawing | 
|  | </a> | 
|  | </li> | 
|  | <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/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/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/backward-compatible-ui/abstracting.html"> | 
|  | Abstracting the New APIs | 
|  | </a> | 
|  | </li> | 
|  | <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/backward-compatible-ui/older-implementation.html"> | 
|  | Creating an Implementation with Older APIs | 
|  | </a> | 
|  | </li> | 
|  | <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/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/accessibility/accessible-app.html"> | 
|  | Developing Accessible Applications | 
|  | </a> | 
|  | </li> | 
|  | <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-user-input.html"> | 
|  | <span class="small">Best Practices for</span><br/> | 
|  | User Input | 
|  | </a> | 
|  | </div> | 
|  | <ul> | 
|  |  | 
|  | <li class="nav-section"> | 
|  | <div class="nav-section-header"> | 
|  | <a href="<?cs var:toroot ?>training/gestures/index.html" | 
|  | description= | 
|  | "How to write apps that allow users to interact with the touch screen via touch gestures." | 
|  | >Using Touch Gestures</a> | 
|  | </div> | 
|  | <ul> | 
|  | <li><a href="<?cs var:toroot ?>training/gestures/detector.html"> | 
|  | Detecting Common Gestures | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/gestures/movement.html"> | 
|  | Tracking Movement | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/gestures/scroll.html"> | 
|  | Animating a Scroll Gesture | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/gestures/multi.html"> | 
|  | Handling Multi-Touch Gestures | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/gestures/scale.html"> | 
|  | Dragging and Scaling | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/gestures/viewgroup.html"> | 
|  | Managing Touch Events in a ViewGroup | 
|  | </a> | 
|  | </li> | 
|  | </ul> | 
|  | </li> | 
|  |  | 
|  | <li class="nav-section"> | 
|  | <div class="nav-section-header"> | 
|  | <a href="<?cs var:toroot ?>training/keyboard-input/index.html" | 
|  | description= | 
|  | "How to specify the appearance and behaviors of soft input methods (such | 
|  | as on-screen keyboards) and how to optimize the experience with | 
|  | hardware keyboards." | 
|  | >Handling Keyboard Input</a> | 
|  | </div> | 
|  | <ul> | 
|  | <li><a href="<?cs var:toroot ?>training/keyboard-input/style.html"> | 
|  | Specifying the Input Method Type | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/keyboard-input/visibility.html"> | 
|  | Handling Input Method Visibility | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/keyboard-input/navigation.html"> | 
|  | Supporting Keyboard Navigation | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/keyboard-input/commands.html"> | 
|  | Handling Keyboard Actions | 
|  | </a> | 
|  | </li> | 
|  | </ul> | 
|  | </li> | 
|  | </ul> | 
|  | </li> <!-- end of User Input --> | 
|  |  | 
|  | <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/articles/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/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/improving-layouts/optimizing-layout.html"> | 
|  | Optimizing Layout Hierarchies | 
|  | </a> | 
|  | </li> | 
|  | <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/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> | 
|  | </ul> | 
|  | </li> | 
|  |  | 
|  | <li class="nav-section"> | 
|  | <div class="nav-section-header"> | 
|  | <a href="<?cs var:toroot ?>training/run-background-service/index.html" | 
|  | description= | 
|  | "How to improve UI performance and responsiveness by sending work to a | 
|  | Service running in the background" | 
|  | >Running in a Background Service</a> | 
|  | </div> | 
|  | <ul> | 
|  | <li><a href="<?cs var:toroot ?>training/run-background-service/create-service.html"> | 
|  | Creating a Background Service | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/run-background-service/send-request.html"> | 
|  | Sending Work Requests to the Background Service | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/run-background-service/report-status.html"> | 
|  | Reporting Work Status | 
|  | </a> | 
|  | </li> | 
|  | </ul> | 
|  | </li> | 
|  |  | 
|  | <li class="nav-section"> | 
|  | <div class="nav-section-header"> | 
|  | <a href="<?cs var:toroot ?>training/load-data-background/index.html" | 
|  | description="How to use CursorLoader to query data without | 
|  | affecting UI responsiveness." | 
|  | >Loading Data in the Background</a> | 
|  | </div> | 
|  | <ul> | 
|  | <li><a href="<?cs var:toroot ?>training/load-data-background/setup-loader.html"> | 
|  | Running a Query with a CursorLoader</a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/load-data-background/handle-results.html"> | 
|  | Handling the Results</a> | 
|  | </li> | 
|  | </ul> | 
|  | </li> | 
|  |  | 
|  | <li class="nav-section"> | 
|  | <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="/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="/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 class="nav-section"> | 
|  | <div class="nav-section-header"> | 
|  | <a href="<?cs var:toroot ?>training/multiple-threads/index.html" | 
|  | description= | 
|  | "How to improve the performance and scalability of long-running operations by | 
|  | dispatching work to multiple threads."> | 
|  | Sending Operations to Multiple Threads</a> | 
|  | </div> | 
|  | <ul> | 
|  | <li><a href="<?cs var:toroot ?>training/multiple-threads/define-runnable.html"> | 
|  | Specifying the Code to Run on a Thread | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/multiple-threads/create-threadpool.html"> | 
|  | Creating a Manager for Multiple Threads | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/multiple-threads/run-code.html"> | 
|  | Running Code on a Thread Pool Thread | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/multiple-threads/communicate-ui.html"> | 
|  | Communicating with the UI Thread | 
|  | </a> | 
|  | </li> | 
|  | </ul> | 
|  | </li> | 
|  |  | 
|  | <li> | 
|  | <a href="<?cs var:toroot ?>training/articles/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/articles/perf-jni.html" | 
|  | description= | 
|  | "How to efficiently use the Java Native Interface with the Android NDK." | 
|  | >JNI Tips</a> | 
|  | </li> | 
|  | <li> | 
|  | <a href="<?cs var:toroot ?>training/articles/smp.html" | 
|  | description= | 
|  | "Tips for coding Android apps on symmetric multiprocessor systems." | 
|  | >SMP Primer for Android</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/articles/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> | 
|  | <a href="<?cs var:toroot ?>training/articles/security-ssl.html" | 
|  | description= | 
|  | "How to ensure that your app is secure when performing network transactions." | 
|  | >Security with HTTPS and SSL</a> | 
|  | </li> | 
|  |  | 
|  | <li class="nav-section"> | 
|  | <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/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/in-app-billing/index.html" | 
|  | description="How to sell in-app products from your application using In-app Billing."> | 
|  | Selling In-app Products | 
|  | </a></div> | 
|  | <ul> | 
|  | <li><a href="<?cs var:toroot ?>training/in-app-billing/preparing-iab-app.html"> | 
|  | <span class="en">Preparing Your App</span> | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/in-app-billing/list-iab-products.html"> | 
|  | <span class="en">Establishing Products for Sale</span> | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/in-app-billing/purchase-iab-products.html"> | 
|  | <span class="en">Purchasing Products</span> | 
|  | </a> | 
|  | </li> | 
|  | <li><a href="<?cs var:toroot ?>training/in-app-billing/test-iab-app.html"> | 
|  | <span class="en">Testing Your App</span> | 
|  | </a> | 
|  | </li> | 
|  | </ul> | 
|  | </li> | 
|  |  | 
|  | <li class="nav-section"> | 
|  | <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/multiple-apks/api.html"> | 
|  | Creating Multiple APKs for Different API Levels | 
|  | </a> | 
|  | </li> | 
|  | <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/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/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/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"> | 
|  | <!-- | 
|  | buildToggleLists(); | 
|  | changeNavLang(getLangPref()); | 
|  | //--> | 
|  | </script> |