• Basic Training
    • Orientation
    • Building Your First App new!
      • Creating an Android Project
      • Running Your Application
      • Building a Simple User Interface
      • Starting Another Activity
    • Managing the Activity Lifecycle new!
      • Starting an Activity
      • Pausing and Resuming an Activity
      • Stopping and Restarting an Activity
      • Recreating an Activity
    • Supporting Different Devices new!
      • Supporting Different Languages
      • Supporting Different Screens
      • Supporting Different Platform Versions
    • Building a Dynamic UI with Fragments new!
      • Using the Support Library
      • Creating a Fragment
      • Building a Flexible UI
      • Communicating with Other Fragments
    • Interacting with Other Apps new!
      • Sending the User to Another App
      • Getting a Result from the Activity
      • Allowing Other Apps to Start Your Activity
    • Making Your App Location Aware new!
      • Using the Location Manager
      • Obtaining the Current Location
      • Displaying a Location Address
  • Advanced Training
    • Designing for Multiple Screens
      • Supporting Different Screen Sizes
      • Supporting Different Screen Densities
      • Implementing Adaptive UI Flows
    • Improving Layout Performance
      • Optimizing Layout Hierarchies
      • Re-using Layouts with <include/>
      • Loading Views On Demand
      • Making ListView Scrolling Smooth
    • Managing Audio Playback
      • Controlling Your App’s Volume and Playback
      • Managing Audio Focus
      • Dealing with Audio Output Hardware
    • Optimizing Battery Life
      • Monitoring the Battery Level and Charging State
      • Determining and Monitoring the Docking State and Type
      • Determining and Monitoring the Connectivity Status
      • Manipulating Broadcast Receivers On Demand
    • Transferring Data Without Draining the Battery new!
      • Optimizing Downloads for Efficient Network Access
      • Minimizing the Effect of Regular Updates
      • Redundant Downloads are Redundant
      • Modifying Patterns Based on the Connectivity Type
    • Syncing to the Cloud new!
      • Syncing with App Engine
      • Using the Backup API
    • Adding Search Functionality new!
      • Setting up the Search Interface
      • Storing and Searching for Data
      • Remaining Backward Compatible
    • Remembering Users
      • Remembering Your User
      • Authenticating to OAuth2 Services
      • Creating a Custom Account Type
    • Sharing Content
      • Sending Content to Other Apps
      • Receiving Content from Other Apps
      • Adding an Easy Share Action
    • Capturing Photos
      • Taking Photos Simply
      • Recording Videos Simply
      • Controlling the Camera
    • Maintaining Multiple APKs
      • Creating Multiple APKs for Different API Levels
      • Creating Multiple APKs for Different Screen Sizes
      • Creating Multiple APKs for Different GL Textures
      • Creating Multiple APKs with 2+ Dimensions
    • Creating Backward-Compatible UIs new!
      • Abstracting the New APIs
      • Proxying to the New APIs
      • Creating an Implementation with Older APIs
      • Using the Version-Aware Component
    • Developing for Enterprise
      • Enhancing Security with Device Management Policies
    • Monetizing Your App
      • Advertising without Compromising User Experience
    • Designing Effective Navigation
      • Planning Screens and Their Relationships
      • Planning for Multiple Touchscreen Sizes
      • Providing Descendant and Lateral Navigation
      • Providing Ancestral and Temporal Navigation
      • Putting it All Together: Wireframing the Example App
    • Implementing Effective Navigation new!
      • Implementing Lateral Navigation
      • Implementing Ancestral Navigation
      • Implementing Temporal Navigation
      • Implementing Descendant Navigation
    • Designing for TV new!
      • Optimizing Layouts for TV
      • Optimizing Navigation for TV
      • Handling Features Not Supported on TV
    • Displaying Bitmaps Efficiently new!
      • Loading Large Bitmaps Efficiently
      • Processing Bitmaps Off the UI Thread
      • Caching Bitmaps
      • Displaying Bitmaps in Your UI
        • Implementing Accessibility new!
          • Developing Accessible Applications
          • Developing Accessibility Services
      • Technical Resources
        • Sample Code Beispielcode Código de ejemplo Exemple de code Codice di esempio サンプル コード
          • Getting the Samples
        • Articles
        • Tutorials Lernprogramme Tutoriales Didacticiels Esercitazioni チュートリアル
        • Topics
      • Community Comunidad Communauté コミュニティ 社区 社群
        • Developer Forums
        • IRC, G+, Twitter
      • Device Dashboard
        • Platform Versions
        • Screen Sizes & Densities
        • OpenGL ES Versions
      • More
        • Common Tasks
        • Troubleshooting Tips
        • FAQs
          • App Framework FAQ
          • Licensing FAQ
          • Security FAQ