<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/actionbar/index.html"
             description=
             "The action bar is one of the most important design elements you can implement for your
app's activities. Although first introduced with API level 11, you can use the Support Library to
include the action bar on devices running Android 2.1 or higher."
            >Adding the Action Bar</a>
        </div>
        <ul>
          <li><a href="<?cs var:toroot ?>training/basics/actionbar/setting-up.html">
            Setting Up the Action Bar
          </a>
          </li>
          <li><a href="<?cs var:toroot ?>training/basics/actionbar/adding-buttons.html">
            Adding Action Buttons
          </a>
          </li>
          <li><a href="<?cs var:toroot ?>training/basics/actionbar/styling.html">
            Styling the Action Bar
          </a>
          </li>
          <li><a href="<?cs var:toroot ?>training/basics/actionbar/overlaying.html">
            Overlaying the Action Bar
          </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/activity-lifecycle/index.html"
             es-lang=""
             ja-lang="アクティビティのライフサイクル 管理"
             ko-lang="액티비티 수명 주기 관리하기"
             pt-br-lang="Como gerenciar o ciclo de vida da atividade"
             ru-lang="Управление жизненным циклом операций"
             zh-cn-lang="管理活动生命周期"
             zh-tw-lang="管理應用行為顯示生命週期"
             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"
             es-lang=""
             ja-lang="アクティビティを開始する"
             ko-lang="액티비티 시작하기"
             pt-br-lang="Iniciando uma atividade"
             ru-lang="Запуск операции"
             zh-cn-lang="开始活动"
             zh-tw-lang="啟動應用行為顯示">
            Starting an Activity
          </a>
          </li>
          <li><a href="<?cs var:toroot ?>training/basics/activity-lifecycle/pausing.html"
             es-lang=""
             ja-lang=""
             ko-lang=""
             pt-br-lang=""
             ru-lang=""
             zh-cn-lang=""
             zh-tw-lang="">
            Pausing and Resuming an Activity
          </a>
          </li>
          <li><a href="<?cs var:toroot ?>training/basics/activity-lifecycle/stopping.html"
             es-lang=""
             ja-lang="アクティビティの一時停止と再開"
             ko-lang="액티비티 일시정지 및 재개하기"
             pt-br-lang="Pausando e reiniciando uma atividade"
             ru-lang="Приостановка и возобновление операции"
             zh-cn-lang="暂停和继续活动"
             zh-tw-lang="暫停並繼續應用行為顯示">
            Stopping and Restarting an Activity
          </a>
          </li>
          <li><a href="<?cs var:toroot ?>training/basics/activity-lifecycle/recreating.html"
             es-lang=""
             ja-lang="アクティビティを再作成する"
             ko-lang="액티비티 재생성하기"
             pt-br-lang="Recriando uma atividade"
             ru-lang="Воссоздание операции"
             zh-cn-lang="重新创建活动"
             zh-tw-lang="重新建立應用行為顯示">
            Recreating an Activity
          </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&mdash;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/creating.html">
            Creating a Fragment
          </a>
          </li>
          <li><a href="<?cs var:toroot ?>training/basics/fragments/fragment-ui.html" zh-cn-lang="构建灵活的界面">
            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"
             es-lang=""
             ja-lang="データの保存"
             ko-lang="데이터 저장하기"
             pt-br-lang="Salvando dados"
             ru-lang="Сохранение данных"
             zh-cn-lang="保存数据"
             zh-tw-lang="儲存資料"
             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"
             es-lang=""
             ja-lang="キー値セットを保存する"
             ko-lang="키-값 세트 저장하기"
             pt-br-lang="Salvando conjuntos de valor-chave"
             ru-lang="Сохранение наборов "\"ключ-значение\""
             zh-cn-lang="保存键值集"
             zh-tw-lang="儲存索引鍵值組">
            Saving Key-Value Sets
          </a>
          </li>
          <li><a href="<?cs var:toroot ?>training/basics/data-storage/files.html"
             es-lang=""
             ja-lang="ファイルを保存する"
             ko-lang="파일 저장하기"
             pt-br-lang="Salvando arquivos"
             ru-lang="Сохранение файлов"
             zh-cn-lang="保存文件"
             zh-tw-lang="儲存檔案">
            Saving Files
          </a>
          </li>
          <li><a href="<?cs var:toroot ?>training/basics/data-storage/databases.html"
             es-lang=""
             ja-lang="SQL データベースにデータを保存する"
             ko-lang="SQL 데이터베이스에 데이터 저장하기"
             pt-br-lang="Salvando dados em bancos de dados do SQL"
             ru-lang="Сохранение данных в базах данных SQL"
             zh-cn-lang="在 SQL 数据库中保存数据"
             zh-tw-lang="在 SQL 資料庫中儲存資料">
            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"
             es-lang=""
             ja-lang="他のアプリとの相互操作"
             ko-lang="액티비티 수명 주기 관리하기"
             pt-br-lang="Interagindo com outros aplicativos"
             ru-lang="Взаимодействие с другими приложениями"
             zh-cn-lang="与其他应用交互"
             zh-tw-lang="與其他應用程式互動"
             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"
             es-lang=""
             ja-lang="別のアプリにユーザーを送る"
             ko-lang="다른 앱으로 사용자 보내기"
             pt-br-lang="Enviando o usuário para outro aplicativo"
             ru-lang="Направление пользователя в другое приложение"
             zh-cn-lang="向另一个应用发送用户"
             zh-tw-lang="將使用者傳送至其他應用程式">
            Sending the User to Another App
          </a>
          </li>
          <li><a href="<?cs var:toroot ?>training/basics/intents/result.html"
             es-lang=""
             ja-lang="アクティビティから結果を取得する"
             ko-lang="액티비티로부터 결과 가져오기"
             pt-br-lang="Obtendo resultados de uma atividade"
             ru-lang="Получение результата операции"
             zh-cn-lang="获取活动的结果"
             zh-tw-lang="從應用行為顯示取得結果">
            Getting a Result from the Activity
          </a>
          </li>
          <li><a href="<?cs var:toroot ?>training/basics/intents/filters.html"
             es-lang=""
             ja-lang="他のアプリからのアクティビティの開始を許可する"
             ko-lang="다른 앱이 자신의 액티비티를 시작하도록 허용하기"
             pt-br-lang="Permitindo que outros aplicativos iniciem sua atividade"
             ru-lang="Разрешение другим приложениям на запуск вашей операции"
             zh-cn-lang="允许其他应用开始您的活动"
             zh-tw-lang="允許其他應用程式啟動您的應用行為顯示">
            Allowing Other Apps to Start Your Activity
          </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-content-sharing.html">
            <span class="small">Building Apps with</span><br/>Content Sharing
            </a>
        </div>
        <ul>
            <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 Simple Data</a>
                </div>
                <ul>
                    <li>
                        <a href="<?cs var:toroot ?>training/sharing/send.html">
                        Sending Simple Data to Other Apps
                        </a>
                    </li>
                    <li>
                        <a href="<?cs var:toroot ?>training/sharing/receive.html">
                        Receiving Simple Data from Other Apps
                        </a>
                    </li>
                    <li>
                        <a href="<?cs var:toroot ?>training/sharing/shareaction.html">
                        Adding an Easy Share Action
                        </a>
                    </li>
                </ul>
            </li>
            <li class="nav-section">
                <div class="nav-section-header">
                    <a href="<?cs var:toroot?>training/secure-file-sharing/index.html"
                    description=
                    "How to provide secure access to a file associated with your app using a content
                    URI and temporary access permissions."
                    >Sharing Files</a>
                </div>
                <ul>
                    <li>
                        <a href="<?cs var:toroot ?>training/secure-file-sharing/setup-sharing.html">
                        Setting Up File Sharing
                        </a>
                    </li>
                    <li>
                        <a href="<?cs var:toroot ?>training/secure-file-sharing/share-file.html">
                        Sharing a File
                        </a>
                    </li>
                    <li>
                        <a href="<?cs var:toroot ?>training/secure-file-sharing/request-file.html">
                        Requesting a Shared File
                        </a>
                    </li>
                    <li>
                        <a href="<?cs var:toroot ?>training/secure-file-sharing/retrieve-info.html">
                        Retrieving File Information
                        </a>
                    </li>
                </ul>
            </li>
            <li class="nav-section">
                <div class="nav-section-header">
                    <a href="<?cs var:toroot ?>training/beam-files/index.html"
                    description=
                    "How to transfer files between devices using the NFC Android Beam feature."
                    >Sharing Files with NFC</a>
                </div>
                <ul>
                    <li>
                        <a href="<?cs var:toroot ?>training/beam-files/send-files.html"
                        >Sending Files to Another Device</a>
                    </li>
                    <li><a href="<?cs var:toroot ?>training/beam-files/receive-files.html"
                    >Receiving Files from Another Device</a></li>
                </ul>
            </li>
        </ul>
    </li>



  <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>

      <li class="nav-section">
        <div class="nav-section-header">
          <a href="<?cs var:toroot ?>training/printing/index.html"
             description=
             "How to print photos, HTML documents, and custom documents from your app."
            >Printing Content</a>
        </div>
        <ul>
          <li><a href="<?cs var:toroot ?>training/printing/photos.html">
            Photos
          </a>
          </li>
          <li><a href="<?cs var:toroot ?>training/printing/html-docs.html">
            HTML Documents
          </a>
          </li>
          <li><a href="<?cs var:toroot ?>training/printing/custom-docs.html">
            Custom Documents
          </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 &amp; 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/transitions/index.html"
             description=
             "How to animate state changes in a view hierarchy using transitions."
            >Animating Views Using Scenes and Transitions</a>
        </div>
        <ul>
          <li><a href="<?cs var:toroot ?>training/transitions/overview.html">
            The Transitions Framework
          </a>
          </li>
          <li><a href="<?cs var:toroot ?>training/transitions/scenes.html">
            Creating a Scene
          </a>
          </li>
          <li><a href="<?cs var:toroot ?>training/transitions/transitions.html">
            Applying a Transition
          </a>
          </li>
          <li><a href="<?cs var:toroot ?>training/transitions/custom-transitions.html">
            Creating Custom Transitions
          </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 &amp; 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 how to create peer-to-peer connections with Wi-Fi."
             >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">
            Creating P2P Connections with Wi-Fi
          </a>
          </li>
          <li><a href="<?cs var:toroot ?>training/connect-devices-wirelessly/nsd-wifi-direct.html">
            Using Wi-Fi P2P 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>
        </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>
      <li class="nav-section">
        <div class="nav-section-header">
          <a href="<?cs var:toroot ?>training/sync-adapters/index.html"
             description="How to transfer data between the cloud and the device using the Android
             sync adapter framework"
             >Transferring Data Using Sync Adapters</a>
        </div>
        <ul>
            <li>
                <a href="<?cs var:toroot ?>training/sync-adapters/creating-authenticator.html">
                Creating a Stub Authenticator
                </a>
            </li>
            <li>
                <a href="<?cs var:toroot ?>training/sync-adapters/creating-stub-provider.html">
                Creating a Stub Content Provider
                </a>
            </li>
            <li>
                <a href="<?cs var:toroot ?>training/sync-adapters/creating-sync-adapter.html">
                Creating a Sync Adapter
                </a>
            </li>
            <li>
                <a href="<?cs var:toroot ?>training/sync-adapters/running-sync-adapter.html">
                Running a Sync Adapter
                </a>
            </li>
        </ul>
      </li>
      <li class="nav-section">
        <div class="nav-section-header">
          <a href="<?cs var:toroot ?>training/volley/index.html"
             description="How to perform fast, scalable UI operations over the network using Volley"
             >Transmitting Network Data Using Volley</a>
        </div>
        <ul>
            <li>
                <a href="<?cs var:toroot ?>training/volley/simple.html">
                Sending a Simple Request
                </a>
            </li>
            <li>
                <a href="<?cs var:toroot ?>training/volley/requestqueue.html">
                Setting Up a RequestQueue
                </a>
            </li>
            <li>
                <a href="<?cs var:toroot ?>training/volley/request.html">
                Making a Standard Request
                </a>
            </li>
            <li>
                <a href="<?cs var:toroot ?>training/volley/request-custom.html">
                Implementing a Custom Request
                </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-location.html">
      <span class="small">Building Apps with</span><br/>
              Location &amp; Maps
      </a>
    </div>
    <ul>
      <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">
            Getting the Last Known 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>
        </ul>
      </li>
      <li class="nav-section">
        <a href="<?cs var:toroot ?>training/maps/index.html"
           description="How to add maps and mapping information to your app.">
           Adding Maps
        </a>
      </li>
    </ul>
  </li>
  <!-- End location and maps -->


  <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/>
              Contacts &amp; Sign-In
      </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">
        <a href="<?cs var:toroot ?>training/sign-in/index.html"
           description="How to add user sign-in functionality to your app.">
           Adding Sign-In
        </a>
      </li>
    </ul>
  </li>
  <!-- End user info and sign-in -->


  <li class="nav-section">
    <div class="nav-section-header">
      <a href="<?cs var:toroot ?>training/building-wearables.html">
      <span class="small">Building Apps for</span><br/>
              Wearables
      </a>
    </div>
    <ul>
      <li class="nav-section">
        <div class="nav-section-header">
          <a href="<?cs var:toroot ?>training/wearables/notifications/index.html"
             description="How to build handheld notifications that are synced to
             and look great on wearables."
            >Adding Wearable Features to Notifications</a>
        </div>
        <ul>
          <li>
            <a href="<?cs var:toroot ?>training/wearables/notifications/creating.html">Creating a Notification</a>
          </li>
          <li>
            <a href="<?cs var:toroot ?>training/wearables/notifications/voice-input.html">Receiving Voice Input in a Notification</a>
          </li>
          <li>
            <a href="<?cs var:toroot ?>training/wearables/notifications/pages.html">Adding Pages to a Notification</a>
          </li>
          <li>
            <a href="<?cs var:toroot ?>training/wearables/notifications/stacks.html">Stacking Notifications</a>
          </li>
        </ul>
      </li>

      <li class="nav-section">
        <div class="nav-section-header">
          <a href="<?cs var:toroot ?>training/wearables/apps/index.html"
             description="How to build apps that run directly on wearables."
            >Creating Wearable Apps</a>
        </div>
        <ul>
          <li>
            <a href="<?cs var:toroot ?>training/wearables/apps/creating.html">Creating and Running a Wearable App</a>
          </li>
          <li>
            <a href="<?cs var:toroot ?>training/wearables/apps/layouts.html">Creating Custom Layouts</a>
          </li>
          <li>
            <a href="<?cs var:toroot ?>training/wearables/apps/always-on.html">Keeping Your App Visible</a>
          </li>
          <li>
            <a href="<?cs var:toroot ?>training/wearables/apps/voice.html">Adding Voice Capabilities</a>
          </li>
          <li>
            <a href="<?cs var:toroot ?>training/wearables/apps/packaging.html">Packaging Wearable Apps</a>
          </li>
          <li>
            <a href="<?cs var:toroot ?>training/wearables/apps/bt-debugging.html">Debugging over Bluetooth</a>
          </li>
        </ul>
      </li>

      <li class="nav-section">
        <div class="nav-section-header">
          <a href="<?cs var:toroot ?>training/wearables/ui/index.html"
             description="How to create custom user interfaces for wearable apps."
            >Creating Custom UIs</a>
        </div>
        <ul>
          <li>
            <a href="<?cs var:toroot ?>training/wearables/ui/layouts.html">Defining Layouts</a>
          </li>
          <li>
            <a href="<?cs var:toroot ?>training/wearables/ui/cards.html">Creating Cards</a>
          </li>
          <li>
            <a href="<?cs var:toroot ?>training/wearables/ui/lists.html">Creating Lists</a>
          </li>
          <li>
            <a href="<?cs var:toroot ?>training/wearables/ui/2d-picker.html">Creating a 2D Picker</a>
          </li>
          <li>
            <a href="<?cs var:toroot ?>training/wearables/ui/confirm.html">Showing Confirmations</a>
          </li>
          <li>
            <a href="<?cs var:toroot ?>training/wearables/ui/exit.html">Exiting Full-Screen Activities</a>
          </li>
        </ul>
      </li>

      <li class="nav-section">
        <div class="nav-section-header">
          <a href="<?cs var:toroot ?>training/wearables/data-layer/index.html"
             description="How to sync data between handhelds and wearables."
            >Sending and Syncing Data</a>
        </div>
        <ul>
          <li>
            <a href="<?cs var:toroot ?>training/wearables/data-layer/accessing.html">Accessing the Wearable Data Layer</a>
          </li>
          <li>
            <a href="<?cs var:toroot ?>training/wearables/data-layer/data-items.html">Syncing Data Items</a>
          </li>
          <li>
            <a href="<?cs var:toroot ?>training/wearables/data-layer/assets.html">Transferring Assets</a>
          </li>
          <li>
            <a href="<?cs var:toroot ?>training/wearables/data-layer/messages.html">Sending and Receiving Messages</a>
          </li>
          <li>
            <a href="<?cs var:toroot ?>training/wearables/data-layer/events.html">Handling Data Layer Events</a>
          </li>
        </ul>
      </li>

      <li class="nav-section">
        <div class="nav-section-header">
          <a href="<?cs var:toroot ?>training/wearables/watch-faces/index.html"
             description="How to create watch faces for wearables."
            >Creating Watch Faces</a>
        </div>
        <ul>
          <li>
            <a href="<?cs var:toroot ?>training/wearables/watch-faces/designing.html">Designing Watch Faces</a>
          </li>
          <li>
            <a href="<?cs var:toroot ?>training/wearables/watch-faces/service.html">Building a Watch Face Service</a>
          </li>
          <li>
            <a href="<?cs var:toroot ?>training/wearables/watch-faces/drawing.html">Drawing Watch Faces</a>
          </li>
          <li>
            <a href="<?cs var:toroot ?>training/wearables/watch-faces/information.html">Showing Information in Watch Faces</a>
          </li>
          <li>
            <a href="<?cs var:toroot ?>training/wearables/watch-faces/interacting.html">Creating Interactive Watch Faces</a>
          </li>
          <li>
            <a href="<?cs var:toroot ?>training/wearables/watch-faces/configuration.html">Providing Configuration Activities</a>
          </li>
          <li>
            <a href="<?cs var:toroot ?>training/wearables/watch-faces/issues.html">Addressing Common Issues</a>
          </li>
          <li>
            <a href="<?cs var:toroot ?>training/wearables/watch-faces/performance.html">Optimizing Performance and Battery Life</a>
          </li>
        </ul>
      </li>

      <li>
        <a href="<?cs var:toroot ?>training/articles/wear-location-detection.html"
           description=
           "How to detect location data on Android Wear devices."
          >Detecting Location</a>
      </li>
    </ul>
  </li>
  <!-- End Building for wearables -->


  <!-- Start: Building for TV -->
  <li class="nav-section">
    <div class="nav-section-header">
      <a href="<?cs var:toroot ?>training/tv/index.html">
      <span class="small">Building Apps for</span><br/>
              TV
      </a>
    </div>
    <ul>

      <li class="nav-section">
        <div class="nav-section-header">

          <a href="<?cs var:toroot ?>training/tv/start/index.html"
             ja-lang="TV アプリのビルド"
             description="How to start building TV apps or extend your existing app to run on TV
             devices.">
             Building TV Apps</a>
        </div>
        <ul>
          <li>
            <a href="<?cs var:toroot ?>training/tv/start/start.html"
               ja-lang="TV アプリのビルドを開始する">
              Getting Started with TV Apps</a>
          </li>
          <li>
            <a href="<?cs var:toroot ?>training/tv/start/hardware.html"
               ja-lang="TV ハードウェアを処理する">
              Handling TV Hardware</a>
          </li>
          <li>
            <a href="<?cs var:toroot ?>training/tv/start/layouts.html"
               ja-lang="TV 向けレイアウトをビルドする">
              Building TV Layouts</a>
          </li>
          <li>
            <a href="<?cs var:toroot ?>training/tv/start/navigation.html"
               ja-lang="TV 用のナビゲーションを作成する">
              Creating TV Navigation</a>
          </li>
        </ul>
      </li>

      <li class="nav-section">
        <div class="nav-section-header">
          <a href="<?cs var:toroot ?>training/tv/playback/index.html"
             ja-lang="TV 再生アプリのビルド"
             description="How to build apps that provide media catalogs and play content.">
             Building TV Playback Apps</a>
        </div>
        <ul>
          <li>
            <a href="<?cs var:toroot ?>training/tv/playback/browse.html"
               ja-lang="カタログ ブラウザを作成する">
              Creating a Catalog Browser</a>
          </li>
          <li>
            <a href="<?cs var:toroot ?>training/tv/playback/card.html">
              Providing a Card View</a>
          </li>
          <li>
            <a href="<?cs var:toroot ?>training/tv/playback/details.html"
               ja-lang="詳細ビューをビルドする">
              Building a Details View</a>
          </li>
          <li>
            <a href="<?cs var:toroot ?>training/tv/playback/now-playing.html"
               ja-lang="再生中カードを表示する">
              Displaying a Now Playing Card</a>
          </li>
        </ul>
      </li>

      <li class="nav-section">
        <div class="nav-section-header">
          <a href="<?cs var:toroot ?>training/tv/discovery/index.html"
             description="How to help users discover content from your app.">
             Helping Users Find Content on TV</a>
        </div>
        <ul>
          <li>
            <a href="<?cs var:toroot ?>training/tv/discovery/recommendations.html">
              Recommending TV Content</a>
          </li>
          <li>
            <a href="<?cs var:toroot ?>training/tv/discovery/searchable.html">
              Making TV Apps Searchable</a>
          <li>
            <a href="<?cs var:toroot ?>training/tv/discovery/in-app-search.html">
              Searching within TV Apps</a>
          </li>
        </ul>
      </li>

      <li>
        <a href="<?cs var:toroot ?>training/tv/games/index.html"
           description="How to build games for TV.">
           Building TV Games</a>
      </li>

      <li class="nav-section">
        <div class="nav-section-header">
          <a href="<?cs var:toroot ?>training/tv/tif/index.html"
           description="How to build channels for TV.">
           Building TV Channels</a>
        </div>
        <ul>
          <li>
            <a href="<?cs var:toroot ?>training/tv/tif/tvinput.html">
              Developing a TV Input Service</a>
          <li>
            <a href="<?cs var:toroot ?>training/tv/tif/channel.html">
              Working with Channel Data</a>
          </li>
          <li>
            <a href="<?cs var:toroot ?>training/tv/tif/ui.html">
              Managing User Interaction</a>
          </li>
        </ul>
      </li>

      <li>
        <a href="<?cs var:toroot ?>training/tv/publishing/checklist.html"
           description="An itemized list of requirements for TV apps.">
           TV Apps Checklist</a>
      </li>
    </ul>
  </li>
  <!-- End: Building for TV -->


  <!-- Start: Building for Auto -->
  <li class="nav-section">
    <div class="nav-section-header">
      <a href="<?cs var:toroot ?>training/auto/index.html">
      <span class="small">Building Apps for</span><br/>
              Auto
      </a>
    </div>
    <ul>
      <li>
        <a href="<?cs var:toroot ?>training/auto/start/index.html"
             description="How to start building or extending apps that work
             with Auto devices.">
             Getting Started with Auto</a>
      </li>
      <li>
        <a href="<?cs var:toroot ?>training/auto/audio/index.html"
             description="How to extend audio apps to play content on Auto devices.">
             Playing Audio for Auto</a>
      </li>
      <li>
        <a href="<?cs var:toroot ?>training/auto/messaging/index.html"
             description="How to extend text messaging apps to work with Auto devices.">
             Messaging for Auto</a>
      </li>
    </ul>
  </li>
  <!-- End: Building for Auto -->


  <!-- Start: Building for Work -->
  <li class="nav-section">
    <div class="nav-section-header">
      <a href="<?cs var:toroot ?>training/enterprise/index.html">
      <span class="small">Building Apps for</span><br/>
              Work
      </a>
    </div>
    <ul>
      <li><a href="<?cs var:toroot ?>training/enterprise/app-compatibility.html">
        Ensuring Compatibility with Managed Profiles
      </a>
      </li>
      <li><a href="<?cs var:toroot ?>training/enterprise/app-restrictions.html">
        Implementing App Restrictions
      </a>
      </li>
      <li><a href="<?cs var:toroot ?>training/enterprise/work-policy-ctrl.html">
        Building a Work Policy Controller
      </a>
      </li>
    </ul>
  </li>
  <!-- End: Building for Work -->


  <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/>
              Interaction &amp; Engagement
      </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/swipe/index.html"
            description=
            "How to modify your app's layout to support manual content updates triggered by the
             swipe-to-refresh gesture."
            >Supporting Swipe-to-Refresh</a>
        </div>
        <ul>
            <li>
                <a href="<?cs var:toroot ?>training/swipe/add-swipe-interface.html"
                >Adding Swipe-to-Refresh To Your App</a></li>
            <li>
                <a href="<?cs var:toroot ?>training/swipe/respond-refresh-request.html"
                >Responding to a Refresh Gesture</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="<?cs var:toroot ?>training/app-indexing/index.html"
             description=
             "How to enable deep linking and indexing of your application
content so that users can open this content directly from their mobile search
results."
            >Making Your App Content Searchable by Google</a>
        </div>
        <ul>
          <li><a href="<?cs var:toroot ?>training/app-indexing/deep-linking.html">
            Enabling Deep Links for App Content
          </a>
          </li>
          <li><a href="<?cs var:toroot ?>training/app-indexing/enabling-app-indexing.html">
            Specifying  App Content for Indexing
          </a>
          </li>
        </ul>
      </li>
    </ul>
  </li>
  <!-- End Interaction and Engagement -->




  <li class="nav-section">
    <div class="nav-section-header">
      <a href="<?cs var:toroot ?>training/best-ui.html">
      <span class="small">Best Practices for</span><br/>
              User Interface
      </a>
    </div>
    <ul>


      <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"
             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/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/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/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/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>

      <li class="nav-section">
        <div class="nav-section-header">
          <a href="<?cs var:toroot ?>training/system-ui/index.html"
             description=
             "How to hide and show status and navigation bars across different versions of Android,
              while managing the display of other screen components."
            >Managing the System UI</a>
        </div>
        <ul>
          <li><a href="<?cs var:toroot ?>training/system-ui/dim.html">
            Dimming the System Bars
          </a>
          </li>
          <li><a href="<?cs var:toroot ?>training/system-ui/status.html">
            Hiding the Status Bar
          </a>
          </li>
          <li><a href="<?cs var:toroot ?>training/system-ui/navigation.html">
            Hiding the Navigation Bar
          </a>
          </li>
          <li><a href="<?cs var:toroot ?>training/system-ui/immersive.html">
            Using Immersive Full-Screen Mode
          </a>
          </li>
          <li><a href="<?cs var:toroot ?>training/system-ui/visibility.html">
            Responding to UI Visibility Changes
          </a>
          </li>
        </ul>
      </li>

      <li class="nav-section">
        <div class="nav-section-header">
          <a href="<?cs var:toroot ?>training/material/index.html"
             description=
             "How to implement material design on Android."
            >Creating Apps with Material Design</a>
        </div>
        <ul>
          <li><a href="<?cs var:toroot ?>training/material/get-started.html">
            Getting Started
          </a>
          </li>
          <li><a href="<?cs var:toroot ?>training/material/theme.html">
            Using the Material Theme
          </a>
          </li>
          <li><a href="<?cs var:toroot ?>training/material/lists-cards.html">
            Creating Lists and Cards
          </a>
          </li>
          <li><a href="<?cs var:toroot ?>training/material/shadows-clipping.html">
            Defining Shadows and Clipping Views
          </a>
          </li>
          <li><a href="<?cs var:toroot ?>training/material/drawables.html">
            Working with Drawables
          </a>
          </li>
          <li><a href="<?cs var:toroot ?>training/material/animations.html">
            Defining Custom Animations
          </a>
          </li>
          <li><a href="<?cs var:toroot ?>training/material/compatibility.html">
            Maintaining Compatibility
          </a>
          </li>
        </ul>
      </li>

    </ul>
  </li>
  <!-- End User Interface -->




  <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>

      <li class="nav-section">
        <div class="nav-section-header">
          <a href="<?cs var:toroot ?>training/game-controllers/index.html"
             description=
             "How to write apps that support game controllers."
            >Supporting Game Controllers</a>
        </div>
        <ul>
          <li><a href="<?cs var:toroot ?>training/game-controllers/controller-input.html">
            Handling Controller Actions
          </a>
          </li>
          <li><a href="<?cs var:toroot ?>training/game-controllers/compatibility.html">
            Supporting Controllers Across Android Versions
          </a>
          </li>
          <li><a href="<?cs var:toroot ?>training/game-controllers/multiple-controllers.html">
            Supporting Multiple Game Controllers
          </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-background.html">
      <span class="small">Best Practices for</span><br/>
              Background Jobs
      </a>
    </div>
    <ul>

      <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="<?cs var:toroot ?>training/scheduling/index.html"
             description="How to use repeating alarms and wake locks
             to run background jobs."
            >Managing Device Awake State</a>
        </div>
        <ul>
          <li><a href="<?cs var:toroot ?>training/scheduling/wakelock.html">
            Keeping the Device Awake</a>
          </li>
          <li><a href="<?cs var:toroot ?>training/scheduling/alarms.html">
            Scheduling Repeating Alarms</a>
          </li>
        </ul>
      </li>
    </ul>
  </li> <!-- end of Background Jobs -->

  <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/memory.html"
          description=
          "How to keep your app's memory footprint small in order to improve performance
          on a variety of mobile devices."
          >Managing Your App's Memory</a>
      </li>
      <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 &lt;include/&gt;
          </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/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/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>
          <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>
          <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>
        </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 &quot;Application Not Responding&quot; 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 &amp; 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>
        <a href="<?cs var:toroot ?>training/articles/security-gms-provider.html"
           description=
           "How to use and update Google Play services security provider, to
           protect against SSL exploits."
          >Updating Your Security Provider to Protect Against SSL Exploits</a>
      </li>

      <li>
        <a href="<?cs var:toroot ?>training/safetynet/index.html"
           description=
           "How to use the SafetyNet service to analyze a device where your app is running
            and get information about its compatibility with your app."
          >Checking Device Compatibility with SafetyNet</a>
      </li>

      <li>
        <a href="<?cs var:toroot ?>training/enterprise/device-management-policy.html"
            description="How to create an application that enforces security policies on devices."
            >Enhancing Security with Device Management Policies</a>
      </li>
    </ul>
  </li>
  <!-- End security and user info -->

  <li class="nav-section">
    <div class="nav-section-header">
      <a href="<?cs var:toroot ?>training/testing.html">
      <span class="small">Best Practices for</span><br/>
              Testing
      </a>
    </div>
    <ul>
      <li class="nav-section">
      <div class="nav-section-header"><a href="<?cs var:toroot ?>training/activity-testing/index.html"
         description="How to test Activities in your Android applications.">
            Testing Your Activity
          </a></div>
        <ul>
          <li><a href="<?cs var:toroot ?>training/activity-testing/preparing-activity-testing.html">
            <span class="en">Setting Up Your Test Environment</span>
          </a>
          </li>
          <li><a href="<?cs var:toroot ?>training/activity-testing/activity-basic-testing.html">
            <span class="en">Creating and Running a Test Case</span>
          </a>
          </li>
          <li><a href="<?cs var:toroot ?>training/activity-testing/activity-ui-testing.html">
            <span class="en">Testing UI Components</span>
          </a>
          </li>
          <li><a href="<?cs var:toroot ?>training/activity-testing/activity-unit-testing.html">
            <span class="en">Creating Unit Tests</span>
          </a>
          </li>
          <li><a href="<?cs var:toroot ?>training/activity-testing/activity-functional-testing.html">
            <span class="en">Creating Functional Tests</span>
          </a>
          </li>
        </ul>
      </li>
    </ul>
    <ul>
      <li class="nav-section">
      <div class="nav-section-header"><a href="<?cs var:toroot ?>training/testing/ui-testing/index.html"
         description="How to automate your user interface tests for Android apps.">
            Automating UI Tests
          </a></div>
        <ul>
          <li><a href="<?cs var:toroot ?>training/testing/ui-testing/espresso-testing.html">
            <span class="en">Testing UI for a Single App</span>
          </a>
          </li>
          <li><a href="<?cs var:toroot ?>training/testing/ui-testing/uiautomator-testing.html">
            <span class="en">Testing UI for Multiple Apps</span>
          </a>
          </li>
        </ul>
      </li>
    </ul>
    <ul>
      <li class="nav-section">
      <div class="nav-section-header"><a href="<?cs var:toroot ?>training/testing/unit-testing/index.html"
         description="How to build effective unit tests for Android apps.">
            Building Effective Unit Tests
          </a></div>
        <ul>
          <li><a href="<?cs var:toroot ?>training/testing/unit-testing/local-unit-tests.html">
            <span class="en">Building Local Unit Tests</span>
            </a>
          </li>
          <li><a href="<?cs var:toroot ?>training/testing/unit-testing/instrumented-unit-tests.html">
            <span class="en">Building Instrumented Unit Tests</span>
            </a>
          </li>
        </ul>
      </li>
    </ul>
  </li>
  <!-- End best Testing -->

  <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 &amp; 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>
    </ul>
  </li>
  <!-- End best Publishing -->

</ul><!-- nav -->
<script type="text/javascript">
<!--
    buildToggleLists();
    changeNavLang(getLangPref());
//-->
</script>
