150e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main<ul id="nav">
250e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main  <li class="nav-section">
350e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main    <div class="nav-section-header">
450e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <a href="<?cs var:toroot ?>training/index.html">
522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        Getting Started
650e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      </a>
750e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main    </div>
850e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main
97736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main    <ul>
1050e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
1150e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main        <div class="nav-section-header">
1222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/basics/firstapp/index.html"
1322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
1422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "After you've installed the Android SDK, start with this class
1522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             to learn the basics about Android app development."
1622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Building Your First App</a>
1750e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main        </div>
18be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main        <ul>
19be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          <li><a href="<?cs var:toroot ?>training/basics/firstapp/creating-project.html">
2022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Creating an Android Project
21be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </a>
22be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </li>
23be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          <li><a href="<?cs var:toroot ?>training/basics/firstapp/running-app.html">
2422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Running Your Application
25be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </a>
26be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </li>
27be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          <li><a href="<?cs var:toroot ?>training/basics/firstapp/building-ui.html">
2822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Building a Simple User Interface
29be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </a>
30be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </li>
31be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          <li><a href="<?cs var:toroot ?>training/basics/firstapp/starting-activity.html">
3222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Starting Another Activity
33be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </a>
34be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </li>
35be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main        </ul>
36be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main      </li>
37be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main
3850e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
3922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
40f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main          <a href="<?cs var:toroot ?>training/basics/supporting-devices/index.html"
4122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
42f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main             "How to build your app with alternative resources that provide an
43f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main             optimized user experience on multiple device form factors using a single APK."
44f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main            >Supporting Different Devices</a>
4522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
46be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main        <ul>
47f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main          <li><a href="<?cs var:toroot ?>training/basics/supporting-devices/languages.html">
48f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main            Supporting Different Languages
49be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </a>
50be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </li>
51f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main          <li><a href="<?cs var:toroot ?>training/basics/supporting-devices/screens.html">
52f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main            Supporting Different Screens
53be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </a>
54be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </li>
55f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main          <li><a href="<?cs var:toroot ?>training/basics/supporting-devices/platforms.html">
56f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main            Supporting Different Platform Versions
57be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </a>
58be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </li>
59be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main        </ul>
60be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main      </li>
6150c2275cff28c4a216f6924584e43cd64b90a3bfJoe Malin
6250e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
6322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
64f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main          <a href="<?cs var:toroot ?>training/basics/activity-lifecycle/index.html"
65c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             ja-lang="アクティビティのライフサイクル 管理"
66c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             ko-lang="액티비티 수명 주기 관리하기"
67c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             pt-br-lang="Como gerenciar o ciclo de vida da atividade"
68c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             ru-lang="Управление жизненным циклом операций"
69c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             zh-cn-lang="管理活动生命周期"
70c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             zh-tw-lang="管理應用行為顯示生命週期"
7122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
72f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main             "How Android activities live and die and how to create
73f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main             a seamless user experience by implementing lifecycle callback methods."
74f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main            >Managing the Activity Lifecycle</a>
7522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
76be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main        <ul>
77c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman          <li><a href="<?cs var:toroot ?>training/basics/activity-lifecycle/starting.html"
78c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             ja-lang="アクティビティを開始する"
79c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             ko-lang="액티비티 시작하기"
80c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             pt-br-lang="Iniciando uma atividade"
81c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             ru-lang="Запуск операции"
82c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             zh-cn-lang="开始活动"
83c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             zh-tw-lang="啟動應用行為顯示">
84f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main            Starting an Activity
85be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </a>
86be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </li>
873d93b9e15106f174a573fcaf169fbb90ac133b8dsmain@google.com          <li><a href="<?cs var:toroot ?>training/basics/activity-lifecycle/pausing.html">
88f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main            Pausing and Resuming an Activity
89be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </a>
90be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </li>
91c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman          <li><a href="<?cs var:toroot ?>training/basics/activity-lifecycle/stopping.html"
92c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             ja-lang="アクティビティの一時停止と再開"
93c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             ko-lang="액티비티 일시정지 및 재개하기"
94c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             pt-br-lang="Pausando e reiniciando uma atividade"
95c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             ru-lang="Приостановка и возобновление операции"
96c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             zh-cn-lang="暂停和继续活动"
97c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             zh-tw-lang="暫停並繼續應用行為顯示">
98f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main            Stopping and Restarting an Activity
99f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main          </a>
100f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main          </li>
101c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman          <li><a href="<?cs var:toroot ?>training/basics/activity-lifecycle/recreating.html"
102c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             ja-lang="アクティビティを再作成する"
103c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             ko-lang="액티비티 재생성하기"
104c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             pt-br-lang="Recriando uma atividade"
105c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             ru-lang="Воссоздание операции"
106c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             zh-cn-lang="重新创建活动"
107c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             zh-tw-lang="重新建立應用行為顯示">
108f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main            Recreating an Activity
109be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </a>
110be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </li>
111be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main        </ul>
112be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main      </li>
11350c2275cff28c4a216f6924584e43cd64b90a3bfJoe Malin
11450e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
11522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
11622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/basics/fragments/index.html"
11722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
11822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to build a user interface for your app that is flexible enough
11922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             to present multiple UI components on large screens and a more constrained set of
12022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             UI components on smaller screens&mdash;essential for building a single APK for both
12122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             phones and tablets."
12222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Building a Dynamic UI with Fragments</a>
12322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
124421854e6e8fe3418d22ae444567a06b5f308c896Scott Main        <ul>
125421854e6e8fe3418d22ae444567a06b5f308c896Scott Main          <li><a href="<?cs var:toroot ?>training/basics/fragments/creating.html">
12622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Creating a Fragment
127421854e6e8fe3418d22ae444567a06b5f308c896Scott Main          </a>
128421854e6e8fe3418d22ae444567a06b5f308c896Scott Main          </li>
129a79acc0315d33080527b9fb48ba063fb4104de37Dirk Dougherty          <li><a href="<?cs var:toroot ?>training/basics/fragments/fragment-ui.html" zh-cn-lang="构建灵活的界面">
13022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Building a Flexible UI
131421854e6e8fe3418d22ae444567a06b5f308c896Scott Main          </a>
132421854e6e8fe3418d22ae444567a06b5f308c896Scott Main          </li>
133421854e6e8fe3418d22ae444567a06b5f308c896Scott Main          <li><a href="<?cs var:toroot ?>training/basics/fragments/communicating.html">
13422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Communicating with Other Fragments
135421854e6e8fe3418d22ae444567a06b5f308c896Scott Main          </a>
136421854e6e8fe3418d22ae444567a06b5f308c896Scott Main          </li>
137421854e6e8fe3418d22ae444567a06b5f308c896Scott Main        </ul>
138421854e6e8fe3418d22ae444567a06b5f308c896Scott Main      </li>
139be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main
14050e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
14122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header"><a href="<?cs var:toroot?>training/basics/data-storage/index.html"
142c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             ja-lang="データの保存"
143c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             ko-lang="데이터 저장하기"
144c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             pt-br-lang="Salvando dados"
145c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             ru-lang="Сохранение данных"
146c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             zh-cn-lang="保存数据"
147c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             zh-tw-lang="儲存資料"
14822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
14922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to save data on the device, whether it's temporary files, downloaded
15022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             app assets, user media, structured data, or something else."
15122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Saving Data</a>
15222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
15311f03b4b694f506ed5dcb7c12a9984b653f93b42Scott Main        <ul>
154c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman          <li><a href="<?cs var:toroot ?>training/basics/data-storage/shared-preferences.html"
155c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             ja-lang="キー値セットを保存する"
156c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             ko-lang="키-값 세트 저장하기"
157c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             pt-br-lang="Salvando conjuntos de valor-chave"
158c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             ru-lang="Сохранение наборов "\"ключ-значение\""
159c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             zh-cn-lang="保存键值集"
160c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             zh-tw-lang="儲存索引鍵值組">
16122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Saving Key-Value Sets
16211f03b4b694f506ed5dcb7c12a9984b653f93b42Scott Main          </a>
16311f03b4b694f506ed5dcb7c12a9984b653f93b42Scott Main          </li>
164c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman          <li><a href="<?cs var:toroot ?>training/basics/data-storage/files.html"
165c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             ja-lang="ファイルを保存する"
166c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             ko-lang="파일 저장하기"
167c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             pt-br-lang="Salvando arquivos"
168c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             ru-lang="Сохранение файлов"
169c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             zh-cn-lang="保存文件"
170c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             zh-tw-lang="儲存檔案">
17122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Saving Files
17211f03b4b694f506ed5dcb7c12a9984b653f93b42Scott Main          </a>
17311f03b4b694f506ed5dcb7c12a9984b653f93b42Scott Main          </li>
174c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman          <li><a href="<?cs var:toroot ?>training/basics/data-storage/databases.html"
175c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             ja-lang="SQL データベースにデータを保存する"
176c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             ko-lang="SQL 데이터베이스에 데이터 저장하기"
177c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             pt-br-lang="Salvando dados em bancos de dados do SQL"
178c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             ru-lang="Сохранение данных в базах данных SQL"
179c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             zh-cn-lang="在 SQL 数据库中保存数据"
180c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             zh-tw-lang="在 SQL 資料庫中儲存資料">
18122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Saving Data in SQL Databases
18211f03b4b694f506ed5dcb7c12a9984b653f93b42Scott Main          </a>
18311f03b4b694f506ed5dcb7c12a9984b653f93b42Scott Main          </li>
18411f03b4b694f506ed5dcb7c12a9984b653f93b42Scott Main        </ul>
18511f03b4b694f506ed5dcb7c12a9984b653f93b42Scott Main      </li>
18611f03b4b694f506ed5dcb7c12a9984b653f93b42Scott Main
18711f03b4b694f506ed5dcb7c12a9984b653f93b42Scott Main      <li class="nav-section">
18822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
18922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/basics/intents/index.html"
190c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             ja-lang="他のアプリとの相互操作"
191c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             ko-lang="액티비티 수명 주기 관리하기"
192c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             pt-br-lang="Interagindo com outros aplicativos"
193c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             ru-lang="Взаимодействие с другими приложениями"
194c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             zh-cn-lang="与其他应用交互"
195c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             zh-tw-lang="與其他應用程式互動"
19622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
19722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to build a user experience that leverages other apps available
19822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             on the device to perform advanced user tasks, such as capture a photo or view
19922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             an address on a map."
20022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Interacting with Other Apps</a>
20122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
202be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main        <ul>
203c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman          <li><a href="<?cs var:toroot ?>training/basics/intents/sending.html"
204c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             ja-lang="別のアプリにユーザーを送る"
205c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             ko-lang="다른 앱으로 사용자 보내기"
206c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             pt-br-lang="Enviando o usuário para outro aplicativo"
207c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             ru-lang="Направление пользователя в другое приложение"
208c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             zh-cn-lang="向另一个应用发送用户"
209c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             zh-tw-lang="將使用者傳送至其他應用程式">
21022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Sending the User to Another App
211be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </a>
212be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </li>
213c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman          <li><a href="<?cs var:toroot ?>training/basics/intents/result.html"
214c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             ja-lang="アクティビティから結果を取得する"
215c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             ko-lang="액티비티로부터 결과 가져오기"
216c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             pt-br-lang="Obtendo resultados de uma atividade"
217c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             ru-lang="Получение результата операции"
218c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             zh-cn-lang="获取活动的结果"
219c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             zh-tw-lang="從應用行為顯示取得結果">
22022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Getting a Result from the Activity
221be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </a>
222be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </li>
223c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman          <li><a href="<?cs var:toroot ?>training/basics/intents/filters.html"
224c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             ja-lang="他のアプリからのアクティビティの開始を許可する"
225c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             ko-lang="다른 앱이 자신의 액티비티를 시작하도록 허용하기"
226c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             pt-br-lang="Permitindo que outros aplicativos iniciem sua atividade"
227c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             ru-lang="Разрешение другим приложениям на запуск вашей операции"
228c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             zh-cn-lang="允许其他应用开始您的活动"
229c921ee10a3c6e057637f6fc84e174146aa582b32David Friedman             zh-tw-lang="允許其他應用程式啟動您的應用行為顯示">
23022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Allowing Other Apps to Start Your Activity
231be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </a>
232be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </li>
233be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main        </ul>
234be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main      </li>
235c5f82010f7d958e5db1f8d06c7c8021bb946fd0cQuddus Chong      <li class="nav-section">
236c5f82010f7d958e5db1f8d06c7c8021bb946fd0cQuddus Chong        <div class="nav-section-header">
237c5f82010f7d958e5db1f8d06c7c8021bb946fd0cQuddus Chong          <a href="<?cs var:toroot ?>training/permissions/index.html"
238c5f82010f7d958e5db1f8d06c7c8021bb946fd0cQuddus Chong             description=
239c5f82010f7d958e5db1f8d06c7c8021bb946fd0cQuddus Chong             "How to declare that your app needs access to features and
240c5f82010f7d958e5db1f8d06c7c8021bb946fd0cQuddus Chong             resources outside of its 'sandbox', and how to request those
241c5f82010f7d958e5db1f8d06c7c8021bb946fd0cQuddus Chong             privileges at runtime."
242c5f82010f7d958e5db1f8d06c7c8021bb946fd0cQuddus Chong            >Working with System Permissions</a>
243c5f82010f7d958e5db1f8d06c7c8021bb946fd0cQuddus Chong        </div>
244c5f82010f7d958e5db1f8d06c7c8021bb946fd0cQuddus Chong        <ul>
245c5f82010f7d958e5db1f8d06c7c8021bb946fd0cQuddus Chong          <li><a href="<?cs var:toroot ?>training/permissions/declaring.html">
246c5f82010f7d958e5db1f8d06c7c8021bb946fd0cQuddus Chong            Declaring Permissions
247c5f82010f7d958e5db1f8d06c7c8021bb946fd0cQuddus Chong          </a>
248c5f82010f7d958e5db1f8d06c7c8021bb946fd0cQuddus Chong          </li>
249c5f82010f7d958e5db1f8d06c7c8021bb946fd0cQuddus Chong          <li><a href="<?cs var:toroot ?>training/permissions/requesting.html">
250c5f82010f7d958e5db1f8d06c7c8021bb946fd0cQuddus Chong            Requesting Permissions at Run Time
251c5f82010f7d958e5db1f8d06c7c8021bb946fd0cQuddus Chong          </a>
252c5f82010f7d958e5db1f8d06c7c8021bb946fd0cQuddus Chong          </li>
253c5f82010f7d958e5db1f8d06c7c8021bb946fd0cQuddus Chong          <li><a href="<?cs var:toroot ?>training/permissions/best-practices.html">
254c5f82010f7d958e5db1f8d06c7c8021bb946fd0cQuddus Chong            Best Practices for Runtime Permissions
255c5f82010f7d958e5db1f8d06c7c8021bb946fd0cQuddus Chong          </a>
256c5f82010f7d958e5db1f8d06c7c8021bb946fd0cQuddus Chong          </li>
257c5f82010f7d958e5db1f8d06c7c8021bb946fd0cQuddus Chong        </ul>
258c5f82010f7d958e5db1f8d06c7c8021bb946fd0cQuddus Chong      </li>
259be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main
26045edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin    </ul>
26145edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin  </li><!-- end getting started -->
26245edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin    <li class="nav-section">
26322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
26445edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin            <a href="<?cs var:toroot ?>training/building-content-sharing.html">
26545edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin            <span class="small">Building Apps with</span><br/>Content Sharing
26645edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin            </a>
26722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
268be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main        <ul>
26945edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin            <li class="nav-section">
27045edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                <div class="nav-section-header">
27145edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    <a href="<?cs var:toroot ?>training/sharing/index.html"
27245edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    description=
27345edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    "How to take your app interaction to the next level by sharing
27445edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    information with other apps, receive information back, and provide a simple and
27545edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    scalable way to perform Share actions with user content."
27645edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    >Sharing Simple Data</a>
27745edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                </div>
27845edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                <ul>
27945edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    <li>
28045edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                        <a href="<?cs var:toroot ?>training/sharing/send.html">
28145edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                        Sending Simple Data to Other Apps
28245edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                        </a>
28345edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    </li>
28445edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    <li>
28545edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                        <a href="<?cs var:toroot ?>training/sharing/receive.html">
28645edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                        Receiving Simple Data from Other Apps
28745edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                        </a>
28845edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    </li>
28945edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    <li>
29045edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                        <a href="<?cs var:toroot ?>training/sharing/shareaction.html">
29145edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                        Adding an Easy Share Action
29245edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                        </a>
29345edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    </li>
29445edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                </ul>
29545edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin            </li>
29645edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin            <li class="nav-section">
29745edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                <div class="nav-section-header">
29845edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    <a href="<?cs var:toroot?>training/secure-file-sharing/index.html"
29945edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    description=
30045edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    "How to provide secure access to a file associated with your app using a content
30145edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    URI and temporary access permissions."
30245edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    >Sharing Files</a>
30345edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                </div>
30445edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                <ul>
30545edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    <li>
30645edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                        <a href="<?cs var:toroot ?>training/secure-file-sharing/setup-sharing.html">
30745edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                        Setting Up File Sharing
30845edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                        </a>
30945edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    </li>
31045edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    <li>
31145edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                        <a href="<?cs var:toroot ?>training/secure-file-sharing/share-file.html">
31245edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                        Sharing a File
31345edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                        </a>
31445edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    </li>
31545edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    <li>
31645edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                        <a href="<?cs var:toroot ?>training/secure-file-sharing/request-file.html">
31745edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                        Requesting a Shared File
31845edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                        </a>
31945edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    </li>
32045edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    <li>
32145edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                        <a href="<?cs var:toroot ?>training/secure-file-sharing/retrieve-info.html">
32245edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                        Retrieving File Information
32345edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                        </a>
32445edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    </li>
32545edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                </ul>
32645edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin            </li>
32745edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin            <li class="nav-section">
32845edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                <div class="nav-section-header">
32945edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    <a href="<?cs var:toroot ?>training/beam-files/index.html"
33045edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    description=
33145edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    "How to transfer files between devices using the NFC Android Beam feature."
33245edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    >Sharing Files with NFC</a>
33345edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                </div>
33445edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                <ul>
33545edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    <li>
33645edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                        <a href="<?cs var:toroot ?>training/beam-files/send-files.html"
33745edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                        >Sending Files to Another Device</a>
33845edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    </li>
33945edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    <li><a href="<?cs var:toroot ?>training/beam-files/receive-files.html"
34045edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    >Receiving Files from Another Device</a></li>
34145edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                </ul>
34245edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin            </li>
343be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main        </ul>
34445edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin    </li>
3453ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
3463ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
34750e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main
34822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <li class="nav-section">
34922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <div class="nav-section-header">
35022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <a href="<?cs var:toroot ?>training/building-multimedia.html">
35122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <span class="small">Building Apps with</span><br/>Multimedia
35222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      </a>
35322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </div>
35422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <ul>
3553ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
35622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <li class="nav-section">
35722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
35822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/managing-audio/index.html"
35922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
36022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to respond to hardware audio key presses, request audio focus
36122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             when playing audio, and respond appropriately to changes in audio focus."
36222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Managing Audio Playback</a>
36322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
36450e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main        <ul>
36522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/managing-audio/volume-playback.html">
36622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Controlling Your App's Volume and Playback
36750e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main          </a>
36850e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main          </li>
36922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/managing-audio/audio-focus.html">
37022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Managing Audio Focus
37150e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main          </a>
37250e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main          </li>
37322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/managing-audio/audio-output.html">
37422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Dealing with Audio Output Hardware
37550e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main          </a>
37650e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main          </li>
37750e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main        </ul>
37850e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      </li>
37950c2275cff28c4a216f6924584e43cd64b90a3bfJoe Malin
38050e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
38122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
38222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/camera/index.html"
38322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
38422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to leverage existing camera apps on the user's device to capture
38522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             photos or control the camera hardware directly and build your own camera app."
38622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Capturing Photos</a>
38722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
38850e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main        <ul>
38922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/camera/photobasics.html">
39022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Taking Photos Simply
39150e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main          </a>
39250e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main          </li>
39322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/camera/videobasics.html">
39422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Recording Videos Simply
39550e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main          </a>
39650e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main          </li>
39722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/camera/cameradirect.html">
39822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Controlling the Camera
39950e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main          </a>
40050e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main          </li>
40150e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main        </ul>
40250e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      </li>
40384fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez
40484fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez      <li class="nav-section">
40584fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez        <div class="nav-section-header">
40684fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez          <a href="<?cs var:toroot ?>training/printing/index.html"
40784fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez             description=
40884fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez             "How to print photos, HTML documents, and custom documents from your app."
40984fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez            >Printing Content</a>
41084fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez        </div>
41184fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez        <ul>
41284fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez          <li><a href="<?cs var:toroot ?>training/printing/photos.html">
41384fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez            Photos
41484fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez          </a>
41584fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez          </li>
41684fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez          <li><a href="<?cs var:toroot ?>training/printing/html-docs.html">
41784fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez            HTML Documents
41884fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez          </a>
41984fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez          </li>
42084fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez          <li><a href="<?cs var:toroot ?>training/printing/custom-docs.html">
42184fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez            Custom Documents
42284fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez          </a>
42384fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez          </li>
42484fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez        </ul>
42584fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez      </li>
42684fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez
42722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </ul>
42822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  </li>
42922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <!-- End multimedia -->
4303ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
4313ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
432be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main
43322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <li class="nav-section">
43422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <div class="nav-section-header">
43522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <a href="<?cs var:toroot ?>training/building-graphics.html">
43622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <span class="small">Building Apps with</span><br/>Graphics &amp; Animation
43722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      </a>
43822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </div>
43922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <ul>
4403ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
44150e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
44222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
44322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/displaying-bitmaps/index.html"
44422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
44522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to load and process bitmaps while keeping your user interface
44622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             responsive and avoid exceeding memory limits."
44722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Displaying Bitmaps Efficiently</a>
44822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
44950e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main        <ul>
45022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/displaying-bitmaps/load-bitmap.html">
45122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Loading Large Bitmaps Efficiently
45250e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main          </a>
45350e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main          </li>
45422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/displaying-bitmaps/process-bitmap.html">
45522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Processing Bitmaps Off the UI Thread
45622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </a>
45722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </li>
45822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/displaying-bitmaps/cache-bitmap.html">
45922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Caching Bitmaps
460e38a6c50ea6f6c1238276154ca0631842b6ab06cAlexander Lucas          </a>
461e38a6c50ea6f6c1238276154ca0631842b6ab06cAlexander Lucas          </li>
4627571542c9d54fa3501e3ce9d50d3625e22f39e81kmccormick          <li><a href="<?cs var:toroot ?>training/displaying-bitmaps/manage-memory.html">
4637571542c9d54fa3501e3ce9d50d3625e22f39e81kmccormick            Managing Bitmap Memory
4647571542c9d54fa3501e3ce9d50d3625e22f39e81kmccormick          </a>
4657571542c9d54fa3501e3ce9d50d3625e22f39e81kmccormick          </li>
46622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/displaying-bitmaps/display-bitmap.html">
46722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Displaying Bitmaps in Your UI
46822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </a></li>
46950e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main        </ul>
47050e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      </li>
47150c2275cff28c4a216f6924584e43cd64b90a3bfJoe Malin
47250e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
47322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
47422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot?>training/graphics/opengl/index.html"
47522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
47622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to create OpenGL graphics within the Android app framework
47722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             and respond to touch input."
47822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Displaying Graphics with OpenGL ES</a>
479ddab47b78ca5dff3b9ca8f79c2af8de0292a8fa4Scott Main        </div>
4807736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main        <ul>
48122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/graphics/opengl/environment.html">
48222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Building an OpenGL ES Environment
48322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </a>
484ddab47b78ca5dff3b9ca8f79c2af8de0292a8fa4Scott Main          </li>
48522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/graphics/opengl/shapes.html">
48622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Defining Shapes
48722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </a>
4887736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
48922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/graphics/opengl/draw.html">
49022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Drawing Shapes
4917736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
4927736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
49322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/graphics/opengl/projection.html">
49422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Applying Projection and Camera Views
4957736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
4967736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
49722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/graphics/opengl/motion.html">
49822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Adding Motion
4997736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
5007736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
50122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/graphics/opengl/touch.html">
50222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Responding to Touch Events
5037736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
5047736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
5057736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main        </ul>
5067736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main      </li>
507de113066d80c3f19979eb531484af73f64640de9Ricardo Cervera
508de113066d80c3f19979eb531484af73f64640de9Ricardo Cervera      <li class="nav-section">
509de113066d80c3f19979eb531484af73f64640de9Ricardo Cervera        <div class="nav-section-header">
510de113066d80c3f19979eb531484af73f64640de9Ricardo Cervera          <a href="<?cs var:toroot?>training/transitions/index.html"
511de113066d80c3f19979eb531484af73f64640de9Ricardo Cervera             description=
512de113066d80c3f19979eb531484af73f64640de9Ricardo Cervera             "How to animate state changes in a view hierarchy using transitions."
513de113066d80c3f19979eb531484af73f64640de9Ricardo Cervera            >Animating Views Using Scenes and Transitions</a>
514de113066d80c3f19979eb531484af73f64640de9Ricardo Cervera        </div>
515de113066d80c3f19979eb531484af73f64640de9Ricardo Cervera        <ul>
516de113066d80c3f19979eb531484af73f64640de9Ricardo Cervera          <li><a href="<?cs var:toroot ?>training/transitions/overview.html">
517de113066d80c3f19979eb531484af73f64640de9Ricardo Cervera            The Transitions Framework
518de113066d80c3f19979eb531484af73f64640de9Ricardo Cervera          </a>
519de113066d80c3f19979eb531484af73f64640de9Ricardo Cervera          </li>
520de113066d80c3f19979eb531484af73f64640de9Ricardo Cervera          <li><a href="<?cs var:toroot ?>training/transitions/scenes.html">
521de113066d80c3f19979eb531484af73f64640de9Ricardo Cervera            Creating a Scene
522de113066d80c3f19979eb531484af73f64640de9Ricardo Cervera          </a>
523de113066d80c3f19979eb531484af73f64640de9Ricardo Cervera          </li>
524de113066d80c3f19979eb531484af73f64640de9Ricardo Cervera          <li><a href="<?cs var:toroot ?>training/transitions/transitions.html">
525de113066d80c3f19979eb531484af73f64640de9Ricardo Cervera            Applying a Transition
526de113066d80c3f19979eb531484af73f64640de9Ricardo Cervera          </a>
527de113066d80c3f19979eb531484af73f64640de9Ricardo Cervera          </li>
528de113066d80c3f19979eb531484af73f64640de9Ricardo Cervera          <li><a href="<?cs var:toroot ?>training/transitions/custom-transitions.html">
529de113066d80c3f19979eb531484af73f64640de9Ricardo Cervera            Creating Custom Transitions
530de113066d80c3f19979eb531484af73f64640de9Ricardo Cervera          </a>
531de113066d80c3f19979eb531484af73f64640de9Ricardo Cervera          </li>
532de113066d80c3f19979eb531484af73f64640de9Ricardo Cervera
533de113066d80c3f19979eb531484af73f64640de9Ricardo Cervera        </ul>
534de113066d80c3f19979eb531484af73f64640de9Ricardo Cervera      </li>
535de113066d80c3f19979eb531484af73f64640de9Ricardo Cervera
53622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <li class="nav-section">
53722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header"><a href="<?cs var:toroot ?>training/animation/index.html"
53822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
53922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to add transitional animations to your user interface.">
54022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Adding Animations
5413f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          </a></div>
5423f532126028378204e263a33b08a95b3cd9c7b83Robert Ly        <ul>
5433f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          <li><a href="<?cs var:toroot ?>training/animation/crossfade.html">
54422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Crossfading Two Views
5453f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          </a>
5463f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          </li>
5473f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          <li><a href="<?cs var:toroot ?>training/animation/screen-slide.html">
54822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Using ViewPager for Screen Slide
5493f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          </a>
5503f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          </li>
5513f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          <li><a href="<?cs var:toroot ?>training/animation/cardflip.html">
55222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Displaying Card Flip Animations
5533f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          </a>
5543f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          </li>
5553f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          <li><a href="<?cs var:toroot ?>training/animation/zoom.html">
55622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Zooming a View
5573f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          </a>
5583f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          </li>
5593f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          <li><a href="<?cs var:toroot ?>training/animation/layout.html">
56022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Animating Layout Changes
5613f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          </a>
5623f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          </li>
5633f532126028378204e263a33b08a95b3cd9c7b83Robert Ly        </ul>
5643f532126028378204e263a33b08a95b3cd9c7b83Robert Ly      </li>
56522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </ul>
56622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  </li>
56722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <!-- End graphics and animation -->
5683ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
56922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main
57022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <li class="nav-section">
57122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <div class="nav-section-header">
57222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <a href="<?cs var:toroot ?>training/building-connectivity.html">
57322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <span class="small">Building Apps with</span><br/>
57422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main              Connectivity &amp; the Cloud
57522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      </a>
57622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </div>
57722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <ul>
57822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main
57950e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
58022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
58122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/connect-devices-wirelessly/index.html"
58222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
58322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to find and connect to local devices using Network Service
584f5e0970c471d8bb3775febe4d1fb422a337c462cScott Main             Discovery and how to create peer-to-peer connections with Wi-Fi."
58522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             >Connecting Devices Wirelessly</a>
58622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
5877736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main        <ul>
58822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/connect-devices-wirelessly/nsd.html">
58922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Using Network Service Discovery
5907736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
5917736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
59222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/connect-devices-wirelessly/wifi-direct.html">
593f5e0970c471d8bb3775febe4d1fb422a337c462cScott Main            Creating P2P Connections with Wi-Fi
5947736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
5957736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
59622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/connect-devices-wirelessly/nsd-wifi-direct.html">
5972d006d2fb2d053392324769971c3a10d8ad93ac4Scott Main            Using Wi-Fi P2P for Service Discovery
5987736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
5997736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
6007736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main        </ul>
6017736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main      </li>
60222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main       <li class="nav-section">
60322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
60422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/basics/network-ops/index.html"
60522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
60622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to create a network connection, monitor the connection for changes
60722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             in connectivity, and perform transactions with XML data."
60822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Performing Network Operations</a>
609ddab47b78ca5dff3b9ca8f79c2af8de0292a8fa4Scott Main        </div>
6107736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main        <ul>
61122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/basics/network-ops/connecting.html">
61222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Connecting to the Network
61322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </a>
614ddab47b78ca5dff3b9ca8f79c2af8de0292a8fa4Scott Main          </li>
61522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/basics/network-ops/managing.html">
61622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Managing Network Usage
61722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </a>
618ddab47b78ca5dff3b9ca8f79c2af8de0292a8fa4Scott Main          </li>
61922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/basics/network-ops/xml.html">
62022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Parsing XML Data
62122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </a>
6227736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
6237736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main        </ul>
6247736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main      </li>
62550e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
62622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
62722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/efficient-downloads/index.html"
62822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
62922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to minimize your app's impact on the battery when performing downloads
63022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             and other network transactions."
63122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Transferring Data Without Draining the Battery</a>
63222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
63320f394df4db02c492d7920f4f366b777451c2067Reto Meier        <ul>
63422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/efficient-downloads/efficient-network-access.html">
63522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Optimizing Downloads for Efficient Network Access
63620f394df4db02c492d7920f4f366b777451c2067Reto Meier          </a>
63720f394df4db02c492d7920f4f366b777451c2067Reto Meier          </li>
63822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/efficient-downloads/regular_updates.html">
63922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Minimizing the Effect of Regular Updates
64020f394df4db02c492d7920f4f366b777451c2067Reto Meier          </a>
64120f394df4db02c492d7920f4f366b777451c2067Reto Meier          </li>
64222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/efficient-downloads/redundant_redundant.html">
64322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Redundant Downloads are Redundant
644773740ed79075e6daffaea0c62857348ab54d93eAlexander Lucas          </a>
645773740ed79075e6daffaea0c62857348ab54d93eAlexander Lucas          </li>
64622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/efficient-downloads/connectivity_patterns.html">
64722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Modifying Patterns Based on the Connectivity Type
648773740ed79075e6daffaea0c62857348ab54d93eAlexander Lucas          </a>
649773740ed79075e6daffaea0c62857348ab54d93eAlexander Lucas          </li>
650773740ed79075e6daffaea0c62857348ab54d93eAlexander Lucas        </ul>
651773740ed79075e6daffaea0c62857348ab54d93eAlexander Lucas      </li>
652773740ed79075e6daffaea0c62857348ab54d93eAlexander Lucas
65350e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
65422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
655787012b78a6961e51792501b36ba79c6eb931cf2David Friedman          <a href="<?cs var:toroot ?>training/backup/index.html"
65622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
65722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to sync and back up app and user data to remote web services in the
65822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main              cloud and how to restore the data back to multiple devices."
65922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Syncing to the Cloud</a>
660957f716cf1686145ba4c06ca8669eaa2e22f54e8Robert Ly        </div>
661055e3f25ba85d7aefcddaa0aa2bb0589719ec80cRobert Ly        <ul>
662787012b78a6961e51792501b36ba79c6eb931cf2David Friedman          <li><a href="<?cs var:toroot ?>training/backup/autosyncapi.html">
66389c44d205d13641518aa8b705127125f483074afDavid Friedman            Configuring Auto Backup
664787012b78a6961e51792501b36ba79c6eb931cf2David Friedman          </a>
665787012b78a6961e51792501b36ba79c6eb931cf2David Friedman          </li>
666787012b78a6961e51792501b36ba79c6eb931cf2David Friedman          <li><a href="<?cs var:toroot ?>training/backup/backupapi.html">
66722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Using the Backup API
668055e3f25ba85d7aefcddaa0aa2bb0589719ec80cRobert Ly          </a>
669055e3f25ba85d7aefcddaa0aa2bb0589719ec80cRobert Ly          </li>
6707736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main        </ul>
67171baac13580dd6f16bf5308eb1571bcb014676fckmccormick        <li><a href="<?cs var:toroot ?>training/cloudsave/conflict-res.html"
67271baac13580dd6f16bf5308eb1571bcb014676fckmccormick           description=
67371baac13580dd6f16bf5308eb1571bcb014676fckmccormick           "How to design a robust conflict resolution strategy for apps that save data to the cloud."
67471baac13580dd6f16bf5308eb1571bcb014676fckmccormick           >Resolving Cloud Save Conflicts
67571baac13580dd6f16bf5308eb1571bcb014676fckmccormick          </a>
6762e1c7b7495f2317ba30ae809b4964fdafcf504ceJoe Malin        </li>
6777736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main      </li>
678e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin      <li class="nav-section">
679e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin        <div class="nav-section-header">
680e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin          <a href="<?cs var:toroot ?>training/sync-adapters/index.html"
681e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin             description="How to transfer data between the cloud and the device using the Android
682e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin             sync adapter framework"
683e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin             >Transferring Data Using Sync Adapters</a>
684e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin        </div>
685e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin        <ul>
686e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin            <li>
687e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                <a href="<?cs var:toroot ?>training/sync-adapters/creating-authenticator.html">
688e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                Creating a Stub Authenticator
689e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                </a>
690e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin            </li>
691e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin            <li>
692e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                <a href="<?cs var:toroot ?>training/sync-adapters/creating-stub-provider.html">
693e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                Creating a Stub Content Provider
694e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                </a>
695e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin            </li>
696e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin            <li>
697e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                <a href="<?cs var:toroot ?>training/sync-adapters/creating-sync-adapter.html">
698e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                Creating a Sync Adapter
699e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                </a>
700e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin            </li>
701e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin            <li>
702e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                <a href="<?cs var:toroot ?>training/sync-adapters/running-sync-adapter.html">
703e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                Running a Sync Adapter
704e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                </a>
705e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin            </li>
706e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin        </ul>
707e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin      </li>
7081a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick      <li class="nav-section">
7091a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick        <div class="nav-section-header">
7101a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick          <a href="<?cs var:toroot ?>training/volley/index.html"
7111a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick             description="How to perform fast, scalable UI operations over the network using Volley"
7121a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick             >Transmitting Network Data Using Volley</a>
7131a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick        </div>
7141a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick        <ul>
7151a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick            <li>
7161a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick                <a href="<?cs var:toroot ?>training/volley/simple.html">
7171a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick                Sending a Simple Request
7181a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick                </a>
7191a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick            </li>
7201a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick            <li>
7211a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick                <a href="<?cs var:toroot ?>training/volley/requestqueue.html">
7221a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick                Setting Up a RequestQueue
7231a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick                </a>
7241a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick            </li>
7251a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick            <li>
7261a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick                <a href="<?cs var:toroot ?>training/volley/request.html">
7271a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick                Making a Standard Request
7281a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick                </a>
7291a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick            </li>
7301a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick            <li>
7311a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick                <a href="<?cs var:toroot ?>training/volley/request-custom.html">
7321a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick                Implementing a Custom Request
7331a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick                </a>
7341a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick            </li>
7351a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick        </ul>
7361a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick      </li>
73722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </ul>
73822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  </li>
73922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <!-- End connectivity and cloud -->
7403ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
7413ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
7426b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez  <li class="nav-section">
7436b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez    <div class="nav-section-header">
7446b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez      <a href="<?cs var:toroot ?>training/building-location.html">
7456b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez      <span class="small">Building Apps with</span><br/>
7466b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez              Location &amp; Maps
7476b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez      </a>
7486b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez    </div>
7496b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez    <ul>
7506b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez      <li class="nav-section">
7516b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez        <div class="nav-section-header">
7526b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez          <a href="<?cs var:toroot ?>training/location/index.html"
7536b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez             description="How to add location-aware features to your app by getting the user's current location.">
7546b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez             Making Your App Location-Aware
7556b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez          </a>
7566b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez        </div>
7576b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez        <ul>
7586b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez          <li>
7596b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez            <a href="<?cs var:toroot ?>training/location/retrieve-current.html">
7606b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez            Getting the Last Known Location
7616b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez            </a>
7626b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez          </li>
7636b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez          <li>
764825261e0168413bd94c0308470b1566868f42872William French            <a href="<?cs var:toroot ?>training/location/change-location-settings.html">
765825261e0168413bd94c0308470b1566868f42872William French            Changing Location Settings
766825261e0168413bd94c0308470b1566868f42872William French            </a>
767825261e0168413bd94c0308470b1566868f42872William French          </li>
768825261e0168413bd94c0308470b1566868f42872William French          <li>
7696b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez            <a href="<?cs var:toroot ?>training/location/receive-location-updates.html">
7706b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez            Receiving Location Updates
7716b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez            </a>
7726b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez          </li>
7736b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez          <li>
7746b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez            <a href="<?cs var:toroot ?>training/location/display-address.html">
7756b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez            Displaying a Location Address
7766b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez          </a>
7776b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez          </li>
7786b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez          <li><a href="<?cs var:toroot ?>training/location/geofencing.html">
7796b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez            Creating and Monitoring Geofences
7806b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez          </a>
7816b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez          </li>
7826b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez        </ul>
7836b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez      </li>
7846b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez      <li class="nav-section">
7856b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez        <a href="<?cs var:toroot ?>training/maps/index.html"
7866b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez           description="How to add maps and mapping information to your app.">
7876b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez           Adding Maps
7886b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez        </a>
7896b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez      </li>
7906b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez    </ul>
7916b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez  </li>
7926b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez  <!-- End location and maps -->
7936b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez
794580f0146535e7daed83aef721f505270f7b040e1Scott Main
79522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <li class="nav-section">
79622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <div class="nav-section-header">
79722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <a href="<?cs var:toroot ?>training/building-userinfo.html">
79822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <span class="small">Building Apps with</span><br/>
79973ff05fb391b8ef60f502814b5ee7ee369c2d4dbDavid Friedman              User Info &amp; Sign-In
80022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      </a>
80122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </div>
80222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <ul>
803421435d2bede2788b74b07b1bab893fef98047c5Joe Malin      <li class="nav-section">
804421435d2bede2788b74b07b1bab893fef98047c5Joe Malin        <div class="nav-section-header">
805421435d2bede2788b74b07b1bab893fef98047c5Joe Malin          <a href="<?cs var:toroot ?>training/contacts-provider/index.html"
806421435d2bede2788b74b07b1bab893fef98047c5Joe Malin             description=
807421435d2bede2788b74b07b1bab893fef98047c5Joe Malin             "How to use Android's central address book, the Contacts Provider, to
808421435d2bede2788b74b07b1bab893fef98047c5Joe Malin             display contacts and their details and modify contact information.">
809421435d2bede2788b74b07b1bab893fef98047c5Joe Malin          Accessing Contacts Data</a>
810421435d2bede2788b74b07b1bab893fef98047c5Joe Malin        </div>
811421435d2bede2788b74b07b1bab893fef98047c5Joe Malin        <ul>
812421435d2bede2788b74b07b1bab893fef98047c5Joe Malin          <li>
813421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                <a href="<?cs var:toroot ?>training/contacts-provider/retrieve-names.html">
814421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                Retrieving a List of Contacts
815421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                </a>
816421435d2bede2788b74b07b1bab893fef98047c5Joe Malin          </li>
817421435d2bede2788b74b07b1bab893fef98047c5Joe Malin          <li>
818421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                <a href="<?cs var:toroot ?>training/contacts-provider/retrieve-details.html">
819421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                Retrieving Details for a Contact
820421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                </a>
821421435d2bede2788b74b07b1bab893fef98047c5Joe Malin          </li>
822421435d2bede2788b74b07b1bab893fef98047c5Joe Malin          <li>
823421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                <a href="<?cs var:toroot ?>training/contacts-provider/modify-data.html">
824421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                Modifying Contacts Using Intents
825421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                </a>
826421435d2bede2788b74b07b1bab893fef98047c5Joe Malin          </li>
827421435d2bede2788b74b07b1bab893fef98047c5Joe Malin          <li>
828421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                <a href="<?cs var:toroot ?>training/contacts-provider/display-contact-badge.html">
829421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                Displaying the Quick Contact Badge
830421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                </a>
8312956f2fd2ce7eba5abac30fa1c0a2c514edcc787Scott Main          </li>
8322956f2fd2ce7eba5abac30fa1c0a2c514edcc787Scott Main        </ul>
8332956f2fd2ce7eba5abac30fa1c0a2c514edcc787Scott Main      </li>
83450e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
8356b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez        <a href="<?cs var:toroot ?>training/sign-in/index.html"
8366b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez           description="How to add user sign-in functionality to your app.">
8376b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez           Adding Sign-In
8386b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez        </a>
8397736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main      </li>
84022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </ul>
84122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  </li>
8426b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez  <!-- End user info and sign-in -->
8433ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
8443ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
8452728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly  <li class="nav-section">
8462728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly    <div class="nav-section-header">
8472728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly      <a href="<?cs var:toroot ?>training/building-wearables.html">
8482728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly      <span class="small">Building Apps for</span><br/>
8492728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly              Wearables
8502728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly      </a>
8512728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly    </div>
8522728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly    <ul>
8532728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly      <li class="nav-section">
8542728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly        <div class="nav-section-header">
8552728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <a href="<?cs var:toroot ?>training/wearables/notifications/index.html"
8562728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly             description="How to build handheld notifications that are synced to
8572728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly             and look great on wearables."
8582728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            >Adding Wearable Features to Notifications</a>
8592728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly        </div>
8602728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly        <ul>
8612728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <li>
8622728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            <a href="<?cs var:toroot ?>training/wearables/notifications/creating.html">Creating a Notification</a>
8632728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          </li>
8642728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <li>
8652728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            <a href="<?cs var:toroot ?>training/wearables/notifications/voice-input.html">Receiving Voice Input in a Notification</a>
8662728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          </li>
8672728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <li>
8682728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            <a href="<?cs var:toroot ?>training/wearables/notifications/pages.html">Adding Pages to a Notification</a>
8692728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          </li>
8702728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <li>
8712728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            <a href="<?cs var:toroot ?>training/wearables/notifications/stacks.html">Stacking Notifications</a>
8722728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          </li>
8732728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly        </ul>
8742728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly      </li>
8752728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly
8762728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly      <li class="nav-section">
8772728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly        <div class="nav-section-header">
8782728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <a href="<?cs var:toroot ?>training/wearables/apps/index.html"
8792728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly             description="How to build apps that run directly on wearables."
8802728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            >Creating Wearable Apps</a>
8812728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly        </div>
8822728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly        <ul>
8832728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <li>
8842728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            <a href="<?cs var:toroot ?>training/wearables/apps/creating.html">Creating and Running a Wearable App</a>
8852728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          </li>
8862728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <li>
8872728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            <a href="<?cs var:toroot ?>training/wearables/apps/layouts.html">Creating Custom Layouts</a>
8882728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          </li>
8892728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <li>
8908f8e87be3cbd30496b8ec66c6e8aee83d1cfdc56Luan Nguyen            <a href="<?cs var:toroot ?>training/wearables/apps/always-on.html">Keeping Your App Visible</a>
8918f8e87be3cbd30496b8ec66c6e8aee83d1cfdc56Luan Nguyen          </li>
8928f8e87be3cbd30496b8ec66c6e8aee83d1cfdc56Luan Nguyen          <li>
8932728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            <a href="<?cs var:toroot ?>training/wearables/apps/voice.html">Adding Voice Capabilities</a>
8942728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          </li>
8952728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <li>
8962728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            <a href="<?cs var:toroot ?>training/wearables/apps/packaging.html">Packaging Wearable Apps</a>
8972728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          </li>
8982728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <li>
8992728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            <a href="<?cs var:toroot ?>training/wearables/apps/bt-debugging.html">Debugging over Bluetooth</a>
9002728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          </li>
9012728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly        </ul>
9022728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly      </li>
9032728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly
9042728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly      <li class="nav-section">
9052728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly        <div class="nav-section-header">
906bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera          <a href="<?cs var:toroot ?>training/wearables/ui/index.html"
907bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera             description="How to create custom user interfaces for wearable apps."
908bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera            >Creating Custom UIs</a>
909bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera        </div>
910bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera        <ul>
911bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera          <li>
912bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera            <a href="<?cs var:toroot ?>training/wearables/ui/layouts.html">Defining Layouts</a>
913bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera          </li>
914bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera          <li>
915bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera            <a href="<?cs var:toroot ?>training/wearables/ui/cards.html">Creating Cards</a>
916bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera          </li>
917bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera          <li>
918bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera            <a href="<?cs var:toroot ?>training/wearables/ui/lists.html">Creating Lists</a>
919bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera          </li>
920bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera          <li>
921bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera            <a href="<?cs var:toroot ?>training/wearables/ui/2d-picker.html">Creating a 2D Picker</a>
922bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera          </li>
923bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera          <li>
924bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera            <a href="<?cs var:toroot ?>training/wearables/ui/confirm.html">Showing Confirmations</a>
925bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera          </li>
926bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera          <li>
927bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera            <a href="<?cs var:toroot ?>training/wearables/ui/exit.html">Exiting Full-Screen Activities</a>
928bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera          </li>
929bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera        </ul>
930bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera      </li>
931bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera
932bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera      <li class="nav-section">
933bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera        <div class="nav-section-header">
9342728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <a href="<?cs var:toroot ?>training/wearables/data-layer/index.html"
9352728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly             description="How to sync data between handhelds and wearables."
9362728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            >Sending and Syncing Data</a>
9372728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly        </div>
9382728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly        <ul>
9392728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <li>
9402728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            <a href="<?cs var:toroot ?>training/wearables/data-layer/accessing.html">Accessing the Wearable Data Layer</a>
9412728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          </li>
9422728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <li>
9432728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            <a href="<?cs var:toroot ?>training/wearables/data-layer/data-items.html">Syncing Data Items</a>
9442728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          </li>
9452728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <li>
9462728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            <a href="<?cs var:toroot ?>training/wearables/data-layer/assets.html">Transferring Assets</a>
9472728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          </li>
9482728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <li>
9492728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            <a href="<?cs var:toroot ?>training/wearables/data-layer/messages.html">Sending and Receiving Messages</a>
9502728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          </li>
9512728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <li>
9522728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            <a href="<?cs var:toroot ?>training/wearables/data-layer/events.html">Handling Data Layer Events</a>
9532728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          </li>
9542728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly        </ul>
9552728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly      </li>
9567db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera
9577db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera      <li class="nav-section">
9587db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera        <div class="nav-section-header">
9597db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera          <a href="<?cs var:toroot ?>training/wearables/watch-faces/index.html"
960ad69082b501dc9d885e8cd612e65a04cb47575deRicardo Cervera             description="How to create watch faces for wearables."
961ad69082b501dc9d885e8cd612e65a04cb47575deRicardo Cervera            >Creating Watch Faces</a>
9627db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera        </div>
9637db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera        <ul>
9647db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera          <li>
9657db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera            <a href="<?cs var:toroot ?>training/wearables/watch-faces/designing.html">Designing Watch Faces</a>
9667db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera          </li>
9677db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera          <li>
9687db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera            <a href="<?cs var:toroot ?>training/wearables/watch-faces/service.html">Building a Watch Face Service</a>
9697db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera          </li>
9707db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera          <li>
9717db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera            <a href="<?cs var:toroot ?>training/wearables/watch-faces/drawing.html">Drawing Watch Faces</a>
9727db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera          </li>
9737db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera          <li>
9747db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera            <a href="<?cs var:toroot ?>training/wearables/watch-faces/information.html">Showing Information in Watch Faces</a>
9757db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera          </li>
9767db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera          <li>
977e6705bf25d00048ee7b9cc4b6bf9699c17d53306David Friedman            <a href="<?cs var:toroot ?>training/wearables/watch-faces/interacting.html">Creating Interactive Watch Faces</a>
978e6705bf25d00048ee7b9cc4b6bf9699c17d53306David Friedman          </li>
979e6705bf25d00048ee7b9cc4b6bf9699c17d53306David Friedman          <li>
9807db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera            <a href="<?cs var:toroot ?>training/wearables/watch-faces/configuration.html">Providing Configuration Activities</a>
9817db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera          </li>
9827db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera          <li>
9837db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera            <a href="<?cs var:toroot ?>training/wearables/watch-faces/issues.html">Addressing Common Issues</a>
9847db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera          </li>
9857db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera          <li>
9867db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera            <a href="<?cs var:toroot ?>training/wearables/watch-faces/performance.html">Optimizing Performance and Battery Life</a>
9877db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera          </li>
9887db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera        </ul>
9897db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera      </li>
9907db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera
9915aad2c9fb0e04403406411ba3e21bd3965e50df5Luan Nguyen      <li>
9925aad2c9fb0e04403406411ba3e21bd3965e50df5Luan Nguyen        <a href="<?cs var:toroot ?>training/articles/wear-location-detection.html"
9935aad2c9fb0e04403406411ba3e21bd3965e50df5Luan Nguyen           description=
9945aad2c9fb0e04403406411ba3e21bd3965e50df5Luan Nguyen           "How to detect location data on Android Wear devices."
9955aad2c9fb0e04403406411ba3e21bd3965e50df5Luan Nguyen          >Detecting Location</a>
9965aad2c9fb0e04403406411ba3e21bd3965e50df5Luan Nguyen      </li>
9979125eba0d36be4509d47fae9cdd83ce5b5d84184David Friedman
9989125eba0d36be4509d47fae9cdd83ce5b5d84184David Friedman      <li>
9999125eba0d36be4509d47fae9cdd83ce5b5d84184David Friedman        <a href="<?cs var:toroot ?>training/articles/wear-permissions.html"
10009125eba0d36be4509d47fae9cdd83ce5b5d84184David Friedman           description=
10019125eba0d36be4509d47fae9cdd83ce5b5d84184David Friedman           "How to request permissions on Android Wear devices."
10029125eba0d36be4509d47fae9cdd83ce5b5d84184David Friedman          >Requesting Permissions</a>
10039125eba0d36be4509d47fae9cdd83ce5b5d84184David Friedman      </li>
10049125eba0d36be4509d47fae9cdd83ce5b5d84184David Friedman
10059125eba0d36be4509d47fae9cdd83ce5b5d84184David Friedman      <li>
10069125eba0d36be4509d47fae9cdd83ce5b5d84184David Friedman        <a href="<?cs var:toroot ?>training/wearables/wearable-sounds.html"
10079125eba0d36be4509d47fae9cdd83ce5b5d84184David Friedman           description=
10089125eba0d36be4509d47fae9cdd83ce5b5d84184David Friedman           "How to use the speaker on Android Wear devices."
10099125eba0d36be4509d47fae9cdd83ce5b5d84184David Friedman          >Using the Speaker</a>
10109125eba0d36be4509d47fae9cdd83ce5b5d84184David Friedman      </li>
10119125eba0d36be4509d47fae9cdd83ce5b5d84184David Friedman
10122728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly    </ul>
10132728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly  </li>
10142728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly  <!-- End Building for wearables -->
101522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main
1016414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera
1017d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez  <!-- Start: Building for TV -->
1018d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez  <li class="nav-section">
1019d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez    <div class="nav-section-header">
1020d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez      <a href="<?cs var:toroot ?>training/tv/index.html">
1021d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez      <span class="small">Building Apps for</span><br/>
1022d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez              TV
1023d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez      </a>
1024d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez    </div>
1025d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez    <ul>
1026d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez
1027d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez      <li class="nav-section">
1028d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez        <div class="nav-section-header">
1029e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez
1030d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez          <a href="<?cs var:toroot ?>training/tv/start/index.html"
1031827cc88a338967fe778fe96bfaec80091da0f6cdDavid Friedman             ja-lang="TV アプリのビルド"
1032d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez             description="How to start building TV apps or extend your existing app to run on TV
1033d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez             devices.">
1034d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez             Building TV Apps</a>
1035d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez        </div>
1036d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez        <ul>
1037d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez          <li>
1038827cc88a338967fe778fe96bfaec80091da0f6cdDavid Friedman            <a href="<?cs var:toroot ?>training/tv/start/start.html"
1039827cc88a338967fe778fe96bfaec80091da0f6cdDavid Friedman               ja-lang="TV アプリのビルドを開始する">
1040d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez              Getting Started with TV Apps</a>
1041d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez          </li>
1042d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez          <li>
1043827cc88a338967fe778fe96bfaec80091da0f6cdDavid Friedman            <a href="<?cs var:toroot ?>training/tv/start/hardware.html"
1044827cc88a338967fe778fe96bfaec80091da0f6cdDavid Friedman               ja-lang="TV ハードウェアを処理する">
1045d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez              Handling TV Hardware</a>
1046d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez          </li>
1047d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez          <li>
1048827cc88a338967fe778fe96bfaec80091da0f6cdDavid Friedman            <a href="<?cs var:toroot ?>training/tv/start/layouts.html"
1049827cc88a338967fe778fe96bfaec80091da0f6cdDavid Friedman               ja-lang="TV 向けレイアウトをビルドする">
1050d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez              Building TV Layouts</a>
1051d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez          </li>
1052d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez          <li>
1053827cc88a338967fe778fe96bfaec80091da0f6cdDavid Friedman            <a href="<?cs var:toroot ?>training/tv/start/navigation.html"
1054827cc88a338967fe778fe96bfaec80091da0f6cdDavid Friedman               ja-lang="TV 用のナビゲーションを作成する">
1055d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez              Creating TV Navigation</a>
1056d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez          </li>
1057d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez        </ul>
1058d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez      </li>
1059d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez
1060f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez      <li class="nav-section">
1061f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez        <div class="nav-section-header">
1062f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez          <a href="<?cs var:toroot ?>training/tv/playback/index.html"
106376db15a8c9a644bdff854763a922e1e3fd525e9cJoe Fernandez             ja-lang="TV 再生アプリのビルド"
1064f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez             description="How to build apps that provide media catalogs and play content.">
1065f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez             Building TV Playback Apps</a>
1066f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez        </div>
1067f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez        <ul>
1068f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez          <li>
1069827cc88a338967fe778fe96bfaec80091da0f6cdDavid Friedman            <a href="<?cs var:toroot ?>training/tv/playback/browse.html"
1070827cc88a338967fe778fe96bfaec80091da0f6cdDavid Friedman               ja-lang="カタログ ブラウザを作成する">
1071f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez              Creating a Catalog Browser</a>
1072f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez          </li>
1073f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez          <li>
1074da0c5de5faccd7ceca419f0178a2d4a51732e3c7Scott Rowe            <a href="<?cs var:toroot ?>training/tv/playback/card.html">
1075da0c5de5faccd7ceca419f0178a2d4a51732e3c7Scott Rowe              Providing a Card View</a>
1076da0c5de5faccd7ceca419f0178a2d4a51732e3c7Scott Rowe          </li>
1077da0c5de5faccd7ceca419f0178a2d4a51732e3c7Scott Rowe          <li>
1078827cc88a338967fe778fe96bfaec80091da0f6cdDavid Friedman            <a href="<?cs var:toroot ?>training/tv/playback/details.html"
1079827cc88a338967fe778fe96bfaec80091da0f6cdDavid Friedman               ja-lang="詳細ビューをビルドする">
1080f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez              Building a Details View</a>
1081f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez          </li>
10826bd081ca8a555fd71fbe856374b8efe68ede6144Scott Rowe          <li>
1083827cc88a338967fe778fe96bfaec80091da0f6cdDavid Friedman            <a href="<?cs var:toroot ?>training/tv/playback/now-playing.html"
1084827cc88a338967fe778fe96bfaec80091da0f6cdDavid Friedman               ja-lang="再生中カードを表示する">
10856bd081ca8a555fd71fbe856374b8efe68ede6144Scott Rowe              Displaying a Now Playing Card</a>
10866bd081ca8a555fd71fbe856374b8efe68ede6144Scott Rowe          </li>
1087bfc8636dfca82470fb67720a4ac09cd5e58f2422Daniel Yu          <li>
1088eefe46cd5a57e24df0cb5cd6fd195e7dcd806581Daniel Yu            <a href="<?cs var:toroot ?>training/tv/playback/guided-step.html">
1089eefe46cd5a57e24df0cb5cd6fd195e7dcd806581Daniel Yu              Adding a Guided Step</a>
1090eefe46cd5a57e24df0cb5cd6fd195e7dcd806581Daniel Yu          </li>
1091eefe46cd5a57e24df0cb5cd6fd195e7dcd806581Daniel Yu          <li>
1092bfc8636dfca82470fb67720a4ac09cd5e58f2422Daniel Yu            <a href="<?cs var:toroot ?>training/tv/playback/options.html">
1093bfc8636dfca82470fb67720a4ac09cd5e58f2422Daniel Yu              Enabling Background Playback</a>
1094bfc8636dfca82470fb67720a4ac09cd5e58f2422Daniel Yu          </li>
1095f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez        </ul>
1096f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez      </li>
1097f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez
1098e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez      <li class="nav-section">
1099e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez        <div class="nav-section-header">
1100e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez          <a href="<?cs var:toroot ?>training/tv/discovery/index.html"
11017213656f986f5713c46ce5e86f8b8f569640275bJoe Fernandez             description="How to help users discover content from your app.">
1102e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez             Helping Users Find Content on TV</a>
1103e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez        </div>
1104e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez        <ul>
1105e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez          <li>
1106e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez            <a href="<?cs var:toroot ?>training/tv/discovery/recommendations.html">
1107e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez              Recommending TV Content</a>
1108e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez          </li>
1109e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez          <li>
1110e2b44f86b9ff32cc5fec04c10d09d639fd1f45f2Scott Rowe            <a href="<?cs var:toroot ?>training/tv/discovery/searchable.html">
1111e2b44f86b9ff32cc5fec04c10d09d639fd1f45f2Scott Rowe              Making TV Apps Searchable</a>
1112e2b44f86b9ff32cc5fec04c10d09d639fd1f45f2Scott Rowe          <li>
1113e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez            <a href="<?cs var:toroot ?>training/tv/discovery/in-app-search.html">
1114e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez              Searching within TV Apps</a>
1115e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez          </li>
1116e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez        </ul>
1117e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez      </li>
1118e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez
111915edcda56ba12ad04a286f4d07f2b6fe0b1c5e38Joe Fernandez      <li>
112015edcda56ba12ad04a286f4d07f2b6fe0b1c5e38Joe Fernandez        <a href="<?cs var:toroot ?>training/tv/games/index.html"
112115edcda56ba12ad04a286f4d07f2b6fe0b1c5e38Joe Fernandez           description="How to build games for TV.">
112215edcda56ba12ad04a286f4d07f2b6fe0b1c5e38Joe Fernandez           Building TV Games</a>
112315edcda56ba12ad04a286f4d07f2b6fe0b1c5e38Joe Fernandez      </li>
112415edcda56ba12ad04a286f4d07f2b6fe0b1c5e38Joe Fernandez
1125ab8c34ffc406b654aff6503da987790aabe0852eScott Rowe      <li class="nav-section">
1126ab8c34ffc406b654aff6503da987790aabe0852eScott Rowe        <div class="nav-section-header">
1127ab8c34ffc406b654aff6503da987790aabe0852eScott Rowe          <a href="<?cs var:toroot ?>training/tv/tif/index.html"
1128513cf16d5e12ea4f2bca88d1c26ed21ae88fc9c9Quddus Chong           description="How to build channels for TV.">
1129513cf16d5e12ea4f2bca88d1c26ed21ae88fc9c9Quddus Chong           Building TV Channels</a>
1130ab8c34ffc406b654aff6503da987790aabe0852eScott Rowe        </div>
1131ab8c34ffc406b654aff6503da987790aabe0852eScott Rowe        <ul>
1132ab8c34ffc406b654aff6503da987790aabe0852eScott Rowe          <li>
1133ab8c34ffc406b654aff6503da987790aabe0852eScott Rowe            <a href="<?cs var:toroot ?>training/tv/tif/tvinput.html">
1134ab8c34ffc406b654aff6503da987790aabe0852eScott Rowe              Developing a TV Input Service</a>
1135ab8c34ffc406b654aff6503da987790aabe0852eScott Rowe          <li>
1136ab8c34ffc406b654aff6503da987790aabe0852eScott Rowe            <a href="<?cs var:toroot ?>training/tv/tif/channel.html">
1137ab8c34ffc406b654aff6503da987790aabe0852eScott Rowe              Working with Channel Data</a>
1138ab8c34ffc406b654aff6503da987790aabe0852eScott Rowe          </li>
1139ab8c34ffc406b654aff6503da987790aabe0852eScott Rowe          <li>
1140ab8c34ffc406b654aff6503da987790aabe0852eScott Rowe            <a href="<?cs var:toroot ?>training/tv/tif/ui.html">
1141ab8c34ffc406b654aff6503da987790aabe0852eScott Rowe              Managing User Interaction</a>
1142ab8c34ffc406b654aff6503da987790aabe0852eScott Rowe          </li>
1143ab8c34ffc406b654aff6503da987790aabe0852eScott Rowe        </ul>
1144bab257453bdc0c8b7f11de88dd7a8f8fa202803fAndrew Solovay      </li>
11457515d188ddc6f5b582080b0e712ef9d003c6b85cScott Rowe
11467515d188ddc6f5b582080b0e712ef9d003c6b85cScott Rowe      <li>
11477515d188ddc6f5b582080b0e712ef9d003c6b85cScott Rowe        <a href="<?cs var:toroot ?>training/tv/publishing/checklist.html"
11487515d188ddc6f5b582080b0e712ef9d003c6b85cScott Rowe           description="An itemized list of requirements for TV apps.">
11497515d188ddc6f5b582080b0e712ef9d003c6b85cScott Rowe           TV Apps Checklist</a>
11507515d188ddc6f5b582080b0e712ef9d003c6b85cScott Rowe      </li>
1151d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez    </ul>
1152d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez  </li>
1153d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez  <!-- End: Building for TV -->
1154d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez
11557fe755e66b10244da2382c11f9244346b8184e48Andrew Solovay
1156c6aed4612827be0359d2022f6a38a0e5fce0609cQuddus Chong  <!-- Start: Building for Auto -->
1157c6aed4612827be0359d2022f6a38a0e5fce0609cQuddus Chong  <li class="nav-section">
1158c6aed4612827be0359d2022f6a38a0e5fce0609cQuddus Chong    <div class="nav-section-header">
1159c6aed4612827be0359d2022f6a38a0e5fce0609cQuddus Chong      <a href="<?cs var:toroot ?>training/auto/index.html">
1160c6aed4612827be0359d2022f6a38a0e5fce0609cQuddus Chong      <span class="small">Building Apps for</span><br/>
1161c6aed4612827be0359d2022f6a38a0e5fce0609cQuddus Chong              Auto
1162c6aed4612827be0359d2022f6a38a0e5fce0609cQuddus Chong      </a>
1163c6aed4612827be0359d2022f6a38a0e5fce0609cQuddus Chong    </div>
1164c6aed4612827be0359d2022f6a38a0e5fce0609cQuddus Chong    <ul>
1165c6aed4612827be0359d2022f6a38a0e5fce0609cQuddus Chong      <li>
1166c6aed4612827be0359d2022f6a38a0e5fce0609cQuddus Chong        <a href="<?cs var:toroot ?>training/auto/start/index.html"
1167c6aed4612827be0359d2022f6a38a0e5fce0609cQuddus Chong             description="How to start building or extending apps that work
1168c6aed4612827be0359d2022f6a38a0e5fce0609cQuddus Chong             with Auto devices.">
1169c6aed4612827be0359d2022f6a38a0e5fce0609cQuddus Chong             Getting Started with Auto</a>
1170c6aed4612827be0359d2022f6a38a0e5fce0609cQuddus Chong      </li>
11717fe755e66b10244da2382c11f9244346b8184e48Andrew Solovay      <li>
11727fe755e66b10244da2382c11f9244346b8184e48Andrew Solovay        <a href="<?cs var:toroot ?>training/auto/audio/index.html"
11737fe755e66b10244da2382c11f9244346b8184e48Andrew Solovay             description="How to extend audio apps to play content on Auto devices.">
11747fe755e66b10244da2382c11f9244346b8184e48Andrew Solovay             Playing Audio for Auto</a>
11757fe755e66b10244da2382c11f9244346b8184e48Andrew Solovay      </li>
1176a7f226b860455b26cc64f6db08f8c279be71117fAndrew Solovay      <li>
1177a7f226b860455b26cc64f6db08f8c279be71117fAndrew Solovay        <a href="<?cs var:toroot ?>training/auto/messaging/index.html"
1178a7f226b860455b26cc64f6db08f8c279be71117fAndrew Solovay             description="How to extend text messaging apps to work with Auto devices.">
1179a7f226b860455b26cc64f6db08f8c279be71117fAndrew Solovay             Messaging for Auto</a>
1180a7f226b860455b26cc64f6db08f8c279be71117fAndrew Solovay      </li>
1181eb41bc08e118f257e83640aff95f80058e40ee21sreevanis      <li>
1182eb41bc08e118f257e83640aff95f80058e40ee21sreevanis       <a href="<?cs var:toroot ?>training/auto/testing/index.html" description=
1183eb41bc08e118f257e83640aff95f80058e40ee21sreevanis       "How to run and test Auto apps.">
1184eb41bc08e118f257e83640aff95f80058e40ee21sreevanis             Testing Auto Apps</a>
1185eb41bc08e118f257e83640aff95f80058e40ee21sreevanis      </li>
1186c6aed4612827be0359d2022f6a38a0e5fce0609cQuddus Chong    </ul>
1187c6aed4612827be0359d2022f6a38a0e5fce0609cQuddus Chong  </li>
1188c6aed4612827be0359d2022f6a38a0e5fce0609cQuddus Chong  <!-- End: Building for Auto -->
1189c6aed4612827be0359d2022f6a38a0e5fce0609cQuddus Chong
119022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <li class="nav-section">
119122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <div class="nav-section-header">
119222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <a href="<?cs var:toroot ?>training/best-ux.html">
119322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <span class="small">Best Practices for</span><br/>
11948142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main              Interaction &amp; Engagement
119522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      </a>
119622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </div>
119722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <ul>
119850c2275cff28c4a216f6924584e43cd64b90a3bfJoe Malin
119950e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
120022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
120122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/design-navigation/index.html"
120222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
120322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to plan your app's screen hierarchy and forms of navigation so users can
120422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             effectively and intuitively traverse your app content using various navigation
120522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             patterns."
120622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Designing Effective Navigation</a>
120722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
12087736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main        <ul>
120922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/design-navigation/screen-planning.html">
121022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Planning Screens and Their Relationships
12117736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
12127736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
121322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/design-navigation/multiple-sizes.html">
121422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Planning for Multiple Touchscreen Sizes
12157736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
12167736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
121722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/design-navigation/descendant-lateral.html">
121822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Providing Descendant and Lateral Navigation
121922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </a>
122022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </li>
122122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/design-navigation/ancestral-temporal.html">
122222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Providing Ancestral and Temporal Navigation
122322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </a>
122422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </li>
122522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/design-navigation/wireframing.html">
122622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Putting it All Together: Wireframing the Example App
12277736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
12287736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
12297736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main        </ul>
12307736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main      </li>
123150c2275cff28c4a216f6924584e43cd64b90a3bfJoe Malin
123250e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
123322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
123422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/implementing-navigation/index.html"
123522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
12367c8405513675c47205a68c0644f6046eebefc5a3Scott Main             "How to implement various navigation patterns such as swipe views,
12377c8405513675c47205a68c0644f6046eebefc5a3Scott Main             a navigation drawer, and up navigation."
123822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Implementing Effective Navigation</a>
123922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
12407736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main        <ul>
124122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/implementing-navigation/lateral.html">
12427c8405513675c47205a68c0644f6046eebefc5a3Scott Main            Creating Swipe Views with Tabs
12437c8405513675c47205a68c0644f6046eebefc5a3Scott Main          </a>
12447c8405513675c47205a68c0644f6046eebefc5a3Scott Main          </li>
12457c8405513675c47205a68c0644f6046eebefc5a3Scott Main          <li><a href="<?cs var:toroot ?>training/implementing-navigation/nav-drawer.html">
12467c8405513675c47205a68c0644f6046eebefc5a3Scott Main            Creating a Navigation Drawer
12477736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
12487736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
124922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/implementing-navigation/ancestral.html">
12507c8405513675c47205a68c0644f6046eebefc5a3Scott Main            Providing Up Navigation
12517736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
12527736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
125322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/implementing-navigation/temporal.html">
12547c8405513675c47205a68c0644f6046eebefc5a3Scott Main            Providing Proper Back Navigation
12557736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
12567736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
125722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/implementing-navigation/descendant.html">
125822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Implementing Descendant Navigation
12597736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
12607736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
12617736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main        </ul>
12627736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main      </li>
12630aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j
12640aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j      <li class="nav-section">
12650aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          <div class="nav-section-header">
12660aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j              <a href="<?cs var:toroot ?>training/notify-user/index.html"
12670aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                 description=
1268f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin                 "How to display messages called notifications outside of
12690aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                 your application's UI."
12700aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j               >Notifying the User</a>
12710aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          </div>
12720aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          <ul>
12730aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j              <li>
12740aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  <a href="<?cs var:toroot ?>training/notify-user/build-notification.html">
12750aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  Building a Notification
12760aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  </a>
12770aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j              </li>
12780aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j              <li>
12790aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  <a href="<?cs var:toroot ?>training/notify-user/navigation.html">
12800aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  Preserving Navigation when Starting an Activity
12810aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  </a>
12820aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j              </li>
12830aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j              <li>
12840aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  <a href="<?cs var:toroot ?>training/notify-user/managing.html">
12850aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  Updating Notifications
12860aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  </a>
12870aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j              </li>
12880aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j              <li>
12890aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  <a href="<?cs var:toroot ?>training/notify-user/expanded.html">
12900aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  Using Big View Styles
12910aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  </a>
12920aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j              </li>
12930aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j              <li>
12940aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  <a href="<?cs var:toroot ?>training/notify-user/display-progress.html">
12950aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  Displaying Progress in a Notification
12960aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  </a>
12970aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j              </li>
12980aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          </ul>
12990aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j      </li>
130073ff05fb391b8ef60f502814b5ee7ee369c2d4dbDavid Friedman
130173ff05fb391b8ef60f502814b5ee7ee369c2d4dbDavid Friedman
1302f71f509af0047c154a67c136e8f57a4018663379Joe Malin      <li class="nav-section">
1303f71f509af0047c154a67c136e8f57a4018663379Joe Malin        <div class="nav-section-header">
1304f71f509af0047c154a67c136e8f57a4018663379Joe Malin            <a href="<?cs var:toroot ?>training/swipe/index.html"
1305f71f509af0047c154a67c136e8f57a4018663379Joe Malin            description=
1306f71f509af0047c154a67c136e8f57a4018663379Joe Malin            "How to modify your app's layout to support manual content updates triggered by the
1307f71f509af0047c154a67c136e8f57a4018663379Joe Malin             swipe-to-refresh gesture."
1308f71f509af0047c154a67c136e8f57a4018663379Joe Malin            >Supporting Swipe-to-Refresh</a>
1309f71f509af0047c154a67c136e8f57a4018663379Joe Malin        </div>
1310f71f509af0047c154a67c136e8f57a4018663379Joe Malin        <ul>
1311f71f509af0047c154a67c136e8f57a4018663379Joe Malin            <li>
1312f71f509af0047c154a67c136e8f57a4018663379Joe Malin                <a href="<?cs var:toroot ?>training/swipe/add-swipe-interface.html"
1313f71f509af0047c154a67c136e8f57a4018663379Joe Malin                >Adding Swipe-to-Refresh To Your App</a></li>
1314f71f509af0047c154a67c136e8f57a4018663379Joe Malin            <li>
1315f71f509af0047c154a67c136e8f57a4018663379Joe Malin                <a href="<?cs var:toroot ?>training/swipe/respond-refresh-request.html"
1316f71f509af0047c154a67c136e8f57a4018663379Joe Malin                >Responding to a Refresh Gesture</a>
1317f71f509af0047c154a67c136e8f57a4018663379Joe Malin            </li>
1318f71f509af0047c154a67c136e8f57a4018663379Joe Malin        </ul>
1319f71f509af0047c154a67c136e8f57a4018663379Joe Malin      </li>
132073ff05fb391b8ef60f502814b5ee7ee369c2d4dbDavid Friedman
132173ff05fb391b8ef60f502814b5ee7ee369c2d4dbDavid Friedman
13220aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j      <li class="nav-section">
13230aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j        <div class="nav-section-header">
13240aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          <a href="<?cs var:toroot ?>training/search/index.html"
13250aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j             description=
13260aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j             "How to properly add a search interface to your app and create a searchable database."
13270aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j            >Adding Search Functionality</a>
13280aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j        </div>
13290aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j        <ul>
13300aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          <li><a href="<?cs var:toroot ?>training/search/setup.html">
13310aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j            Setting up the Search Interface
13320aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          </a>
13330aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          </li>
13340aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          <li><a href="<?cs var:toroot ?>training/search/search.html">
13350aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j            Storing and Searching for Data
13360aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          </a>
13370aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          </li>
13380aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          <li><a href="<?cs var:toroot ?>training/search/backward-compat.html">
13390aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j            Remaining Backward Compatible
13400aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          </a>
13410aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          </li>
13420aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j        </ul>
13430aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j      </li>
13443ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
13458142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main     <li class="nav-section">
13468142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main        <div class="nav-section-header">
13478142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main          <a href="<?cs var:toroot ?>training/app-indexing/index.html"
13488142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main             description=
13498142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main             "How to enable deep linking and indexing of your application
13508142898da2e10d73617cd953a7bff85ff56dd0f5Scott Maincontent so that users can open this content directly from their mobile search
13518142898da2e10d73617cd953a7bff85ff56dd0f5Scott Mainresults."
1352240aca333e340445f977d2a0e268a7c8d3a591e0quddusc            >Making Your App Content Searchable by Google</a>
13538142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main        </div>
13548142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main        <ul>
13558142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main          <li><a href="<?cs var:toroot ?>training/app-indexing/deep-linking.html">
13568142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main            Enabling Deep Links for App Content
13578142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main          </a>
13588142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main          </li>
13598142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main          <li><a href="<?cs var:toroot ?>training/app-indexing/enabling-app-indexing.html">
136073ff05fb391b8ef60f502814b5ee7ee369c2d4dbDavid Friedman            Specifying App Content for Indexing
13618142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main          </a>
13628142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main          </li>
13638142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main        </ul>
13648142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main  </li>
13658142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main
1366059e3905bb79aa6010471f066f571c9ad2ae5fa1Dirk Dougherty      <li>
1367059e3905bb79aa6010471f066f571c9ad2ae5fa1Dirk Dougherty        <a href="<?cs var:toroot ?>training/articles/assistant.html"
1368059e3905bb79aa6010471f066f571c9ad2ae5fa1Dirk Dougherty           description=
1369059e3905bb79aa6010471f066f571c9ad2ae5fa1Dirk Dougherty           "Support contextually relevant actions through the Assist API."
1370059e3905bb79aa6010471f066f571c9ad2ae5fa1Dirk Dougherty          >Optimizing Content for the Assistant</a>
1371059e3905bb79aa6010471f066f571c9ad2ae5fa1Dirk Dougherty      </li>
137273ff05fb391b8ef60f502814b5ee7ee369c2d4dbDavid Friedman       <li class="nav-section">
137373ff05fb391b8ef60f502814b5ee7ee369c2d4dbDavid Friedman        <div class="nav-section">
137473ff05fb391b8ef60f502814b5ee7ee369c2d4dbDavid Friedman          <a href="<?cs var:toroot ?>training/app-links/index.html"
137573ff05fb391b8ef60f502814b5ee7ee369c2d4dbDavid Friedman             description=
137673ff05fb391b8ef60f502814b5ee7ee369c2d4dbDavid Friedman             "How to enable the system to handle web requests by taking the user directly
137773ff05fb391b8ef60f502814b5ee7ee369c2d4dbDavid Friedman             to your app instead of your website."
137873ff05fb391b8ef60f502814b5ee7ee369c2d4dbDavid Friedman            >Handling App Links</a>
137973ff05fb391b8ef60f502814b5ee7ee369c2d4dbDavid Friedman        </div>
138073ff05fb391b8ef60f502814b5ee7ee369c2d4dbDavid Friedman      </li>
138173ff05fb391b8ef60f502814b5ee7ee369c2d4dbDavid Friedman  <!-- End Interaction and Engagement -->
138273ff05fb391b8ef60f502814b5ee7ee369c2d4dbDavid Friedman
138373ff05fb391b8ef60f502814b5ee7ee369c2d4dbDavid Friedman</ul>
13848142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main
13858142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main  <li class="nav-section">
13868142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main    <div class="nav-section-header">
13878142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main      <a href="<?cs var:toroot ?>training/best-ui.html">
13888142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main      <span class="small">Best Practices for</span><br/>
13898142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main              User Interface
13908142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main      </a>
13918142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main    </div>
13928142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main    <ul>
13938142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main
139473ff05fb391b8ef60f502814b5ee7ee369c2d4dbDavid Friedman
139550e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
139622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
13975b50239c33176e0b321d2ee32a589e0583767e02Scott Main          <a href="<?cs var:toroot ?>training/multiscreen/index.html"
1398b582c678c88df2848023b7f27f4bc0ab2249e1e1Dirk Dougherty             zh-cn-lang="针对多种屏幕进行设计"
139922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             ja-lang="複数画面のデザイン"
140022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             es-lang="mo diseñar aplicaciones para varias pantallas"
140122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
140222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to build a user interface that's flexible enough to
140322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             fit perfectly on any screen and how to create different interaction
140422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             patterns that are optimized for different screen sizes."
140522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Designing for Multiple Screens</a>
140622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
140738e09c3ddb7da47a23bf4221ab678e058c7e923aRoman Nurik        <ul>
14085b50239c33176e0b321d2ee32a589e0583767e02Scott Main          <li><a href="<?cs var:toroot ?>training/multiscreen/screensizes.html"
1409b582c678c88df2848023b7f27f4bc0ab2249e1e1Dirk Dougherty            zh-cn-lang="支持各种屏幕尺寸"
141022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            ko-lang="다양한 화면 크기 지원"
141122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            ja-lang="さまざまな画面サイズのサポート"
1412f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin            es-lang="Cómo admitir varios tamaños de pantalla"
141322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Supporting Different Screen Sizes</a>
141438e09c3ddb7da47a23bf4221ab678e058c7e923aRoman Nurik          </li>
14155b50239c33176e0b321d2ee32a589e0583767e02Scott Main          <li><a href="<?cs var:toroot ?>training/multiscreen/screendensities.html"
1416b582c678c88df2848023b7f27f4bc0ab2249e1e1Dirk Dougherty            zh-cn-lang="支持各种屏幕密度"
141722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            ja-lang="さまざまな画面密度のサポート"
1418f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin            es-lang="Cómo admitir varias densidades de pantalla"
141922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Supporting Different Screen Densities</a>
142038e09c3ddb7da47a23bf4221ab678e058c7e923aRoman Nurik          </li>
14215b50239c33176e0b321d2ee32a589e0583767e02Scott Main          <li><a href="<?cs var:toroot ?>training/multiscreen/adaptui.html"
1422b582c678c88df2848023b7f27f4bc0ab2249e1e1Dirk Dougherty            zh-cn-lang="实施自适应用户界面流程"
142322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            ja-lang="順応性のある UI フローの実装"
1424f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin            es-lang="Cómo implementar interfaces de usuario adaptables"
142522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Implementing Adaptive UI Flows</a>
142638e09c3ddb7da47a23bf4221ab678e058c7e923aRoman Nurik          </li>
142738e09c3ddb7da47a23bf4221ab678e058c7e923aRoman Nurik        </ul>
142838e09c3ddb7da47a23bf4221ab678e058c7e923aRoman Nurik      </li>
142938e09c3ddb7da47a23bf4221ab678e058c7e923aRoman Nurik
143050e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
143122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
14323d1032abae253369fb235f4d4a755bbf212c6be3Andrew Solovay          <a href="<?cs var:toroot ?>training/appbar/index.html"
14333d1032abae253369fb235f4d4a755bbf212c6be3Andrew Solovay             description=
14343d1032abae253369fb235f4d4a755bbf212c6be3Andrew Solovay             "How to use the support library's toolbar widget to implement an
14353d1032abae253369fb235f4d4a755bbf212c6be3Andrew Solovay             app bar that displays properly on a wide range of devices."
14363d1032abae253369fb235f4d4a755bbf212c6be3Andrew Solovay            >Adding the App Bar</a>
14373d1032abae253369fb235f4d4a755bbf212c6be3Andrew Solovay        </div>
14383d1032abae253369fb235f4d4a755bbf212c6be3Andrew Solovay        <ul>
14393d1032abae253369fb235f4d4a755bbf212c6be3Andrew Solovay          <li><a href="<?cs var:toroot ?>training/appbar/setting-up.html"
14403d1032abae253369fb235f4d4a755bbf212c6be3Andrew Solovay            >Setting Up the App Bar</a>
14413d1032abae253369fb235f4d4a755bbf212c6be3Andrew Solovay          </li>
14423d1032abae253369fb235f4d4a755bbf212c6be3Andrew Solovay          <li><a href="<?cs var:toroot ?>training/appbar/actions.html"
14433d1032abae253369fb235f4d4a755bbf212c6be3Andrew Solovay            >Adding and Handling Actions</a>
14443d1032abae253369fb235f4d4a755bbf212c6be3Andrew Solovay          </li>
14453d1032abae253369fb235f4d4a755bbf212c6be3Andrew Solovay          <li><a href="<?cs var:toroot ?>training/appbar/up-action.html"
14463d1032abae253369fb235f4d4a755bbf212c6be3Andrew Solovay            >Adding an Up Action</a>
14473d1032abae253369fb235f4d4a755bbf212c6be3Andrew Solovay          </li>
144822c024657d2c97cbc8aed7cead25acdf6649aeedAndrew Solovay          <li><a href="<?cs var:toroot ?>training/appbar/action-views.html"
144922c024657d2c97cbc8aed7cead25acdf6649aeedAndrew Solovay            >Action Views and Action Providers</a>
145022c024657d2c97cbc8aed7cead25acdf6649aeedAndrew Solovay          </li>
14513d1032abae253369fb235f4d4a755bbf212c6be3Andrew Solovay        </ul>
14523d1032abae253369fb235f4d4a755bbf212c6be3Andrew Solovay      </li>
14533d1032abae253369fb235f4d4a755bbf212c6be3Andrew Solovay
14549f48b563fbadf67185fd63ab6e591521fc9182c8Andrew Solovay            <li class="nav-section">
14559f48b563fbadf67185fd63ab6e591521fc9182c8Andrew Solovay        <div class="nav-section-header">
14569f48b563fbadf67185fd63ab6e591521fc9182c8Andrew Solovay          <a href="<?cs var:toroot ?>training/snackbar/index.html"
14579f48b563fbadf67185fd63ab6e591521fc9182c8Andrew Solovay             description=
14589f48b563fbadf67185fd63ab6e591521fc9182c8Andrew Solovay             "How to use the support library's Snackbar widget to display a
14599f48b563fbadf67185fd63ab6e591521fc9182c8Andrew Solovay             brief pop-up message."
14609f48b563fbadf67185fd63ab6e591521fc9182c8Andrew Solovay            >Showing Pop-Up Messages</a>
14619f48b563fbadf67185fd63ab6e591521fc9182c8Andrew Solovay        </div>
14629f48b563fbadf67185fd63ab6e591521fc9182c8Andrew Solovay        <ul>
14639f48b563fbadf67185fd63ab6e591521fc9182c8Andrew Solovay          <li><a href="<?cs var:toroot ?>training/snackbar/showing.html"
14649f48b563fbadf67185fd63ab6e591521fc9182c8Andrew Solovay            >Building and Displaying a Pop-Up Message</a>
14659f48b563fbadf67185fd63ab6e591521fc9182c8Andrew Solovay          </li>
14669f48b563fbadf67185fd63ab6e591521fc9182c8Andrew Solovay          <li><a href="<?cs var:toroot ?>training/snackbar/action.html"
14679f48b563fbadf67185fd63ab6e591521fc9182c8Andrew Solovay            >Adding an Action to a Message</a>
14689f48b563fbadf67185fd63ab6e591521fc9182c8Andrew Solovay          </li>
14699f48b563fbadf67185fd63ab6e591521fc9182c8Andrew Solovay        </ul>
14709f48b563fbadf67185fd63ab6e591521fc9182c8Andrew Solovay      </li>
14719f48b563fbadf67185fd63ab6e591521fc9182c8Andrew Solovay
14723d1032abae253369fb235f4d4a755bbf212c6be3Andrew Solovay      <li class="nav-section">
14733d1032abae253369fb235f4d4a755bbf212c6be3Andrew Solovay        <div class="nav-section-header">
147422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/custom-views/index.html"
147522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
147622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to build custom UI widgets that are interactive and smooth."
147722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Creating Custom Views</a>
147822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
1479580f0146535e7daed83aef721f505270f7b040e1Scott Main        <ul>
148022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/custom-views/create-view.html">
148122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Creating a Custom View Class
1482580f0146535e7daed83aef721f505270f7b040e1Scott Main          </a>
1483580f0146535e7daed83aef721f505270f7b040e1Scott Main          </li>
148422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/custom-views/custom-drawing.html">
148522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Implementing Custom Drawing
1486580f0146535e7daed83aef721f505270f7b040e1Scott Main          </a>
1487580f0146535e7daed83aef721f505270f7b040e1Scott Main          </li>
148822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/custom-views/making-interactive.html">
148922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Making the View Interactive
1490580f0146535e7daed83aef721f505270f7b040e1Scott Main          </a>
1491580f0146535e7daed83aef721f505270f7b040e1Scott Main          </li>
149222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/custom-views/optimizing-view.html">
149322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Optimizing the View
1494580f0146535e7daed83aef721f505270f7b040e1Scott Main          </a>
1495580f0146535e7daed83aef721f505270f7b040e1Scott Main          </li>
1496580f0146535e7daed83aef721f505270f7b040e1Scott Main        </ul>
149719266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik      </li>
149819266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik
149950e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
150022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
150122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/backward-compatible-ui/index.html"
150222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
150322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to use UI components and other APIs from the more recent versions of Android
150422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             while remaining compatible with older versions of the platform."
150522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Creating Backward-Compatible UIs</a>
150622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
150719266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik        <ul>
150822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/backward-compatible-ui/abstracting.html">
150922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Abstracting the New APIs
151019266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik          </a>
151119266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik          </li>
151222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/backward-compatible-ui/new-implementation.html">
151322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Proxying to the New APIs
151419266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik          </a>
151519266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik          </li>
151622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/backward-compatible-ui/older-implementation.html">
151722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Creating an Implementation with Older APIs
151819266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik          </a>
151919266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik          </li>
152022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/backward-compatible-ui/using-component.html">
152122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Using the Version-Aware Component
152219266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik          </a>
152319266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik          </li>
152419266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik        </ul>
152519266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik      </li>
15263ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
152750e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
152822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
152922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/accessibility/index.html"
153022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
153122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to make your app accessible to users with vision
153222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             impairment or other physical disabilities."
153322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Implementing Accessibility</a>
1534931ff55a905c2efb7abb7ac287fe2132aaf77627Megha Joshi        </div>
1535931ff55a905c2efb7abb7ac287fe2132aaf77627Megha Joshi        <ul>
153622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/accessibility/accessible-app.html">
153722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Developing Accessible Applications
1538931ff55a905c2efb7abb7ac287fe2132aaf77627Megha Joshi          </a>
1539931ff55a905c2efb7abb7ac287fe2132aaf77627Megha Joshi          </li>
154022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/accessibility/service.html">
154122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Developing Accessibility Services
1542931ff55a905c2efb7abb7ac287fe2132aaf77627Megha Joshi          </a>
1543931ff55a905c2efb7abb7ac287fe2132aaf77627Megha Joshi          </li>
1544e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong          <li><a href="<?cs var:toroot ?>training/accessibility/testing.html">
1545e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong            Accessibility Testing Checklist
1546e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong          </a>
1547e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong          </li>
1548931ff55a905c2efb7abb7ac287fe2132aaf77627Megha Joshi        </ul>
1549580f0146535e7daed83aef721f505270f7b040e1Scott Main      </li>
15503ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
1551cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick      <li class="nav-section">
1552cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick        <div class="nav-section-header">
1553cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick          <a href="<?cs var:toroot ?>training/system-ui/index.html"
1554cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick             description=
1555cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick             "How to hide and show status and navigation bars across different versions of Android,
1556cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick              while managing the display of other screen components."
1557cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick            >Managing the System UI</a>
1558cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick        </div>
1559cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick        <ul>
1560cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick          <li><a href="<?cs var:toroot ?>training/system-ui/dim.html">
1561cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick            Dimming the System Bars
1562cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick          </a>
1563cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick          </li>
1564cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick          <li><a href="<?cs var:toroot ?>training/system-ui/status.html">
1565cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick            Hiding the Status Bar
1566cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick          </a>
1567cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick          </li>
1568cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick          <li><a href="<?cs var:toroot ?>training/system-ui/navigation.html">
1569cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick            Hiding the Navigation Bar
1570cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick          </a>
1571cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick          </li>
15725b50239c33176e0b321d2ee32a589e0583767e02Scott Main          <li><a href="<?cs var:toroot ?>training/system-ui/immersive.html">
1573467f5db87950601fb5e0936aca9a1cebe28d350bKatie McCormick            Using Immersive Full-Screen Mode
1574467f5db87950601fb5e0936aca9a1cebe28d350bKatie McCormick          </a>
1575467f5db87950601fb5e0936aca9a1cebe28d350bKatie McCormick          </li>
1576cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick          <li><a href="<?cs var:toroot ?>training/system-ui/visibility.html">
1577cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick            Responding to UI Visibility Changes
1578cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick          </a>
1579414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          </li>
1580414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera        </ul>
1581414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera      </li>
1582414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera
1583414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera      <li class="nav-section">
1584414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera        <div class="nav-section-header">
1585414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          <a href="<?cs var:toroot ?>training/material/index.html"
1586414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera             description=
1587414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera             "How to implement material design on Android."
1588dee655c406cbb71518ccdbfd7b79b6ecc2cefbfeDavid Friedman            zh-cn-lang="面向开发者的材料设计"
1589dee655c406cbb71518ccdbfd7b79b6ecc2cefbfeDavid Friedman            zh-tw-lang="開發人員材料設計"
1590dee655c406cbb71518ccdbfd7b79b6ecc2cefbfeDavid Friedman            ja-lang="マテリアル デザインでのアプリ作成"
1591dee655c406cbb71518ccdbfd7b79b6ecc2cefbfeDavid Friedman            es-lang="Crear aplicaciones con Material Design"
1592dee655c406cbb71518ccdbfd7b79b6ecc2cefbfeDavid Friedman            pt-br-lang="Material Design para desenvolvedores"
1593dee655c406cbb71518ccdbfd7b79b6ecc2cefbfeDavid Friedman            ko-lang="개발자를 위한 머티리얼 디자인"
1594dee655c406cbb71518ccdbfd7b79b6ecc2cefbfeDavid Friedman            ru-lang="Создание приложений с помощью Material Design"
1595dee655c406cbb71518ccdbfd7b79b6ecc2cefbfeDavid Friedman            in-lang="Desain Bahan untuk Pengembang"
1596dee655c406cbb71518ccdbfd7b79b6ecc2cefbfeDavid Friedman            vi-lang="Material Design cho Nhà phát triển"
1597414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera            >Creating Apps with Material Design</a>
1598414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera        </div>
1599414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera        <ul>
1600ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman          <li><a href="<?cs var:toroot ?>training/material/get-started.html"
1601ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            zh-cn-lang="入门指南"
1602ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            zh-tw-lang="開始使用"
1603ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            ja-lang="スタート ガイド"
1604ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            es-lang="Comencemos"
1605ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            pt-br-lang="Como iniciar"
1606ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            ko-lang="시작하기"
1607ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            ru-lang="Начало работы"
1608dee655c406cbb71518ccdbfd7b79b6ecc2cefbfeDavid Friedman            in-lang="Memulai"
1609dee655c406cbb71518ccdbfd7b79b6ecc2cefbfeDavid Friedman            vi-lang="Bắt đầu"
1610ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            >
1611414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera            Getting Started
1612414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          </a>
1613414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          </li>
1614ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman          <li><a href="<?cs var:toroot ?>training/material/theme.html"
1615ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            zh-cn-lang="使用材料主题"
1616ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            zh-tw-lang="使用材料設計風格"
1617ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            ja-lang="マテリアル テーマの使用"
1618ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            es-lang="Usar el tema Material"
1619ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            pt-br-lang="Como usar o tema do Material"
1620ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            ko-lang="머티어리얼 테마 사용"
1621ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            ru-lang="Использование темы Material Design"
1622dee655c406cbb71518ccdbfd7b79b6ecc2cefbfeDavid Friedman            in-lang="Menggunakan Tema Bahan"
1623dee655c406cbb71518ccdbfd7b79b6ecc2cefbfeDavid Friedman            vi-lang="Sử dụng Chủ đề Material"
1624ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            >
1625414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera            Using the Material Theme
1626414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          </a>
1627414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          </li>
1628ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman          <li><a href="<?cs var:toroot ?>training/material/lists-cards.html"
1629ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            zh-cn-lang="创建列表与卡片"
1630ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            zh-tw-lang="建立清單和卡片"
1631ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            ja-lang="リストとカードの作成"
1632ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            es-lang="Crear listas y tarjetas"
1633ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            pt-br-lang="Como criar listas e cartões"
1634ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            ko-lang="목록 및 카드 생성"
1635ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            ru-lang="Создание списков и подсказок"
1636dee655c406cbb71518ccdbfd7b79b6ecc2cefbfeDavid Friedman            in-lang="Membuat Daftar dan Kartu"
1637dee655c406cbb71518ccdbfd7b79b6ecc2cefbfeDavid Friedman            vi-lang="Tạo Danh sách và Thẻ"
1638ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            >
1639414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera            Creating Lists and Cards
1640414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          </a>
1641414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          </li>
1642ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman          <li><a href="<?cs var:toroot ?>training/material/shadows-clipping.html"
1643ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            zh-cn-lang="定义阴影与裁剪视图"
1644ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            zh-tw-lang="定義陰影和裁剪檢視"
1645ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            ja-lang="シャドウとクリッピング ビューの定義"
1646ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            es-lang="Definir vistas de recorte y sombras"
1647ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            pt-br-lang="Como definir sombras e recortar visualizações"
1648ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            ko-lang="그림자 정의 및 뷰 클리핑"
1649ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            ru-lang="Определение теней и обрезка представлений"
1650dee655c406cbb71518ccdbfd7b79b6ecc2cefbfeDavid Friedman            in-lang="Mendefinisikan Bayangan dan Memangkas Tampilan"
1651dee655c406cbb71518ccdbfd7b79b6ecc2cefbfeDavid Friedman            vi-lang="Định nghĩa Đổ bóng và Dạng xem Cắt hình"
1652ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            >
1653414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera            Defining Shadows and Clipping Views
1654414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          </a>
1655414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          </li>
1656ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman          <li><a href="<?cs var:toroot ?>training/material/drawables.html"
1657ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            zh-cn-lang="使用 Drawables"
1658ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            zh-tw-lang="使用可繪項目"
1659ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            ja-lang="ドローアブルの使用"
1660ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            es-lang="Trabajar con interfaces dibujables"
1661ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            pt-br-lang="Como trabalhar com desenháveis"
1662ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            ko-lang="Drawable 사용"
1663ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            ru-lang="Работа с элементами дизайна"
1664dee655c406cbb71518ccdbfd7b79b6ecc2cefbfeDavid Friedman            in-lang="Bekerja dengan Drawable"
1665dee655c406cbb71518ccdbfd7b79b6ecc2cefbfeDavid Friedman            vi-lang="Làm việc với Nội dung vẽ được"
1666ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            >
1667414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera            Working with Drawables
1668414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          </a>
1669414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          </li>
1670ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman          <li><a href="<?cs var:toroot ?>training/material/animations.html"
1671ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            zh-cn-lang="定义定制动画"
1672ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            zh-tw-lang="定義自訂動畫"
1673ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            ja-lang="カスタム アニメーションの定義"
1674ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            es-lang="Definir animaciones personalizadas"
1675ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            pt-br-lang="Como definir animações personalizadas"
1676ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            ko-lang="사용자지정 애니메이션 정의"
1677ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            ru-lang="Определение настраиваемой анимации"
1678dee655c406cbb71518ccdbfd7b79b6ecc2cefbfeDavid Friedman            in-lang="Mendefinisikan Animasi Custom"
1679dee655c406cbb71518ccdbfd7b79b6ecc2cefbfeDavid Friedman            vi-lang="Định nghĩa Hoạt hình Tùy chỉnh"
1680ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            >
1681414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera            Defining Custom Animations
1682414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          </a>
1683414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          </li>
1684ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman          <li><a href="<?cs var:toroot ?>training/material/compatibility.html"
1685ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            zh-cn-lang="维护兼容性"
1686ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            zh-tw-lang="維持相容性"
1687ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            ja-lang="互換性の維持"
1688ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            es-lang="Mantener la compatibilidad"
1689ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            pt-br-lang="Como manter a compatibilidade"
1690ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            ko-lang="호환성 유지"
1691ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            ru-lang="Обеспечение совместимости"
1692dee655c406cbb71518ccdbfd7b79b6ecc2cefbfeDavid Friedman            in-lang="Mempertahankan Kompatibilitas"
1693dee655c406cbb71518ccdbfd7b79b6ecc2cefbfeDavid Friedman            vi-lang="Duy trì Tính tương thích"
1694ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            >
1695414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera            Maintaining Compatibility
1696414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          </a>
1697cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick          </li>
1698cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick        </ul>
1699cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick      </li>
1700cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick
170122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </ul>
170222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  </li>
17038142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main  <!-- End User Interface -->
17048142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main
17058142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main
17063ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
1707c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main
1708518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j  <li class="nav-section">
1709518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j    <div class="nav-section-header">
1710c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main      <a href="<?cs var:toroot ?>training/best-user-input.html">
1711518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j      <span class="small">Best Practices for</span><br/>
1712518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j              User Input
1713518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j      </a>
1714518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j    </div>
1715518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j    <ul>
17163ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
1717518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j      <li class="nav-section">
1718518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j        <div class="nav-section-header">
1719518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          <a href="<?cs var:toroot ?>training/gestures/index.html"
1720518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j             description=
1721518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j             "How to write apps that allow users to interact with the touch screen via touch gestures."
1722518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j            >Using Touch Gestures</a>
1723518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j        </div>
1724518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j        <ul>
1725518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          <li><a href="<?cs var:toroot ?>training/gestures/detector.html">
1726518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j            Detecting Common Gestures
1727518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </a>
1728518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </li>
1729518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          <li><a href="<?cs var:toroot ?>training/gestures/movement.html">
1730518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j            Tracking Movement
1731518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </a>
1732518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </li>
1733518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          <li><a href="<?cs var:toroot ?>training/gestures/scroll.html">
1734518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j            Animating a Scroll Gesture
1735518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </a>
1736518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </li>
1737518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          <li><a href="<?cs var:toroot ?>training/gestures/multi.html">
1738518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j            Handling Multi-Touch Gestures
1739518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </a>
1740518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </li>
1741518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          <li><a href="<?cs var:toroot ?>training/gestures/scale.html">
1742518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j            Dragging and Scaling
1743518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </a>
1744518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </li>
1745518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          <li><a href="<?cs var:toroot ?>training/gestures/viewgroup.html">
1746518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j            Managing Touch Events in a ViewGroup
1747518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </a>
1748518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </li>
1749518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j        </ul>
1750c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main      </li>
17513ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
1752c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main      <li class="nav-section">
1753c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main        <div class="nav-section-header">
1754c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          <a href="<?cs var:toroot ?>training/keyboard-input/index.html"
1755c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main             description=
1756c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main             "How to specify the appearance and behaviors of soft input methods (such
1757c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main             as on-screen keyboards) and how to optimize the experience with
1758c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main             hardware keyboards."
1759c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main            >Handling Keyboard Input</a>
1760c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main        </div>
1761c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main        <ul>
1762c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          <li><a href="<?cs var:toroot ?>training/keyboard-input/style.html">
1763c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main            Specifying the Input Method Type
1764c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          </a>
1765c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          </li>
1766c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          <li><a href="<?cs var:toroot ?>training/keyboard-input/visibility.html">
1767c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main            Handling Input Method Visibility
1768c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          </a>
1769c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          </li>
1770c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          <li><a href="<?cs var:toroot ?>training/keyboard-input/navigation.html">
1771c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main            Supporting Keyboard Navigation
1772c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          </a>
1773c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          </li>
1774c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          <li><a href="<?cs var:toroot ?>training/keyboard-input/commands.html">
1775c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main            Handling Keyboard Actions
1776c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          </a>
1777c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          </li>
1778c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main        </ul>
1779c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main      </li>
17801dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc
17811dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc      <li class="nav-section">
17821dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc        <div class="nav-section-header">
17831dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc          <a href="<?cs var:toroot ?>training/game-controllers/index.html"
17841dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc             description=
17851dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc             "How to write apps that support game controllers."
17861dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc            >Supporting Game Controllers</a>
17871dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc        </div>
17881dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc        <ul>
17891dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc          <li><a href="<?cs var:toroot ?>training/game-controllers/controller-input.html">
17901dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc            Handling Controller Actions
17911dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc          </a>
17921dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc          </li>
17931dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc          <li><a href="<?cs var:toroot ?>training/game-controllers/compatibility.html">
17941dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc            Supporting Controllers Across Android Versions
17951dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc          </a>
17961dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc          </li>
17971dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc          <li><a href="<?cs var:toroot ?>training/game-controllers/multiple-controllers.html">
17981dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc            Supporting Multiple Game Controllers
17991dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc          </a>
18001dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc          </li>
18011dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc        </ul>
18021dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc      </li>
1803c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main    </ul>
1804421435d2bede2788b74b07b1bab893fef98047c5Joe Malin  </li> <!-- end of User Input -->
180550c2275cff28c4a216f6924584e43cd64b90a3bfJoe Malin
180622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <li class="nav-section">
180722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <div class="nav-section-header">
18087bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick      <a href="<?cs var:toroot ?>training/best-background.html">
180922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <span class="small">Best Practices for</span><br/>
18107bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick              Background Jobs
181122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      </a>
181222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </div>
181322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <ul>
18143ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
1815f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin      <li class="nav-section">
1816f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin        <div class="nav-section-header">
1817f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin          <a href="<?cs var:toroot ?>training/run-background-service/index.html"
1818f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin             description=
1819f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin             "How to improve UI performance and responsiveness by sending work to a
18208ac78803f59fd4fbe9e2682632791bc255d38aceScott Main             Service running in the background"
18218ac78803f59fd4fbe9e2682632791bc255d38aceScott Main            >Running in a Background Service</a>
1822f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin        </div>
1823f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin        <ul>
1824f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin          <li><a href="<?cs var:toroot ?>training/run-background-service/create-service.html">
1825f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin            Creating a Background Service
1826f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin          </a>
1827f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin          </li>
1828f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin          <li><a href="<?cs var:toroot ?>training/run-background-service/send-request.html">
1829f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin            Sending Work Requests to the Background Service
1830f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin          </a>
1831f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin          </li>
1832f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin          <li><a href="<?cs var:toroot ?>training/run-background-service/report-status.html">
1833f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin            Reporting Work Status
1834f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin          </a>
1835f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin          </li>
1836f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin        </ul>
1837f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin      </li>
18388ac78803f59fd4fbe9e2682632791bc255d38aceScott Main
18398ac78803f59fd4fbe9e2682632791bc255d38aceScott Main      <li class="nav-section">
18408ac78803f59fd4fbe9e2682632791bc255d38aceScott Main        <div class="nav-section-header">
18418ac78803f59fd4fbe9e2682632791bc255d38aceScott Main          <a href="<?cs var:toroot ?>training/load-data-background/index.html"
18428ac78803f59fd4fbe9e2682632791bc255d38aceScott Main             description="How to use CursorLoader to query data without
18438ac78803f59fd4fbe9e2682632791bc255d38aceScott Main             affecting UI responsiveness."
18448ac78803f59fd4fbe9e2682632791bc255d38aceScott Main            >Loading Data in the Background</a>
18458ac78803f59fd4fbe9e2682632791bc255d38aceScott Main        </div>
18468ac78803f59fd4fbe9e2682632791bc255d38aceScott Main        <ul>
18478ac78803f59fd4fbe9e2682632791bc255d38aceScott Main          <li><a href="<?cs var:toroot ?>training/load-data-background/setup-loader.html">
18488ac78803f59fd4fbe9e2682632791bc255d38aceScott Main            Running a Query with a CursorLoader</a>
18498ac78803f59fd4fbe9e2682632791bc255d38aceScott Main          </li>
18508ac78803f59fd4fbe9e2682632791bc255d38aceScott Main          <li><a href="<?cs var:toroot ?>training/load-data-background/handle-results.html">
18518ac78803f59fd4fbe9e2682632791bc255d38aceScott Main            Handling the Results</a>
18528ac78803f59fd4fbe9e2682632791bc255d38aceScott Main          </li>
18538ac78803f59fd4fbe9e2682632791bc255d38aceScott Main        </ul>
18548ac78803f59fd4fbe9e2682632791bc255d38aceScott Main      </li>
18553ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
18567bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick       <li class="nav-section">
18577bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick        <div class="nav-section-header">
18587bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          <a href="<?cs var:toroot ?>training/scheduling/index.html"
18597bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick             description="How to use repeating alarms and wake locks
18607bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick             to run background jobs."
18617bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick            >Managing Device Awake State</a>
18627bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick        </div>
18637bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick        <ul>
18647bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          <li><a href="<?cs var:toroot ?>training/scheduling/wakelock.html">
18657bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick            Keeping the Device Awake</a>
18667bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          </li>
18677bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          <li><a href="<?cs var:toroot ?>training/scheduling/alarms.html">
18687bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick            Scheduling Repeating Alarms</a>
18697bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          </li>
18707bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick        </ul>
18717bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick      </li>
18727bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick    </ul>
18737bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick  </li> <!-- end of Background Jobs -->
18747bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick
1875dcfa755616504fb4443f4d79d936f30c3742d77aQuddus Chong  <li class="nav-section">
1876dcfa755616504fb4443f4d79d936f30c3742d77aQuddus Chong    <div class="nav-section-header">
1877dcfa755616504fb4443f4d79d936f30c3742d77aQuddus Chong      <a href="<?cs var:toroot ?>training/best-performance.html">
1878dcfa755616504fb4443f4d79d936f30c3742d77aQuddus Chong      <span class="small">Best Practices for</span><br/>
1879dcfa755616504fb4443f4d79d936f30c3742d77aQuddus Chong              Performance
1880dcfa755616504fb4443f4d79d936f30c3742d77aQuddus Chong      </a>
1881dcfa755616504fb4443f4d79d936f30c3742d77aQuddus Chong    </div>
1882dcfa755616504fb4443f4d79d936f30c3742d77aQuddus Chong    <ul>
18837bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick      <li>
1884a3f0e01f332ee0acc8450bf4564992f2ffe2f426Scott Main        <a href="<?cs var:toroot ?>training/articles/memory.html"
1885881e7299042658ea6a5d2f1fb223fd7bef94e1c9Aleks Haecky          description=
1886881e7299042658ea6a5d2f1fb223fd7bef94e1c9Aleks Haecky          "How to keep your app's memory footprint small in order to improve performance
1887881e7299042658ea6a5d2f1fb223fd7bef94e1c9Aleks Haecky          on a variety of mobile devices."
1888a3f0e01f332ee0acc8450bf4564992f2ffe2f426Scott Main          >Managing Your App's Memory</a>
1889a3f0e01f332ee0acc8450bf4564992f2ffe2f426Scott Main      </li>
1890a3f0e01f332ee0acc8450bf4564992f2ffe2f426Scott Main      <li>
18917bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick        <a href="<?cs var:toroot ?>training/articles/perf-tips.html"
18927bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick           description=
18937bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick           "How to optimize your app's performance in various ways to improve its
18947bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick           responsiveness and battery efficiency."
18957bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          >Performance Tips</a>
18967bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick      </li>
18977bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick      <li class="nav-section">
18987bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick        <div class="nav-section-header">
18997bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          <a href="<?cs var:toroot ?>training/improving-layouts/index.html"
19007bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick             description=
19017bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick             "How to identify problems in your app's layout performance and improve the UI
19027bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick             responsiveness."
19037bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick            >Improving Layout Performance</a>
19047bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick        </div>
19057bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick        <ul>
19067bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          <li><a href="<?cs var:toroot ?>training/improving-layouts/optimizing-layout.html">
19077bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick            Optimizing Layout Hierarchies
19087bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          </a>
19097bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          </li>
19107bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          <li><a href="<?cs var:toroot ?>training/improving-layouts/reusing-layouts.html">
19117bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick            Re-using Layouts with &lt;include/&gt;
19127bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          </a>
19137bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          </li>
19147bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          <li><a href="<?cs var:toroot ?>training/improving-layouts/loading-ondemand.html">
19157bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick            Loading Views On Demand
19167bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          </a>
19177bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          </li>
19187bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          <li><a href="<?cs var:toroot ?>training/improving-layouts/smooth-scrolling.html">
19197bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick            Making ListView Scrolling Smooth
19207bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          </a>
19217bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          </li>
19227bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick        </ul>
19237bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick      </li>
192428be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez
192550e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
192622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
19275b50239c33176e0b321d2ee32a589e0583767e02Scott Main          <a href="<?cs var:toroot ?>training/monitoring-device-state/index.html"
1928b582c678c88df2848023b7f27f4bc0ab2249e1e1Dirk Dougherty             zh-cn-lang="优化电池使用时间"
192922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             ja-lang="電池消費量の最適化"
193022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             es-lang="mo optimizar la duración de la batería"
193122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
193222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to minimize the amount of power your app requires by adapting to current
193322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             power conditions and performing power-hungry tasks at proper intervals."
1934dcfa755616504fb4443f4d79d936f30c3742d77aQuddus Chong            >Optimizing Battery Life
1935dcfa755616504fb4443f4d79d936f30c3742d77aQuddus Chong            </a>
193622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
1937df6c8270e300e2d04f57e24bb2b34c33edce4a0dAlexander Lucas        <ul>
193828be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez
193928be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez          <li class="nav-section">
194028be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez            <div class="nav-section-header">
1941855738ab865d4067e885694d386459280af2dcaaDoug Kramer              <a href="<?cs var:toroot ?>training/performance/battery/network/index.html">
194228be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez                Reducing Network Battery Drain
194328be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez              </a>
194428be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez            </div>
194528be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez            <ul>
1946855738ab865d4067e885694d386459280af2dcaaDoug Kramer              <li><a href="<?cs var:toroot ?>training/performance/battery/network/gather-data.html">
194728be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez                Collecting Network Traffic Data
194828be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez              </a>
194928be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez              </li>
1950855738ab865d4067e885694d386459280af2dcaaDoug Kramer              <li><a href="<?cs var:toroot ?>training/performance/battery/network/analyze-data.html">
195128be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez                Analyzing Network Traffic Data
195228be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez              </a>
195328be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez              </li>
1954855738ab865d4067e885694d386459280af2dcaaDoug Kramer              <li><a href="<?cs var:toroot ?>training/performance/battery/network/action-user-traffic.html">
195528be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez                Optimizing User-Initiated Network Use
195628be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez              </a>
195728be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez              </li>
1958855738ab865d4067e885694d386459280af2dcaaDoug Kramer              <li><a href="<?cs var:toroot ?>training/performance/battery/network/action-app-traffic.html">
195928be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez                Optimizing App-Initiated Network Use
196028be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez              </a>
196128be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez              </li>
1962855738ab865d4067e885694d386459280af2dcaaDoug Kramer              <li><a href="<?cs var:toroot ?>training/performance/battery/network/action-server-traffic.html">
196328be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez                Optimizing Server-Initiated Network Use
196428be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez              </a>
196528be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez              </li>
1966855738ab865d4067e885694d386459280af2dcaaDoug Kramer              <li><a href="<?cs var:toroot ?>training/performance/battery/network/action-any-traffic.html">
196728be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez                Optimizing General Network Use
196828be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez              </a>
196928be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez              </li>
197028be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez            </ul>
197128be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez          </li> <!-- End of Reducing Network Battery Drain -->
197228be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez
197328be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez          <li><a href="<?cs var:toroot ?>training/monitoring-device-state/doze-standby.html"
1974c5f82010f7d958e5db1f8d06c7c8021bb946fd0cQuddus Chong            >Optimizing for Doze and App Standby</a>
1975c5f82010f7d958e5db1f8d06c7c8021bb946fd0cQuddus Chong          </li>
19765b50239c33176e0b321d2ee32a589e0583767e02Scott Main          <li><a href="<?cs var:toroot ?>training/monitoring-device-state/battery-monitoring.html"
1977b582c678c88df2848023b7f27f4bc0ab2249e1e1Dirk Dougherty            zh-cn-lang="监控电池电量和充电状态"
197822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            ja-lang="電池残量と充電状態の監視"
1979f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin            es-lang="mo controlar el nivel de batería y el estado de carga"
198022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Monitoring the Battery Level and Charging State</a>
1981df6c8270e300e2d04f57e24bb2b34c33edce4a0dAlexander Lucas          </li>
19825b50239c33176e0b321d2ee32a589e0583767e02Scott Main          <li><a href="<?cs var:toroot ?>training/monitoring-device-state/docking-monitoring.html"
1983b582c678c88df2848023b7f27f4bc0ab2249e1e1Dirk Dougherty            zh-cn-lang="确定和监控基座对接状态和类型"
198422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            ja-lang="ホルダーの装着状態とタイプの特定と監視"
1985f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin            es-lang="mo determinar y controlar el tipo de conector y el estado de la conexión"
198622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Determining and Monitoring the Docking State and Type</a>
198722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </li>
19885b50239c33176e0b321d2ee32a589e0583767e02Scott Main          <li><a href="<?cs var:toroot ?>training/monitoring-device-state/connectivity-monitoring.html"
1989b582c678c88df2848023b7f27f4bc0ab2249e1e1Dirk Dougherty            zh-cn-lang="确定和监控网络连接状态"
199022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            ja-lang="接続状態の特定と監視"
1991f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin            es-lang="mo determinar y controlar el estado de la conectividad"
199222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Determining and Monitoring the Connectivity Status</a>
199322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </li>
19945b50239c33176e0b321d2ee32a589e0583767e02Scott Main          <li><a href="<?cs var:toroot ?>training/monitoring-device-state/manifest-receivers.html"
1995b582c678c88df2848023b7f27f4bc0ab2249e1e1Dirk Dougherty            zh-cn-lang="根据需要操作广播接收器"
199622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            ja-lang="オンデマンドでのブロードキャスト レシーバ操作"
1997f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin            es-lang="mo manipular los receptores de emisión bajo demanda"
199822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Manipulating Broadcast Receivers On Demand</a>
1999df6c8270e300e2d04f57e24bb2b34c33edce4a0dAlexander Lucas          </li>
2000df6c8270e300e2d04f57e24bb2b34c33edce4a0dAlexander Lucas        </ul>
2001df6c8270e300e2d04f57e24bb2b34c33edce4a0dAlexander Lucas      </li>
20028dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin      <li class="nav-section">
20038dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin        <div class="nav-section-header">
20048dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          <a href="<?cs var:toroot ?>training/multiple-threads/index.html"
20058dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin             description=
20068dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin             "How to improve the performance and scalability of long-running operations by
20078dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin              dispatching work to multiple threads.">
20088dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin             Sending Operations to Multiple Threads</a>
20098dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin        </div>
20108dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin        <ul>
20118dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          <li><a href="<?cs var:toroot ?>training/multiple-threads/define-runnable.html">
20128dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin            Specifying the Code to Run on a Thread
20138dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          </a>
20148dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          </li>
20158dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          <li><a href="<?cs var:toroot ?>training/multiple-threads/create-threadpool.html">
20168dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin            Creating a Manager for Multiple Threads
20178dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          </a>
20188dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          </li>
20198dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          <li><a href="<?cs var:toroot ?>training/multiple-threads/run-code.html">
20208dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin            Running Code on a Thread Pool Thread
20218dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          </a>
20228dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          </li>
20238dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          <li><a href="<?cs var:toroot ?>training/multiple-threads/communicate-ui.html">
20248dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin            Communicating with the UI Thread
20258dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          </a>
20268dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          </li>
2027df6c8270e300e2d04f57e24bb2b34c33edce4a0dAlexander Lucas        </ul>
2028df6c8270e300e2d04f57e24bb2b34c33edce4a0dAlexander Lucas      </li>
202922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <li>
203033e499ea364e4e061964bc8fe16365fd632eb39dScott Main        <a href="<?cs var:toroot ?>training/articles/perf-anr.html"
203122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main           description=
203222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main           "How to keep your app responsive to user interaction so the UI does not lock-up and
203322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main           display an &quot;Application Not Responding&quot; dialog."
203422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          >Keeping Your App Responsive</a>
203522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      </li>
203622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <li>
203733e499ea364e4e061964bc8fe16365fd632eb39dScott Main        <a href="<?cs var:toroot ?>training/articles/perf-jni.html"
203822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main           description=
203922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main           "How to efficiently use the Java Native Interface with the Android NDK."
204022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          >JNI Tips</a>
204122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      </li>
2042d5894210930fc0a8bc3733258747d837e2960fa9Dirk Dougherty      <li>
2043d5894210930fc0a8bc3733258747d837e2960fa9Dirk Dougherty        <a href="<?cs var:toroot ?>training/articles/smp.html"
2044d5894210930fc0a8bc3733258747d837e2960fa9Dirk Dougherty           description=
2045d5894210930fc0a8bc3733258747d837e2960fa9Dirk Dougherty           "Tips for coding Android apps on symmetric multiprocessor systems."
2046d5894210930fc0a8bc3733258747d837e2960fa9Dirk Dougherty          >SMP Primer for Android</a>
2047d5894210930fc0a8bc3733258747d837e2960fa9Dirk Dougherty      </li>
204822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </ul>
204922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  </li> <!-- end of Performance -->
20503ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
205122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <li class="nav-section">
205222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <div class="nav-section-header">
205322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <a href="<?cs var:toroot ?>training/best-security.html">
205422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <span class="small">Best Practices for</span><br/>
205522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main              Security &amp; Privacy
205622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      </a>
205722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </div>
205822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <ul>
205922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <li>
206033e499ea364e4e061964bc8fe16365fd632eb39dScott Main        <a href="<?cs var:toroot ?>training/articles/security-tips.html"
206122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main           description=
206222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main           "How to perform various tasks and keep your app's data and your user's data secure."
206322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          >Security Tips</a>
206422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      </li>
206500158363b47d916d159d2f3a0e1152783fd66a9cScott Main
206600158363b47d916d159d2f3a0e1152783fd66a9cScott Main      <li>
206700158363b47d916d159d2f3a0e1152783fd66a9cScott Main        <a href="<?cs var:toroot ?>training/articles/security-ssl.html"
206800158363b47d916d159d2f3a0e1152783fd66a9cScott Main           description=
206900158363b47d916d159d2f3a0e1152783fd66a9cScott Main           "How to ensure that your app is secure when performing network transactions."
207000158363b47d916d159d2f3a0e1152783fd66a9cScott Main          >Security with HTTPS and SSL</a>
207100158363b47d916d159d2f3a0e1152783fd66a9cScott Main      </li>
20723ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
2073897cf908c9f1e5f5a2c0b4a3ec72636e64b94eb4Andrew Solovay      <li>
2074897cf908c9f1e5f5a2c0b4a3ec72636e64b94eb4Andrew Solovay        <a href="<?cs var:toroot ?>training/articles/security-gms-provider.html"
2075897cf908c9f1e5f5a2c0b4a3ec72636e64b94eb4Andrew Solovay           description=
2076897cf908c9f1e5f5a2c0b4a3ec72636e64b94eb4Andrew Solovay           "How to use and update Google Play services security provider, to
2077897cf908c9f1e5f5a2c0b4a3ec72636e64b94eb4Andrew Solovay           protect against SSL exploits."
2078897cf908c9f1e5f5a2c0b4a3ec72636e64b94eb4Andrew Solovay          >Updating Your Security Provider to Protect Against SSL Exploits</a>
2079897cf908c9f1e5f5a2c0b4a3ec72636e64b94eb4Andrew Solovay      </li>
2080897cf908c9f1e5f5a2c0b4a3ec72636e64b94eb4Andrew Solovay
20816b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez      <li>
20826b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez        <a href="<?cs var:toroot ?>training/safetynet/index.html"
20836b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez           description=
20846b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez           "How to use the SafetyNet service to analyze a device where your app is running
20856b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez            and get information about its compatibility with your app."
20866b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez          >Checking Device Compatibility with SafetyNet</a>
20876b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez      </li>
20886b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez
20896b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez      <li>
2090e1277eb819b9eee3612e2cedba55d7cfb5e9c5e7Billy Lamberta        <a href="<?cs var:toroot ?>work/device-management-policy.html"
20916b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez            description="How to create an application that enforces security policies on devices."
20926b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez            >Enhancing Security with Device Management Policies</a>
2093e577d72a3be20e589437271f0e5ca474fab38124Roman Nurik      </li>
209422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </ul>
209522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  </li>
209622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <!-- End security and user info -->
20974c4a47f42101a57ab8ff05a8e035d97582c3368aScott Main
20982ef3952d8e62b71baca176b3e17315a37facd34aquddusc  <li class="nav-section">
20992ef3952d8e62b71baca176b3e17315a37facd34aquddusc    <div class="nav-section-header">
21006404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty      <a href="<?cs var:toroot ?>training/best-permissions-ids.html">
21016404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty      <span class="small">Best Practices for</span><br/>
21026404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty              Permissions &amp; Identifiers
21036404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty      </a>
21046404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty    </div>
21056404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty    <ul>
21066404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty      <li>
21076404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty        <a href="<?cs var:toroot ?>training/articles/user-data-overview.html"
21086404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty           description=
21096404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty           "Overview of app permissions on Android and how they affect your users."
21101fea1ec8292a70df958c7f42595bf3f75cdef9c6Dirk Dougherty          >Permissions and User Data</a>
21116404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty      </li>
21126404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty      <li>
21136404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty        <a href="<?cs var:toroot ?>training/articles/user-data-permissions.html"
21146404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty           description=
21156404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty           "How to manage permissions the right way for users."
21166404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty          >Best Practices for App Permissions</a>
21176404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty      </li>
21186404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty      <li>
21196404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty        <a href="<?cs var:toroot ?>training/articles/user-data-ids.html"
21206404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty           description=
21216404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty           "Unique identifiers available and how to choose the right one for your use case."
21226404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty          >Best Practices for Unique Identifiers</a>
21236404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty      </li>
21246404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty    </ul>
21256404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty  </li>
21266404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty  <!-- End Permissions and identifiers -->
21276404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty
21286404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty  <li class="nav-section">
21296404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty    <div class="nav-section-header">
2130e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong      <a href="<?cs var:toroot ?>training/testing/index.html">
21312ef3952d8e62b71baca176b3e17315a37facd34aquddusc      <span class="small">Best Practices for</span><br/>
21322ef3952d8e62b71baca176b3e17315a37facd34aquddusc              Testing
21332ef3952d8e62b71baca176b3e17315a37facd34aquddusc      </a>
21342ef3952d8e62b71baca176b3e17315a37facd34aquddusc    </div>
21352ef3952d8e62b71baca176b3e17315a37facd34aquddusc    <ul>
2136e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong      <li>
2137e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong      <a href="<?cs var:toroot ?>training/testing/start/index.html"
2138e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong         description="How to get started with testing your Android applications.">
2139e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong            Getting Started with Testing
2140e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong          </a>
2141e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong      </li>
21422ef3952d8e62b71baca176b3e17315a37facd34aquddusc      <li class="nav-section">
2143e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong      <div class="nav-section-header"><a href="<?cs var:toroot ?>training/testing/unit-testing/index.html"
2144e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong         description="How to build effective unit tests for Android apps.">
2145e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong            Building Effective Unit Tests
21462ef3952d8e62b71baca176b3e17315a37facd34aquddusc          </a></div>
21472ef3952d8e62b71baca176b3e17315a37facd34aquddusc        <ul>
2148e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong          <li><a href="<?cs var:toroot ?>training/testing/unit-testing/local-unit-tests.html">
2149e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong            <span class="en">Building Local Unit Tests</span>
2150e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong            </a>
21512ef3952d8e62b71baca176b3e17315a37facd34aquddusc          </li>
2152e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong          <li><a href="<?cs var:toroot ?>training/testing/unit-testing/instrumented-unit-tests.html">
2153e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong            <span class="en">Building Instrumented Unit Tests</span>
2154e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong            </a>
21552ef3952d8e62b71baca176b3e17315a37facd34aquddusc          </li>
21562ef3952d8e62b71baca176b3e17315a37facd34aquddusc        </ul>
21572ef3952d8e62b71baca176b3e17315a37facd34aquddusc      </li>
21587639e730c8b951f892f08ba98906e08b79b174b7Quddus Chong      <li class="nav-section">
21597639e730c8b951f892f08ba98906e08b79b174b7Quddus Chong      <div class="nav-section-header"><a href="<?cs var:toroot ?>training/testing/ui-testing/index.html"
21607639e730c8b951f892f08ba98906e08b79b174b7Quddus Chong         description="How to automate your user interface tests for Android apps.">
21617639e730c8b951f892f08ba98906e08b79b174b7Quddus Chong            Automating UI Tests
21627639e730c8b951f892f08ba98906e08b79b174b7Quddus Chong          </a></div>
21637639e730c8b951f892f08ba98906e08b79b174b7Quddus Chong        <ul>
21647639e730c8b951f892f08ba98906e08b79b174b7Quddus Chong          <li><a href="<?cs var:toroot ?>training/testing/ui-testing/espresso-testing.html">
21657639e730c8b951f892f08ba98906e08b79b174b7Quddus Chong            <span class="en">Testing UI for a Single App</span>
21667639e730c8b951f892f08ba98906e08b79b174b7Quddus Chong          </a>
21677639e730c8b951f892f08ba98906e08b79b174b7Quddus Chong          </li>
21687639e730c8b951f892f08ba98906e08b79b174b7Quddus Chong          <li><a href="<?cs var:toroot ?>training/testing/ui-testing/uiautomator-testing.html">
21697639e730c8b951f892f08ba98906e08b79b174b7Quddus Chong            <span class="en">Testing UI for Multiple Apps</span>
21707639e730c8b951f892f08ba98906e08b79b174b7Quddus Chong          </a>
21717639e730c8b951f892f08ba98906e08b79b174b7Quddus Chong          </li>
21727639e730c8b951f892f08ba98906e08b79b174b7Quddus Chong        </ul>
21737639e730c8b951f892f08ba98906e08b79b174b7Quddus Chong      </li>
21744bc762a919ead1ad02d4ee065a95e4ecf8a4e657Quddus Chong      <li class="nav-section">
2175e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong      <div class="nav-section-header"><a href="<?cs var:toroot ?>training/testing/integration-testing/index.html"
2176e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong         description="How to build effective integration tests for Android apps.">
2177e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong            Testing App Component Integrations
21784bc762a919ead1ad02d4ee065a95e4ecf8a4e657Quddus Chong          </a></div>
21794bc762a919ead1ad02d4ee065a95e4ecf8a4e657Quddus Chong        <ul>
2180e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong         <li><a href="<?cs var:toroot ?>training/testing/integration-testing/service-testing.html">
2181e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong           <span class="en">Testing Your Service</span></a></li>
2182e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong         <li><a href="<?cs var:toroot ?>training/testing/integration-testing/content-provider-testing.html">
2183e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong           <span class="en">Testing Your Content Provider</span></a></li>
21844bc762a919ead1ad02d4ee065a95e4ecf8a4e657Quddus Chong        </ul>
21854bc762a919ead1ad02d4ee065a95e4ecf8a4e657Quddus Chong      </li>
2186566b54126c5132a2e8442675051becab09a31543Quddus Chong      <li><a href="<?cs var:toroot ?>training/testing/performance.html"
2187e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong          description="How to automate UI performance testing.">Testing Display Performance</a>
2188d61e5537e08f4257e87e2841c58e4fb939c7782dQuddus Chong      </li>
2189d61e5537e08f4257e87e2841c58e4fb939c7782dQuddus Chong    </ul>
21902ef3952d8e62b71baca176b3e17315a37facd34aquddusc  </li>
21912ef3952d8e62b71baca176b3e17315a37facd34aquddusc  <!-- End best Testing -->
219250e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main
219322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <li class="nav-section">
219422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <div class="nav-section-header">
219522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <a href="<?cs var:toroot ?>training/distribute.html">
219622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <span class="small">Using Google Play to</span><br/>
219722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main              Distribute &amp; Monetize
219822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      </a>
219922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </div>
220022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <ul>
2201768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong      <li class="nav-section">
2202768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong      <div class="nav-section-header"><a href="<?cs var:toroot ?>training/in-app-billing/index.html"
2203768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong         description="How to sell in-app products from your application using In-app Billing.">
2204768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong            Selling In-app Products
2205768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          </a></div>
2206768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong        <ul>
2207768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          <li><a href="<?cs var:toroot ?>training/in-app-billing/preparing-iab-app.html">
2208768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong            <span class="en">Preparing Your App</span>
2209768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          </a>
2210768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          </li>
2211768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          <li><a href="<?cs var:toroot ?>training/in-app-billing/list-iab-products.html">
2212768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong            <span class="en">Establishing Products for Sale</span>
2213768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          </a>
2214768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          </li>
2215768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          <li><a href="<?cs var:toroot ?>training/in-app-billing/purchase-iab-products.html">
2216768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong            <span class="en">Purchasing Products</span>
2217768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          </a>
2218768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          </li>
2219768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          <li><a href="<?cs var:toroot ?>training/in-app-billing/test-iab-app.html">
2220768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong            <span class="en">Testing Your App</span>
2221768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          </a>
2222768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          </li>
2223768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong        </ul>
2224768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong      </li>
22253ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
2226969c243f17a785dbe697e2cbe09c320136f0d82aAlexander Lucas      <li class="nav-section">
222722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
222822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/multiple-apks/index.html"
222922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
223022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to publish your app on Google Play with separate APKs that target
223122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             different devices, while using a single app listing."
223222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Maintaining Multiple APKs</a>
223322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
2234969c243f17a785dbe697e2cbe09c320136f0d82aAlexander Lucas        <ul>
223522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/multiple-apks/api.html">
223622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Creating Multiple APKs for Different API Levels
2237969c243f17a785dbe697e2cbe09c320136f0d82aAlexander Lucas          </a>
2238969c243f17a785dbe697e2cbe09c320136f0d82aAlexander Lucas          </li>
223922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/multiple-apks/screensize.html">
224022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Creating Multiple APKs for Different Screen Sizes
2241969c243f17a785dbe697e2cbe09c320136f0d82aAlexander Lucas          </a>
2242969c243f17a785dbe697e2cbe09c320136f0d82aAlexander Lucas          </li>
224322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/multiple-apks/texture.html">
224422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Creating Multiple APKs for Different GL Textures
224522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </a>
224622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </li>
224722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/multiple-apks/multiple.html">
224822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Creating Multiple APKs with 2+ Dimensions
2249969c243f17a785dbe697e2cbe09c320136f0d82aAlexander Lucas          </a>
2250969c243f17a785dbe697e2cbe09c320136f0d82aAlexander Lucas          </li>
2251969c243f17a785dbe697e2cbe09c320136f0d82aAlexander Lucas        </ul>
2252969c243f17a785dbe697e2cbe09c320136f0d82aAlexander Lucas      </li>
225322558d0be8210aee1a2ab64b374bb357d4123acdDirk Dougherty    </ul>
225422558d0be8210aee1a2ab64b374bb357d4123acdDirk Dougherty  </li>
225522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <!-- End best Publishing -->
225622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main
225750e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main</ul><!-- nav -->
225822558d0be8210aee1a2ab64b374bb357d4123acdDirk Dougherty<script type="text/javascript">
225922558d0be8210aee1a2ab64b374bb357d4123acdDirk Dougherty<!--
226022558d0be8210aee1a2ab64b374bb357d4123acdDirk Dougherty    buildToggleLists();
226122558d0be8210aee1a2ab64b374bb357d4123acdDirk Dougherty    changeNavLang(getLangPref());
226222558d0be8210aee1a2ab64b374bb357d4123acdDirk Dougherty//-->
226379cb98c6ced6aaf1ea102e4b927cfb0b99bbf67bAndrew Solovay</script>
2264