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>
65250e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
65371baac13580dd6f16bf5308eb1571bcb014676fckmccormick        <li><a href="<?cs var:toroot ?>training/cloudsave/conflict-res.html"
65471baac13580dd6f16bf5308eb1571bcb014676fckmccormick           description=
65571baac13580dd6f16bf5308eb1571bcb014676fckmccormick           "How to design a robust conflict resolution strategy for apps that save data to the cloud."
65671baac13580dd6f16bf5308eb1571bcb014676fckmccormick           >Resolving Cloud Save Conflicts
65771baac13580dd6f16bf5308eb1571bcb014676fckmccormick          </a>
6582e1c7b7495f2317ba30ae809b4964fdafcf504ceJoe Malin        </li>
6597736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main      </li>
660e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin      <li class="nav-section">
661e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin        <div class="nav-section-header">
662e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin          <a href="<?cs var:toroot ?>training/sync-adapters/index.html"
663e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin             description="How to transfer data between the cloud and the device using the Android
664e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin             sync adapter framework"
665e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin             >Transferring Data Using Sync Adapters</a>
666e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin        </div>
667e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin        <ul>
668e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin            <li>
669e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                <a href="<?cs var:toroot ?>training/sync-adapters/creating-authenticator.html">
670e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                Creating a Stub Authenticator
671e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                </a>
672e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin            </li>
673e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin            <li>
674e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                <a href="<?cs var:toroot ?>training/sync-adapters/creating-stub-provider.html">
675e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                Creating a Stub Content Provider
676e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                </a>
677e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin            </li>
678e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin            <li>
679e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                <a href="<?cs var:toroot ?>training/sync-adapters/creating-sync-adapter.html">
680e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                Creating a Sync Adapter
681e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                </a>
682e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin            </li>
683e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin            <li>
684e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                <a href="<?cs var:toroot ?>training/sync-adapters/running-sync-adapter.html">
685e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                Running a Sync Adapter
686e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                </a>
687e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin            </li>
688e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin        </ul>
689e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin      </li>
6901a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick      <li class="nav-section">
6911a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick        <div class="nav-section-header">
6921a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick          <a href="<?cs var:toroot ?>training/volley/index.html"
6931a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick             description="How to perform fast, scalable UI operations over the network using Volley"
6941a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick             >Transmitting Network Data Using Volley</a>
6951a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick        </div>
6961a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick        <ul>
6971a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick            <li>
6981a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick                <a href="<?cs var:toroot ?>training/volley/simple.html">
6991a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick                Sending a Simple Request
7001a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick                </a>
7011a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick            </li>
7021a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick            <li>
7031a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick                <a href="<?cs var:toroot ?>training/volley/requestqueue.html">
7041a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick                Setting Up a RequestQueue
7051a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick                </a>
7061a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick            </li>
7071a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick            <li>
7081a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick                <a href="<?cs var:toroot ?>training/volley/request.html">
7091a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick                Making a Standard Request
7101a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick                </a>
7111a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick            </li>
7121a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick            <li>
7131a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick                <a href="<?cs var:toroot ?>training/volley/request-custom.html">
7141a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick                Implementing a Custom Request
7151a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick                </a>
7161a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick            </li>
7171a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick        </ul>
7181a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick      </li>
71922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </ul>
72022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  </li>
72122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <!-- End connectivity and cloud -->
7223ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
7233ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
7246b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez  <li class="nav-section">
7256b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez    <div class="nav-section-header">
7266b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez      <a href="<?cs var:toroot ?>training/building-location.html">
7276b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez      <span class="small">Building Apps with</span><br/>
7286b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez              Location &amp; Maps
7296b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez      </a>
7306b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez    </div>
7316b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez    <ul>
7326b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez      <li class="nav-section">
7336b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez        <div class="nav-section-header">
7346b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez          <a href="<?cs var:toroot ?>training/location/index.html"
7356b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez             description="How to add location-aware features to your app by getting the user's current location.">
7366b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez             Making Your App Location-Aware
7376b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez          </a>
7386b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez        </div>
7396b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez        <ul>
7406b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez          <li>
7416b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez            <a href="<?cs var:toroot ?>training/location/retrieve-current.html">
7426b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez            Getting the Last Known Location
7436b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez            </a>
7446b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez          </li>
7456b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez          <li>
746825261e0168413bd94c0308470b1566868f42872William French            <a href="<?cs var:toroot ?>training/location/change-location-settings.html">
747825261e0168413bd94c0308470b1566868f42872William French            Changing Location Settings
748825261e0168413bd94c0308470b1566868f42872William French            </a>
749825261e0168413bd94c0308470b1566868f42872William French          </li>
750825261e0168413bd94c0308470b1566868f42872William French          <li>
7516b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez            <a href="<?cs var:toroot ?>training/location/receive-location-updates.html">
7526b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez            Receiving Location Updates
7536b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez            </a>
7546b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez          </li>
7556b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez          <li>
7566b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez            <a href="<?cs var:toroot ?>training/location/display-address.html">
7576b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez            Displaying a Location Address
7586b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez          </a>
7596b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez          </li>
7606b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez          <li><a href="<?cs var:toroot ?>training/location/geofencing.html">
7616b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez            Creating and Monitoring Geofences
7626b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez          </a>
7636b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez          </li>
7646b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez        </ul>
7656b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez      </li>
7666b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez      <li class="nav-section">
7676b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez        <a href="<?cs var:toroot ?>training/maps/index.html"
7686b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez           description="How to add maps and mapping information to your app.">
7696b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez           Adding Maps
7706b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez        </a>
7716b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez      </li>
7726b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez    </ul>
7736b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez  </li>
7746b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez  <!-- End location and maps -->
7756b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez
776580f0146535e7daed83aef721f505270f7b040e1Scott Main
77722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <li class="nav-section">
77822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <div class="nav-section-header">
77922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <a href="<?cs var:toroot ?>training/building-userinfo.html">
78022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <span class="small">Building Apps with</span><br/>
78173ff05fb391b8ef60f502814b5ee7ee369c2d4dbDavid Friedman              User Info &amp; Sign-In
78222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      </a>
78322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </div>
78422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <ul>
785421435d2bede2788b74b07b1bab893fef98047c5Joe Malin      <li class="nav-section">
786421435d2bede2788b74b07b1bab893fef98047c5Joe Malin        <div class="nav-section-header">
787421435d2bede2788b74b07b1bab893fef98047c5Joe Malin          <a href="<?cs var:toroot ?>training/contacts-provider/index.html"
788421435d2bede2788b74b07b1bab893fef98047c5Joe Malin             description=
789421435d2bede2788b74b07b1bab893fef98047c5Joe Malin             "How to use Android's central address book, the Contacts Provider, to
790421435d2bede2788b74b07b1bab893fef98047c5Joe Malin             display contacts and their details and modify contact information.">
791421435d2bede2788b74b07b1bab893fef98047c5Joe Malin          Accessing Contacts Data</a>
792421435d2bede2788b74b07b1bab893fef98047c5Joe Malin        </div>
793421435d2bede2788b74b07b1bab893fef98047c5Joe Malin        <ul>
794421435d2bede2788b74b07b1bab893fef98047c5Joe Malin          <li>
795421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                <a href="<?cs var:toroot ?>training/contacts-provider/retrieve-names.html">
796421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                Retrieving a List of Contacts
797421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                </a>
798421435d2bede2788b74b07b1bab893fef98047c5Joe Malin          </li>
799421435d2bede2788b74b07b1bab893fef98047c5Joe Malin          <li>
800421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                <a href="<?cs var:toroot ?>training/contacts-provider/retrieve-details.html">
801421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                Retrieving Details for a Contact
802421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                </a>
803421435d2bede2788b74b07b1bab893fef98047c5Joe Malin          </li>
804421435d2bede2788b74b07b1bab893fef98047c5Joe Malin          <li>
805421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                <a href="<?cs var:toroot ?>training/contacts-provider/modify-data.html">
806421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                Modifying Contacts Using Intents
807421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                </a>
808421435d2bede2788b74b07b1bab893fef98047c5Joe Malin          </li>
809421435d2bede2788b74b07b1bab893fef98047c5Joe Malin          <li>
810421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                <a href="<?cs var:toroot ?>training/contacts-provider/display-contact-badge.html">
811421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                Displaying the Quick Contact Badge
812421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                </a>
8132956f2fd2ce7eba5abac30fa1c0a2c514edcc787Scott Main          </li>
8142956f2fd2ce7eba5abac30fa1c0a2c514edcc787Scott Main        </ul>
8152956f2fd2ce7eba5abac30fa1c0a2c514edcc787Scott Main      </li>
81650e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
8176b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez        <a href="<?cs var:toroot ?>training/sign-in/index.html"
8186b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez           description="How to add user sign-in functionality to your app.">
8196b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez           Adding Sign-In
8206b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez        </a>
8217736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main      </li>
82222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </ul>
82322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  </li>
8246b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez  <!-- End user info and sign-in -->
8253ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
8263ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
8272728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly  <li class="nav-section">
8282728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly    <div class="nav-section-header">
8292728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly      <a href="<?cs var:toroot ?>training/building-wearables.html">
8302728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly      <span class="small">Building Apps for</span><br/>
8312728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly              Wearables
8322728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly      </a>
8332728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly    </div>
8342728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly    <ul>
8352728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly      <li class="nav-section">
8362728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly        <div class="nav-section-header">
8372728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <a href="<?cs var:toroot ?>training/wearables/notifications/index.html"
8382728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly             description="How to build handheld notifications that are synced to
8392728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly             and look great on wearables."
8402728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            >Adding Wearable Features to Notifications</a>
8412728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly        </div>
8422728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly        <ul>
8432728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <li>
8442728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            <a href="<?cs var:toroot ?>training/wearables/notifications/creating.html">Creating a Notification</a>
8452728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          </li>
8462728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <li>
8472728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            <a href="<?cs var:toroot ?>training/wearables/notifications/voice-input.html">Receiving Voice Input in a Notification</a>
8482728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          </li>
8492728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <li>
8502728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            <a href="<?cs var:toroot ?>training/wearables/notifications/pages.html">Adding Pages to a Notification</a>
8512728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          </li>
8522728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <li>
8532728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            <a href="<?cs var:toroot ?>training/wearables/notifications/stacks.html">Stacking Notifications</a>
8542728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          </li>
8552728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly        </ul>
8562728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly      </li>
8572728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly
8582728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly      <li class="nav-section">
8592728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly        <div class="nav-section-header">
8602728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <a href="<?cs var:toroot ?>training/wearables/apps/index.html"
8612728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly             description="How to build apps that run directly on wearables."
8622728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            >Creating Wearable Apps</a>
8632728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly        </div>
8642728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly        <ul>
8652728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <li>
8662728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            <a href="<?cs var:toroot ?>training/wearables/apps/creating.html">Creating and Running a Wearable App</a>
8672728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          </li>
8682728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <li>
8692728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            <a href="<?cs var:toroot ?>training/wearables/apps/layouts.html">Creating Custom Layouts</a>
8702728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          </li>
8712728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <li>
8728f8e87be3cbd30496b8ec66c6e8aee83d1cfdc56Luan Nguyen            <a href="<?cs var:toroot ?>training/wearables/apps/always-on.html">Keeping Your App Visible</a>
8738f8e87be3cbd30496b8ec66c6e8aee83d1cfdc56Luan Nguyen          </li>
8748f8e87be3cbd30496b8ec66c6e8aee83d1cfdc56Luan Nguyen          <li>
8752728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            <a href="<?cs var:toroot ?>training/wearables/apps/voice.html">Adding Voice Capabilities</a>
8762728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          </li>
8772728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <li>
8782728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            <a href="<?cs var:toroot ?>training/wearables/apps/packaging.html">Packaging Wearable Apps</a>
8792728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          </li>
8802728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <li>
8812728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            <a href="<?cs var:toroot ?>training/wearables/apps/bt-debugging.html">Debugging over Bluetooth</a>
8822728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          </li>
8832728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly        </ul>
8842728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly      </li>
8852728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly
8862728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly      <li class="nav-section">
8872728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly        <div class="nav-section-header">
888bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera          <a href="<?cs var:toroot ?>training/wearables/ui/index.html"
889bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera             description="How to create custom user interfaces for wearable apps."
890bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera            >Creating Custom UIs</a>
891bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera        </div>
892bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera        <ul>
893bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera          <li>
894bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera            <a href="<?cs var:toroot ?>training/wearables/ui/layouts.html">Defining Layouts</a>
895bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera          </li>
896bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera          <li>
897bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera            <a href="<?cs var:toroot ?>training/wearables/ui/cards.html">Creating Cards</a>
898bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera          </li>
899bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera          <li>
900bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera            <a href="<?cs var:toroot ?>training/wearables/ui/lists.html">Creating Lists</a>
901bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera          </li>
902bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera          <li>
903bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera            <a href="<?cs var:toroot ?>training/wearables/ui/2d-picker.html">Creating a 2D Picker</a>
904bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera          </li>
905bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera          <li>
906bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera            <a href="<?cs var:toroot ?>training/wearables/ui/confirm.html">Showing Confirmations</a>
907bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera          </li>
908bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera          <li>
909bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera            <a href="<?cs var:toroot ?>training/wearables/ui/exit.html">Exiting Full-Screen Activities</a>
910bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera          </li>
911bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera        </ul>
912bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera      </li>
913bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera
914bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera      <li class="nav-section">
915bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera        <div class="nav-section-header">
9162728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <a href="<?cs var:toroot ?>training/wearables/data-layer/index.html"
9172728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly             description="How to sync data between handhelds and wearables."
9182728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            >Sending and Syncing Data</a>
9192728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly        </div>
9202728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly        <ul>
9212728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <li>
9222728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            <a href="<?cs var:toroot ?>training/wearables/data-layer/accessing.html">Accessing the Wearable Data Layer</a>
9232728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          </li>
9242728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <li>
9252728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            <a href="<?cs var:toroot ?>training/wearables/data-layer/data-items.html">Syncing Data Items</a>
9262728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          </li>
9272728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <li>
9282728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            <a href="<?cs var:toroot ?>training/wearables/data-layer/assets.html">Transferring Assets</a>
9292728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          </li>
9302728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <li>
9312728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            <a href="<?cs var:toroot ?>training/wearables/data-layer/messages.html">Sending and Receiving Messages</a>
9322728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          </li>
9332728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <li>
9342728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            <a href="<?cs var:toroot ?>training/wearables/data-layer/events.html">Handling Data Layer Events</a>
9352728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          </li>
9362728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly        </ul>
9372728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly      </li>
9387db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera
9397db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera      <li class="nav-section">
9407db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera        <div class="nav-section-header">
9417db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera          <a href="<?cs var:toroot ?>training/wearables/watch-faces/index.html"
942ad69082b501dc9d885e8cd612e65a04cb47575deRicardo Cervera             description="How to create watch faces for wearables."
943ad69082b501dc9d885e8cd612e65a04cb47575deRicardo Cervera            >Creating Watch Faces</a>
9447db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera        </div>
9457db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera        <ul>
9467db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera          <li>
9477db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera            <a href="<?cs var:toroot ?>training/wearables/watch-faces/designing.html">Designing Watch Faces</a>
9487db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera          </li>
9497db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera          <li>
9507db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera            <a href="<?cs var:toroot ?>training/wearables/watch-faces/service.html">Building a Watch Face Service</a>
9517db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera          </li>
9527db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera          <li>
9537db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera            <a href="<?cs var:toroot ?>training/wearables/watch-faces/drawing.html">Drawing Watch Faces</a>
9547db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera          </li>
9557db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera          <li>
9567db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera            <a href="<?cs var:toroot ?>training/wearables/watch-faces/information.html">Showing Information in Watch Faces</a>
9577db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera          </li>
9587db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera          <li>
959e6705bf25d00048ee7b9cc4b6bf9699c17d53306David Friedman            <a href="<?cs var:toroot ?>training/wearables/watch-faces/interacting.html">Creating Interactive Watch Faces</a>
960e6705bf25d00048ee7b9cc4b6bf9699c17d53306David Friedman          </li>
961e6705bf25d00048ee7b9cc4b6bf9699c17d53306David Friedman          <li>
9627db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera            <a href="<?cs var:toroot ?>training/wearables/watch-faces/configuration.html">Providing Configuration Activities</a>
9637db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera          </li>
9647db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera          <li>
9657db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera            <a href="<?cs var:toroot ?>training/wearables/watch-faces/issues.html">Addressing Common Issues</a>
9667db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera          </li>
9677db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera          <li>
9687db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera            <a href="<?cs var:toroot ?>training/wearables/watch-faces/performance.html">Optimizing Performance and Battery Life</a>
9697db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera          </li>
9707db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera        </ul>
9717db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera      </li>
9727db29796849bf34f5240c05799b9c1b2270805e0Ricardo Cervera
9735aad2c9fb0e04403406411ba3e21bd3965e50df5Luan Nguyen      <li>
9745aad2c9fb0e04403406411ba3e21bd3965e50df5Luan Nguyen        <a href="<?cs var:toroot ?>training/articles/wear-location-detection.html"
9755aad2c9fb0e04403406411ba3e21bd3965e50df5Luan Nguyen           description=
9765aad2c9fb0e04403406411ba3e21bd3965e50df5Luan Nguyen           "How to detect location data on Android Wear devices."
9775aad2c9fb0e04403406411ba3e21bd3965e50df5Luan Nguyen          >Detecting Location</a>
9785aad2c9fb0e04403406411ba3e21bd3965e50df5Luan Nguyen      </li>
9799125eba0d36be4509d47fae9cdd83ce5b5d84184David Friedman
9809125eba0d36be4509d47fae9cdd83ce5b5d84184David Friedman      <li>
9819125eba0d36be4509d47fae9cdd83ce5b5d84184David Friedman        <a href="<?cs var:toroot ?>training/articles/wear-permissions.html"
9829125eba0d36be4509d47fae9cdd83ce5b5d84184David Friedman           description=
9839125eba0d36be4509d47fae9cdd83ce5b5d84184David Friedman           "How to request permissions on Android Wear devices."
9849125eba0d36be4509d47fae9cdd83ce5b5d84184David Friedman          >Requesting Permissions</a>
9859125eba0d36be4509d47fae9cdd83ce5b5d84184David Friedman      </li>
9869125eba0d36be4509d47fae9cdd83ce5b5d84184David Friedman
9879125eba0d36be4509d47fae9cdd83ce5b5d84184David Friedman      <li>
9889125eba0d36be4509d47fae9cdd83ce5b5d84184David Friedman        <a href="<?cs var:toroot ?>training/wearables/wearable-sounds.html"
9899125eba0d36be4509d47fae9cdd83ce5b5d84184David Friedman           description=
9909125eba0d36be4509d47fae9cdd83ce5b5d84184David Friedman           "How to use the speaker on Android Wear devices."
9919125eba0d36be4509d47fae9cdd83ce5b5d84184David Friedman          >Using the Speaker</a>
9929125eba0d36be4509d47fae9cdd83ce5b5d84184David Friedman      </li>
9939125eba0d36be4509d47fae9cdd83ce5b5d84184David Friedman
9942728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly    </ul>
9952728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly  </li>
9962728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly  <!-- End Building for wearables -->
99722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main
998414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera
999d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez  <!-- Start: Building for TV -->
1000d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez  <li class="nav-section">
1001d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez    <div class="nav-section-header">
1002d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez      <a href="<?cs var:toroot ?>training/tv/index.html">
1003d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez      <span class="small">Building Apps for</span><br/>
1004d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez              TV
1005d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez      </a>
1006d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez    </div>
1007d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez    <ul>
1008d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez
1009d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez      <li class="nav-section">
1010d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez        <div class="nav-section-header">
1011e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez
1012d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez          <a href="<?cs var:toroot ?>training/tv/start/index.html"
1013827cc88a338967fe778fe96bfaec80091da0f6cdDavid Friedman             ja-lang="TV アプリのビルド"
1014d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez             description="How to start building TV apps or extend your existing app to run on TV
1015d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez             devices.">
1016d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez             Building TV Apps</a>
1017d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez        </div>
1018d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez        <ul>
1019d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez          <li>
1020827cc88a338967fe778fe96bfaec80091da0f6cdDavid Friedman            <a href="<?cs var:toroot ?>training/tv/start/start.html"
1021827cc88a338967fe778fe96bfaec80091da0f6cdDavid Friedman               ja-lang="TV アプリのビルドを開始する">
1022d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez              Getting Started with TV Apps</a>
1023d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez          </li>
1024d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez          <li>
1025827cc88a338967fe778fe96bfaec80091da0f6cdDavid Friedman            <a href="<?cs var:toroot ?>training/tv/start/hardware.html"
1026827cc88a338967fe778fe96bfaec80091da0f6cdDavid Friedman               ja-lang="TV ハードウェアを処理する">
1027d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez              Handling TV Hardware</a>
1028d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez          </li>
1029d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez          <li>
1030827cc88a338967fe778fe96bfaec80091da0f6cdDavid Friedman            <a href="<?cs var:toroot ?>training/tv/start/layouts.html"
1031827cc88a338967fe778fe96bfaec80091da0f6cdDavid Friedman               ja-lang="TV 向けレイアウトをビルドする">
1032d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez              Building TV Layouts</a>
1033d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez          </li>
1034d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez          <li>
1035827cc88a338967fe778fe96bfaec80091da0f6cdDavid Friedman            <a href="<?cs var:toroot ?>training/tv/start/navigation.html"
1036827cc88a338967fe778fe96bfaec80091da0f6cdDavid Friedman               ja-lang="TV 用のナビゲーションを作成する">
1037d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez              Creating TV Navigation</a>
1038d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez          </li>
1039d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez        </ul>
1040d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez      </li>
1041d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez
1042f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez      <li class="nav-section">
1043f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez        <div class="nav-section-header">
1044f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez          <a href="<?cs var:toroot ?>training/tv/playback/index.html"
104576db15a8c9a644bdff854763a922e1e3fd525e9cJoe Fernandez             ja-lang="TV 再生アプリのビルド"
1046f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez             description="How to build apps that provide media catalogs and play content.">
1047f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez             Building TV Playback Apps</a>
1048f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez        </div>
1049f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez        <ul>
1050f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez          <li>
1051827cc88a338967fe778fe96bfaec80091da0f6cdDavid Friedman            <a href="<?cs var:toroot ?>training/tv/playback/browse.html"
1052827cc88a338967fe778fe96bfaec80091da0f6cdDavid Friedman               ja-lang="カタログ ブラウザを作成する">
1053f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez              Creating a Catalog Browser</a>
1054f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez          </li>
1055f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez          <li>
1056da0c5de5faccd7ceca419f0178a2d4a51732e3c7Scott Rowe            <a href="<?cs var:toroot ?>training/tv/playback/card.html">
1057da0c5de5faccd7ceca419f0178a2d4a51732e3c7Scott Rowe              Providing a Card View</a>
1058da0c5de5faccd7ceca419f0178a2d4a51732e3c7Scott Rowe          </li>
1059da0c5de5faccd7ceca419f0178a2d4a51732e3c7Scott Rowe          <li>
1060827cc88a338967fe778fe96bfaec80091da0f6cdDavid Friedman            <a href="<?cs var:toroot ?>training/tv/playback/details.html"
1061827cc88a338967fe778fe96bfaec80091da0f6cdDavid Friedman               ja-lang="詳細ビューをビルドする">
1062f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez              Building a Details View</a>
1063f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez          </li>
10646bd081ca8a555fd71fbe856374b8efe68ede6144Scott Rowe          <li>
1065827cc88a338967fe778fe96bfaec80091da0f6cdDavid Friedman            <a href="<?cs var:toroot ?>training/tv/playback/now-playing.html"
1066827cc88a338967fe778fe96bfaec80091da0f6cdDavid Friedman               ja-lang="再生中カードを表示する">
10676bd081ca8a555fd71fbe856374b8efe68ede6144Scott Rowe              Displaying a Now Playing Card</a>
10686bd081ca8a555fd71fbe856374b8efe68ede6144Scott Rowe          </li>
1069bfc8636dfca82470fb67720a4ac09cd5e58f2422Daniel Yu          <li>
1070eefe46cd5a57e24df0cb5cd6fd195e7dcd806581Daniel Yu            <a href="<?cs var:toroot ?>training/tv/playback/guided-step.html">
1071eefe46cd5a57e24df0cb5cd6fd195e7dcd806581Daniel Yu              Adding a Guided Step</a>
1072eefe46cd5a57e24df0cb5cd6fd195e7dcd806581Daniel Yu          </li>
1073eefe46cd5a57e24df0cb5cd6fd195e7dcd806581Daniel Yu          <li>
1074bfc8636dfca82470fb67720a4ac09cd5e58f2422Daniel Yu            <a href="<?cs var:toroot ?>training/tv/playback/options.html">
1075bfc8636dfca82470fb67720a4ac09cd5e58f2422Daniel Yu              Enabling Background Playback</a>
1076bfc8636dfca82470fb67720a4ac09cd5e58f2422Daniel Yu          </li>
1077f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez        </ul>
1078f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez      </li>
1079f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez
1080e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez      <li class="nav-section">
1081e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez        <div class="nav-section-header">
1082e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez          <a href="<?cs var:toroot ?>training/tv/discovery/index.html"
10837213656f986f5713c46ce5e86f8b8f569640275bJoe Fernandez             description="How to help users discover content from your app.">
1084e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez             Helping Users Find Content on TV</a>
1085e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez        </div>
1086e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez        <ul>
1087e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez          <li>
1088e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez            <a href="<?cs var:toroot ?>training/tv/discovery/recommendations.html">
1089e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez              Recommending TV Content</a>
1090e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez          </li>
1091e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez          <li>
1092e2b44f86b9ff32cc5fec04c10d09d639fd1f45f2Scott Rowe            <a href="<?cs var:toroot ?>training/tv/discovery/searchable.html">
1093e2b44f86b9ff32cc5fec04c10d09d639fd1f45f2Scott Rowe              Making TV Apps Searchable</a>
1094e2b44f86b9ff32cc5fec04c10d09d639fd1f45f2Scott Rowe          <li>
1095e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez            <a href="<?cs var:toroot ?>training/tv/discovery/in-app-search.html">
1096e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez              Searching within TV Apps</a>
1097e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez          </li>
1098e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez        </ul>
1099e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez      </li>
1100e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez
110115edcda56ba12ad04a286f4d07f2b6fe0b1c5e38Joe Fernandez      <li>
110215edcda56ba12ad04a286f4d07f2b6fe0b1c5e38Joe Fernandez        <a href="<?cs var:toroot ?>training/tv/games/index.html"
110315edcda56ba12ad04a286f4d07f2b6fe0b1c5e38Joe Fernandez           description="How to build games for TV.">
110415edcda56ba12ad04a286f4d07f2b6fe0b1c5e38Joe Fernandez           Building TV Games</a>
110515edcda56ba12ad04a286f4d07f2b6fe0b1c5e38Joe Fernandez      </li>
110615edcda56ba12ad04a286f4d07f2b6fe0b1c5e38Joe Fernandez
1107ab8c34ffc406b654aff6503da987790aabe0852eScott Rowe      <li class="nav-section">
1108ab8c34ffc406b654aff6503da987790aabe0852eScott Rowe        <div class="nav-section-header">
1109ab8c34ffc406b654aff6503da987790aabe0852eScott Rowe          <a href="<?cs var:toroot ?>training/tv/tif/index.html"
1110513cf16d5e12ea4f2bca88d1c26ed21ae88fc9c9Quddus Chong           description="How to build channels for TV.">
1111513cf16d5e12ea4f2bca88d1c26ed21ae88fc9c9Quddus Chong           Building TV Channels</a>
1112ab8c34ffc406b654aff6503da987790aabe0852eScott Rowe        </div>
1113ab8c34ffc406b654aff6503da987790aabe0852eScott Rowe        <ul>
1114ab8c34ffc406b654aff6503da987790aabe0852eScott Rowe          <li>
1115ab8c34ffc406b654aff6503da987790aabe0852eScott Rowe            <a href="<?cs var:toroot ?>training/tv/tif/tvinput.html">
1116ab8c34ffc406b654aff6503da987790aabe0852eScott Rowe              Developing a TV Input Service</a>
1117ab8c34ffc406b654aff6503da987790aabe0852eScott Rowe          <li>
1118ab8c34ffc406b654aff6503da987790aabe0852eScott Rowe            <a href="<?cs var:toroot ?>training/tv/tif/channel.html">
1119ab8c34ffc406b654aff6503da987790aabe0852eScott Rowe              Working with Channel Data</a>
1120ab8c34ffc406b654aff6503da987790aabe0852eScott Rowe          </li>
1121ab8c34ffc406b654aff6503da987790aabe0852eScott Rowe          <li>
1122ab8c34ffc406b654aff6503da987790aabe0852eScott Rowe            <a href="<?cs var:toroot ?>training/tv/tif/ui.html">
1123ab8c34ffc406b654aff6503da987790aabe0852eScott Rowe              Managing User Interaction</a>
1124ab8c34ffc406b654aff6503da987790aabe0852eScott Rowe          </li>
1125ab8c34ffc406b654aff6503da987790aabe0852eScott Rowe        </ul>
1126bab257453bdc0c8b7f11de88dd7a8f8fa202803fAndrew Solovay      </li>
11277515d188ddc6f5b582080b0e712ef9d003c6b85cScott Rowe
11287515d188ddc6f5b582080b0e712ef9d003c6b85cScott Rowe      <li>
11297515d188ddc6f5b582080b0e712ef9d003c6b85cScott Rowe        <a href="<?cs var:toroot ?>training/tv/publishing/checklist.html"
11307515d188ddc6f5b582080b0e712ef9d003c6b85cScott Rowe           description="An itemized list of requirements for TV apps.">
11317515d188ddc6f5b582080b0e712ef9d003c6b85cScott Rowe           TV Apps Checklist</a>
11327515d188ddc6f5b582080b0e712ef9d003c6b85cScott Rowe      </li>
1133d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez    </ul>
1134d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez  </li>
1135d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez  <!-- End: Building for TV -->
1136d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez
11377fe755e66b10244da2382c11f9244346b8184e48Andrew Solovay
1138c6aed4612827be0359d2022f6a38a0e5fce0609cQuddus Chong  <!-- Start: Building for Auto -->
1139c6aed4612827be0359d2022f6a38a0e5fce0609cQuddus Chong  <li class="nav-section">
1140c6aed4612827be0359d2022f6a38a0e5fce0609cQuddus Chong    <div class="nav-section-header">
1141c6aed4612827be0359d2022f6a38a0e5fce0609cQuddus Chong      <a href="<?cs var:toroot ?>training/auto/index.html">
1142c6aed4612827be0359d2022f6a38a0e5fce0609cQuddus Chong      <span class="small">Building Apps for</span><br/>
1143c6aed4612827be0359d2022f6a38a0e5fce0609cQuddus Chong              Auto
1144c6aed4612827be0359d2022f6a38a0e5fce0609cQuddus Chong      </a>
1145c6aed4612827be0359d2022f6a38a0e5fce0609cQuddus Chong    </div>
1146c6aed4612827be0359d2022f6a38a0e5fce0609cQuddus Chong    <ul>
1147c6aed4612827be0359d2022f6a38a0e5fce0609cQuddus Chong      <li>
1148c6aed4612827be0359d2022f6a38a0e5fce0609cQuddus Chong        <a href="<?cs var:toroot ?>training/auto/start/index.html"
1149c6aed4612827be0359d2022f6a38a0e5fce0609cQuddus Chong             description="How to start building or extending apps that work
1150c6aed4612827be0359d2022f6a38a0e5fce0609cQuddus Chong             with Auto devices.">
1151c6aed4612827be0359d2022f6a38a0e5fce0609cQuddus Chong             Getting Started with Auto</a>
1152c6aed4612827be0359d2022f6a38a0e5fce0609cQuddus Chong      </li>
11537fe755e66b10244da2382c11f9244346b8184e48Andrew Solovay      <li>
11547fe755e66b10244da2382c11f9244346b8184e48Andrew Solovay        <a href="<?cs var:toroot ?>training/auto/audio/index.html"
11557fe755e66b10244da2382c11f9244346b8184e48Andrew Solovay             description="How to extend audio apps to play content on Auto devices.">
11567fe755e66b10244da2382c11f9244346b8184e48Andrew Solovay             Playing Audio for Auto</a>
11577fe755e66b10244da2382c11f9244346b8184e48Andrew Solovay      </li>
1158a7f226b860455b26cc64f6db08f8c279be71117fAndrew Solovay      <li>
1159a7f226b860455b26cc64f6db08f8c279be71117fAndrew Solovay        <a href="<?cs var:toroot ?>training/auto/messaging/index.html"
1160a7f226b860455b26cc64f6db08f8c279be71117fAndrew Solovay             description="How to extend text messaging apps to work with Auto devices.">
1161a7f226b860455b26cc64f6db08f8c279be71117fAndrew Solovay             Messaging for Auto</a>
1162a7f226b860455b26cc64f6db08f8c279be71117fAndrew Solovay      </li>
1163eb41bc08e118f257e83640aff95f80058e40ee21sreevanis      <li>
1164eb41bc08e118f257e83640aff95f80058e40ee21sreevanis       <a href="<?cs var:toroot ?>training/auto/testing/index.html" description=
1165eb41bc08e118f257e83640aff95f80058e40ee21sreevanis       "How to run and test Auto apps.">
1166eb41bc08e118f257e83640aff95f80058e40ee21sreevanis             Testing Auto Apps</a>
1167eb41bc08e118f257e83640aff95f80058e40ee21sreevanis      </li>
1168c6aed4612827be0359d2022f6a38a0e5fce0609cQuddus Chong    </ul>
1169c6aed4612827be0359d2022f6a38a0e5fce0609cQuddus Chong  </li>
1170c6aed4612827be0359d2022f6a38a0e5fce0609cQuddus Chong  <!-- End: Building for Auto -->
1171c6aed4612827be0359d2022f6a38a0e5fce0609cQuddus Chong
117222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <li class="nav-section">
117322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <div class="nav-section-header">
117422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <a href="<?cs var:toroot ?>training/best-ux.html">
117522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <span class="small">Best Practices for</span><br/>
11768142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main              Interaction &amp; Engagement
117722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      </a>
117822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </div>
117922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <ul>
118050c2275cff28c4a216f6924584e43cd64b90a3bfJoe Malin
118150e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
118222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
118322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/design-navigation/index.html"
118422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
118522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to plan your app's screen hierarchy and forms of navigation so users can
118622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             effectively and intuitively traverse your app content using various navigation
118722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             patterns."
118822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Designing Effective Navigation</a>
118922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
11907736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main        <ul>
119122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/design-navigation/screen-planning.html">
119222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Planning Screens and Their Relationships
11937736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
11947736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
119522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/design-navigation/multiple-sizes.html">
119622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Planning for Multiple Touchscreen Sizes
11977736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
11987736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
119922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/design-navigation/descendant-lateral.html">
120022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Providing Descendant and Lateral Navigation
120122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </a>
120222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </li>
120322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/design-navigation/ancestral-temporal.html">
120422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Providing Ancestral and Temporal Navigation
120522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </a>
120622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </li>
120722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/design-navigation/wireframing.html">
120822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Putting it All Together: Wireframing the Example App
12097736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
12107736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
12117736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main        </ul>
12127736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main      </li>
121350c2275cff28c4a216f6924584e43cd64b90a3bfJoe Malin
121450e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
121522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
121622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/implementing-navigation/index.html"
121722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
12187c8405513675c47205a68c0644f6046eebefc5a3Scott Main             "How to implement various navigation patterns such as swipe views,
12197c8405513675c47205a68c0644f6046eebefc5a3Scott Main             a navigation drawer, and up navigation."
122022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Implementing Effective Navigation</a>
122122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
12227736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main        <ul>
122322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/implementing-navigation/lateral.html">
12247c8405513675c47205a68c0644f6046eebefc5a3Scott Main            Creating Swipe Views with Tabs
12257c8405513675c47205a68c0644f6046eebefc5a3Scott Main          </a>
12267c8405513675c47205a68c0644f6046eebefc5a3Scott Main          </li>
12277c8405513675c47205a68c0644f6046eebefc5a3Scott Main          <li><a href="<?cs var:toroot ?>training/implementing-navigation/nav-drawer.html">
12287c8405513675c47205a68c0644f6046eebefc5a3Scott Main            Creating a Navigation Drawer
12297736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
12307736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
123122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/implementing-navigation/ancestral.html">
12327c8405513675c47205a68c0644f6046eebefc5a3Scott Main            Providing Up Navigation
12337736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
12347736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
123522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/implementing-navigation/temporal.html">
12367c8405513675c47205a68c0644f6046eebefc5a3Scott Main            Providing Proper Back Navigation
12377736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
12387736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
123922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/implementing-navigation/descendant.html">
124022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Implementing Descendant Navigation
12417736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
12427736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
12437736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main        </ul>
12447736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main      </li>
12450aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j
12460aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j      <li class="nav-section">
12470aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          <div class="nav-section-header">
12480aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j              <a href="<?cs var:toroot ?>training/notify-user/index.html"
12490aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                 description=
1250f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin                 "How to display messages called notifications outside of
12510aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                 your application's UI."
12520aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j               >Notifying the User</a>
12530aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          </div>
12540aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          <ul>
12550aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j              <li>
12560aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  <a href="<?cs var:toroot ?>training/notify-user/build-notification.html">
12570aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  Building a Notification
12580aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  </a>
12590aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j              </li>
12600aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j              <li>
12610aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  <a href="<?cs var:toroot ?>training/notify-user/navigation.html">
12620aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  Preserving Navigation when Starting an Activity
12630aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  </a>
12640aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j              </li>
12650aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j              <li>
12660aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  <a href="<?cs var:toroot ?>training/notify-user/managing.html">
12670aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  Updating Notifications
12680aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  </a>
12690aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j              </li>
12700aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j              <li>
12710aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  <a href="<?cs var:toroot ?>training/notify-user/expanded.html">
12720aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  Using Big View Styles
12730aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  </a>
12740aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j              </li>
12750aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j              <li>
12760aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  <a href="<?cs var:toroot ?>training/notify-user/display-progress.html">
12770aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  Displaying Progress in a Notification
12780aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  </a>
12790aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j              </li>
12800aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          </ul>
12810aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j      </li>
128273ff05fb391b8ef60f502814b5ee7ee369c2d4dbDavid Friedman
128373ff05fb391b8ef60f502814b5ee7ee369c2d4dbDavid Friedman
1284f71f509af0047c154a67c136e8f57a4018663379Joe Malin      <li class="nav-section">
1285f71f509af0047c154a67c136e8f57a4018663379Joe Malin        <div class="nav-section-header">
1286f71f509af0047c154a67c136e8f57a4018663379Joe Malin            <a href="<?cs var:toroot ?>training/swipe/index.html"
1287f71f509af0047c154a67c136e8f57a4018663379Joe Malin            description=
1288f71f509af0047c154a67c136e8f57a4018663379Joe Malin            "How to modify your app's layout to support manual content updates triggered by the
1289f71f509af0047c154a67c136e8f57a4018663379Joe Malin             swipe-to-refresh gesture."
1290f71f509af0047c154a67c136e8f57a4018663379Joe Malin            >Supporting Swipe-to-Refresh</a>
1291f71f509af0047c154a67c136e8f57a4018663379Joe Malin        </div>
1292f71f509af0047c154a67c136e8f57a4018663379Joe Malin        <ul>
1293f71f509af0047c154a67c136e8f57a4018663379Joe Malin            <li>
1294f71f509af0047c154a67c136e8f57a4018663379Joe Malin                <a href="<?cs var:toroot ?>training/swipe/add-swipe-interface.html"
1295f71f509af0047c154a67c136e8f57a4018663379Joe Malin                >Adding Swipe-to-Refresh To Your App</a></li>
1296f71f509af0047c154a67c136e8f57a4018663379Joe Malin            <li>
1297f71f509af0047c154a67c136e8f57a4018663379Joe Malin                <a href="<?cs var:toroot ?>training/swipe/respond-refresh-request.html"
1298f71f509af0047c154a67c136e8f57a4018663379Joe Malin                >Responding to a Refresh Gesture</a>
1299f71f509af0047c154a67c136e8f57a4018663379Joe Malin            </li>
1300f71f509af0047c154a67c136e8f57a4018663379Joe Malin        </ul>
1301f71f509af0047c154a67c136e8f57a4018663379Joe Malin      </li>
130273ff05fb391b8ef60f502814b5ee7ee369c2d4dbDavid Friedman
130373ff05fb391b8ef60f502814b5ee7ee369c2d4dbDavid Friedman
13040aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j      <li class="nav-section">
13050aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j        <div class="nav-section-header">
13060aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          <a href="<?cs var:toroot ?>training/search/index.html"
13070aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j             description=
13080aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j             "How to properly add a search interface to your app and create a searchable database."
13090aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j            >Adding Search Functionality</a>
13100aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j        </div>
13110aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j        <ul>
13120aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          <li><a href="<?cs var:toroot ?>training/search/setup.html">
13130aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j            Setting up the Search Interface
13140aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          </a>
13150aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          </li>
13160aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          <li><a href="<?cs var:toroot ?>training/search/search.html">
13170aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j            Storing and Searching for Data
13180aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          </a>
13190aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          </li>
13200aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          <li><a href="<?cs var:toroot ?>training/search/backward-compat.html">
13210aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j            Remaining Backward Compatible
13220aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          </a>
13230aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          </li>
13240aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j        </ul>
13250aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j      </li>
13263ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
13278142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main     <li class="nav-section">
13288142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main        <div class="nav-section-header">
13298142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main          <a href="<?cs var:toroot ?>training/app-indexing/index.html"
13308142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main             description=
13318142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main             "How to enable deep linking and indexing of your application
13328142898da2e10d73617cd953a7bff85ff56dd0f5Scott Maincontent so that users can open this content directly from their mobile search
13338142898da2e10d73617cd953a7bff85ff56dd0f5Scott Mainresults."
1334240aca333e340445f977d2a0e268a7c8d3a591e0quddusc            >Making Your App Content Searchable by Google</a>
13358142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main        </div>
13368142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main        <ul>
13378142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main          <li><a href="<?cs var:toroot ?>training/app-indexing/deep-linking.html">
13388142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main            Enabling Deep Links for App Content
13398142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main          </a>
13408142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main          </li>
13418142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main          <li><a href="<?cs var:toroot ?>training/app-indexing/enabling-app-indexing.html">
134273ff05fb391b8ef60f502814b5ee7ee369c2d4dbDavid Friedman            Specifying App Content for Indexing
13438142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main          </a>
13448142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main          </li>
13458142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main        </ul>
13468142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main  </li>
13478142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main
1348059e3905bb79aa6010471f066f571c9ad2ae5fa1Dirk Dougherty      <li>
1349059e3905bb79aa6010471f066f571c9ad2ae5fa1Dirk Dougherty        <a href="<?cs var:toroot ?>training/articles/assistant.html"
1350059e3905bb79aa6010471f066f571c9ad2ae5fa1Dirk Dougherty           description=
1351059e3905bb79aa6010471f066f571c9ad2ae5fa1Dirk Dougherty           "Support contextually relevant actions through the Assist API."
1352059e3905bb79aa6010471f066f571c9ad2ae5fa1Dirk Dougherty          >Optimizing Content for the Assistant</a>
1353059e3905bb79aa6010471f066f571c9ad2ae5fa1Dirk Dougherty      </li>
135473ff05fb391b8ef60f502814b5ee7ee369c2d4dbDavid Friedman       <li class="nav-section">
135573ff05fb391b8ef60f502814b5ee7ee369c2d4dbDavid Friedman        <div class="nav-section">
135673ff05fb391b8ef60f502814b5ee7ee369c2d4dbDavid Friedman          <a href="<?cs var:toroot ?>training/app-links/index.html"
135773ff05fb391b8ef60f502814b5ee7ee369c2d4dbDavid Friedman             description=
135873ff05fb391b8ef60f502814b5ee7ee369c2d4dbDavid Friedman             "How to enable the system to handle web requests by taking the user directly
135973ff05fb391b8ef60f502814b5ee7ee369c2d4dbDavid Friedman             to your app instead of your website."
136073ff05fb391b8ef60f502814b5ee7ee369c2d4dbDavid Friedman            >Handling App Links</a>
136173ff05fb391b8ef60f502814b5ee7ee369c2d4dbDavid Friedman        </div>
136273ff05fb391b8ef60f502814b5ee7ee369c2d4dbDavid Friedman      </li>
136373ff05fb391b8ef60f502814b5ee7ee369c2d4dbDavid Friedman  <!-- End Interaction and Engagement -->
136473ff05fb391b8ef60f502814b5ee7ee369c2d4dbDavid Friedman
136573ff05fb391b8ef60f502814b5ee7ee369c2d4dbDavid Friedman</ul>
13668142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main
13678142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main  <li class="nav-section">
13688142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main    <div class="nav-section-header">
13698142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main      <a href="<?cs var:toroot ?>training/best-ui.html">
13708142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main      <span class="small">Best Practices for</span><br/>
13718142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main              User Interface
13728142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main      </a>
13738142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main    </div>
13748142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main    <ul>
13758142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main
137673ff05fb391b8ef60f502814b5ee7ee369c2d4dbDavid Friedman
137750e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
137822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
13795b50239c33176e0b321d2ee32a589e0583767e02Scott Main          <a href="<?cs var:toroot ?>training/multiscreen/index.html"
1380b582c678c88df2848023b7f27f4bc0ab2249e1e1Dirk Dougherty             zh-cn-lang="针对多种屏幕进行设计"
138122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             ja-lang="複数画面のデザイン"
138222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             es-lang="mo diseñar aplicaciones para varias pantallas"
138322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
138422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to build a user interface that's flexible enough to
138522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             fit perfectly on any screen and how to create different interaction
138622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             patterns that are optimized for different screen sizes."
138722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Designing for Multiple Screens</a>
138822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
138938e09c3ddb7da47a23bf4221ab678e058c7e923aRoman Nurik        <ul>
13905b50239c33176e0b321d2ee32a589e0583767e02Scott Main          <li><a href="<?cs var:toroot ?>training/multiscreen/screensizes.html"
1391b582c678c88df2848023b7f27f4bc0ab2249e1e1Dirk Dougherty            zh-cn-lang="支持各种屏幕尺寸"
139222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            ko-lang="다양한 화면 크기 지원"
139322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            ja-lang="さまざまな画面サイズのサポート"
1394f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin            es-lang="Cómo admitir varios tamaños de pantalla"
139522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Supporting Different Screen Sizes</a>
139638e09c3ddb7da47a23bf4221ab678e058c7e923aRoman Nurik          </li>
13975b50239c33176e0b321d2ee32a589e0583767e02Scott Main          <li><a href="<?cs var:toroot ?>training/multiscreen/screendensities.html"
1398b582c678c88df2848023b7f27f4bc0ab2249e1e1Dirk Dougherty            zh-cn-lang="支持各种屏幕密度"
139922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            ja-lang="さまざまな画面密度のサポート"
1400f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin            es-lang="Cómo admitir varias densidades de pantalla"
140122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Supporting Different Screen Densities</a>
140238e09c3ddb7da47a23bf4221ab678e058c7e923aRoman Nurik          </li>
14035b50239c33176e0b321d2ee32a589e0583767e02Scott Main          <li><a href="<?cs var:toroot ?>training/multiscreen/adaptui.html"
1404b582c678c88df2848023b7f27f4bc0ab2249e1e1Dirk Dougherty            zh-cn-lang="实施自适应用户界面流程"
140522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            ja-lang="順応性のある UI フローの実装"
1406f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin            es-lang="Cómo implementar interfaces de usuario adaptables"
140722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Implementing Adaptive UI Flows</a>
140838e09c3ddb7da47a23bf4221ab678e058c7e923aRoman Nurik          </li>
140938e09c3ddb7da47a23bf4221ab678e058c7e923aRoman Nurik        </ul>
141038e09c3ddb7da47a23bf4221ab678e058c7e923aRoman Nurik      </li>
141138e09c3ddb7da47a23bf4221ab678e058c7e923aRoman Nurik
141250e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
141322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
14143d1032abae253369fb235f4d4a755bbf212c6be3Andrew Solovay          <a href="<?cs var:toroot ?>training/appbar/index.html"
14153d1032abae253369fb235f4d4a755bbf212c6be3Andrew Solovay             description=
14163d1032abae253369fb235f4d4a755bbf212c6be3Andrew Solovay             "How to use the support library's toolbar widget to implement an
14173d1032abae253369fb235f4d4a755bbf212c6be3Andrew Solovay             app bar that displays properly on a wide range of devices."
14183d1032abae253369fb235f4d4a755bbf212c6be3Andrew Solovay            >Adding the App Bar</a>
14193d1032abae253369fb235f4d4a755bbf212c6be3Andrew Solovay        </div>
14203d1032abae253369fb235f4d4a755bbf212c6be3Andrew Solovay        <ul>
14213d1032abae253369fb235f4d4a755bbf212c6be3Andrew Solovay          <li><a href="<?cs var:toroot ?>training/appbar/setting-up.html"
14223d1032abae253369fb235f4d4a755bbf212c6be3Andrew Solovay            >Setting Up the App Bar</a>
14233d1032abae253369fb235f4d4a755bbf212c6be3Andrew Solovay          </li>
14243d1032abae253369fb235f4d4a755bbf212c6be3Andrew Solovay          <li><a href="<?cs var:toroot ?>training/appbar/actions.html"
14253d1032abae253369fb235f4d4a755bbf212c6be3Andrew Solovay            >Adding and Handling Actions</a>
14263d1032abae253369fb235f4d4a755bbf212c6be3Andrew Solovay          </li>
14273d1032abae253369fb235f4d4a755bbf212c6be3Andrew Solovay          <li><a href="<?cs var:toroot ?>training/appbar/up-action.html"
14283d1032abae253369fb235f4d4a755bbf212c6be3Andrew Solovay            >Adding an Up Action</a>
14293d1032abae253369fb235f4d4a755bbf212c6be3Andrew Solovay          </li>
143022c024657d2c97cbc8aed7cead25acdf6649aeedAndrew Solovay          <li><a href="<?cs var:toroot ?>training/appbar/action-views.html"
143122c024657d2c97cbc8aed7cead25acdf6649aeedAndrew Solovay            >Action Views and Action Providers</a>
143222c024657d2c97cbc8aed7cead25acdf6649aeedAndrew Solovay          </li>
14333d1032abae253369fb235f4d4a755bbf212c6be3Andrew Solovay        </ul>
14343d1032abae253369fb235f4d4a755bbf212c6be3Andrew Solovay      </li>
14353d1032abae253369fb235f4d4a755bbf212c6be3Andrew Solovay
14369f48b563fbadf67185fd63ab6e591521fc9182c8Andrew Solovay            <li class="nav-section">
14379f48b563fbadf67185fd63ab6e591521fc9182c8Andrew Solovay        <div class="nav-section-header">
14389f48b563fbadf67185fd63ab6e591521fc9182c8Andrew Solovay          <a href="<?cs var:toroot ?>training/snackbar/index.html"
14399f48b563fbadf67185fd63ab6e591521fc9182c8Andrew Solovay             description=
14409f48b563fbadf67185fd63ab6e591521fc9182c8Andrew Solovay             "How to use the support library's Snackbar widget to display a
14419f48b563fbadf67185fd63ab6e591521fc9182c8Andrew Solovay             brief pop-up message."
14429f48b563fbadf67185fd63ab6e591521fc9182c8Andrew Solovay            >Showing Pop-Up Messages</a>
14439f48b563fbadf67185fd63ab6e591521fc9182c8Andrew Solovay        </div>
14449f48b563fbadf67185fd63ab6e591521fc9182c8Andrew Solovay        <ul>
14459f48b563fbadf67185fd63ab6e591521fc9182c8Andrew Solovay          <li><a href="<?cs var:toroot ?>training/snackbar/showing.html"
14469f48b563fbadf67185fd63ab6e591521fc9182c8Andrew Solovay            >Building and Displaying a Pop-Up Message</a>
14479f48b563fbadf67185fd63ab6e591521fc9182c8Andrew Solovay          </li>
14489f48b563fbadf67185fd63ab6e591521fc9182c8Andrew Solovay          <li><a href="<?cs var:toroot ?>training/snackbar/action.html"
14499f48b563fbadf67185fd63ab6e591521fc9182c8Andrew Solovay            >Adding an Action to a Message</a>
14509f48b563fbadf67185fd63ab6e591521fc9182c8Andrew Solovay          </li>
14519f48b563fbadf67185fd63ab6e591521fc9182c8Andrew Solovay        </ul>
14529f48b563fbadf67185fd63ab6e591521fc9182c8Andrew Solovay      </li>
14539f48b563fbadf67185fd63ab6e591521fc9182c8Andrew Solovay
14543d1032abae253369fb235f4d4a755bbf212c6be3Andrew Solovay      <li class="nav-section">
14553d1032abae253369fb235f4d4a755bbf212c6be3Andrew Solovay        <div class="nav-section-header">
145622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/custom-views/index.html"
145722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
145822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to build custom UI widgets that are interactive and smooth."
145922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Creating Custom Views</a>
146022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
1461580f0146535e7daed83aef721f505270f7b040e1Scott Main        <ul>
146222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/custom-views/create-view.html">
146322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Creating a Custom View Class
1464580f0146535e7daed83aef721f505270f7b040e1Scott Main          </a>
1465580f0146535e7daed83aef721f505270f7b040e1Scott Main          </li>
146622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/custom-views/custom-drawing.html">
146722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Implementing Custom Drawing
1468580f0146535e7daed83aef721f505270f7b040e1Scott Main          </a>
1469580f0146535e7daed83aef721f505270f7b040e1Scott Main          </li>
147022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/custom-views/making-interactive.html">
147122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Making the View Interactive
1472580f0146535e7daed83aef721f505270f7b040e1Scott Main          </a>
1473580f0146535e7daed83aef721f505270f7b040e1Scott Main          </li>
147422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/custom-views/optimizing-view.html">
147522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Optimizing the View
1476580f0146535e7daed83aef721f505270f7b040e1Scott Main          </a>
1477580f0146535e7daed83aef721f505270f7b040e1Scott Main          </li>
1478580f0146535e7daed83aef721f505270f7b040e1Scott Main        </ul>
147919266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik      </li>
148019266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik
148150e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
148222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
148322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/backward-compatible-ui/index.html"
148422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
148522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to use UI components and other APIs from the more recent versions of Android
148622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             while remaining compatible with older versions of the platform."
148722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Creating Backward-Compatible UIs</a>
148822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
148919266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik        <ul>
149022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/backward-compatible-ui/abstracting.html">
149122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Abstracting the New APIs
149219266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik          </a>
149319266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik          </li>
149422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/backward-compatible-ui/new-implementation.html">
149522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Proxying to the New APIs
149619266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik          </a>
149719266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik          </li>
149822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/backward-compatible-ui/older-implementation.html">
149922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Creating an Implementation with Older APIs
150019266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik          </a>
150119266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik          </li>
150222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/backward-compatible-ui/using-component.html">
150322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Using the Version-Aware Component
150419266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik          </a>
150519266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik          </li>
150619266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik        </ul>
150719266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik      </li>
15083ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
150950e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
151022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
151122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/accessibility/index.html"
151222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
151322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to make your app accessible to users with vision
151422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             impairment or other physical disabilities."
151522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Implementing Accessibility</a>
1516931ff55a905c2efb7abb7ac287fe2132aaf77627Megha Joshi        </div>
1517931ff55a905c2efb7abb7ac287fe2132aaf77627Megha Joshi        <ul>
151822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/accessibility/accessible-app.html">
151922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Developing Accessible Applications
1520931ff55a905c2efb7abb7ac287fe2132aaf77627Megha Joshi          </a>
1521931ff55a905c2efb7abb7ac287fe2132aaf77627Megha Joshi          </li>
152222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/accessibility/service.html">
152322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Developing Accessibility Services
1524931ff55a905c2efb7abb7ac287fe2132aaf77627Megha Joshi          </a>
1525931ff55a905c2efb7abb7ac287fe2132aaf77627Megha Joshi          </li>
1526e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong          <li><a href="<?cs var:toroot ?>training/accessibility/testing.html">
1527e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong            Accessibility Testing Checklist
1528e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong          </a>
1529e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong          </li>
1530931ff55a905c2efb7abb7ac287fe2132aaf77627Megha Joshi        </ul>
1531580f0146535e7daed83aef721f505270f7b040e1Scott Main      </li>
15323ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
1533cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick      <li class="nav-section">
1534cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick        <div class="nav-section-header">
1535cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick          <a href="<?cs var:toroot ?>training/system-ui/index.html"
1536cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick             description=
1537cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick             "How to hide and show status and navigation bars across different versions of Android,
1538cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick              while managing the display of other screen components."
1539cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick            >Managing the System UI</a>
1540cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick        </div>
1541cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick        <ul>
1542cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick          <li><a href="<?cs var:toroot ?>training/system-ui/dim.html">
1543cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick            Dimming the System Bars
1544cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick          </a>
1545cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick          </li>
1546cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick          <li><a href="<?cs var:toroot ?>training/system-ui/status.html">
1547cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick            Hiding the Status Bar
1548cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick          </a>
1549cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick          </li>
1550cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick          <li><a href="<?cs var:toroot ?>training/system-ui/navigation.html">
1551cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick            Hiding the Navigation Bar
1552cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick          </a>
1553cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick          </li>
15545b50239c33176e0b321d2ee32a589e0583767e02Scott Main          <li><a href="<?cs var:toroot ?>training/system-ui/immersive.html">
1555467f5db87950601fb5e0936aca9a1cebe28d350bKatie McCormick            Using Immersive Full-Screen Mode
1556467f5db87950601fb5e0936aca9a1cebe28d350bKatie McCormick          </a>
1557467f5db87950601fb5e0936aca9a1cebe28d350bKatie McCormick          </li>
1558cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick          <li><a href="<?cs var:toroot ?>training/system-ui/visibility.html">
1559cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick            Responding to UI Visibility Changes
1560cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick          </a>
1561414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          </li>
1562414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera        </ul>
1563414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera      </li>
1564414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera
1565414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera      <li class="nav-section">
1566414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera        <div class="nav-section-header">
1567414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          <a href="<?cs var:toroot ?>training/material/index.html"
1568414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera             description=
1569414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera             "How to implement material design on Android."
1570dee655c406cbb71518ccdbfd7b79b6ecc2cefbfeDavid Friedman            zh-cn-lang="面向开发者的材料设计"
1571dee655c406cbb71518ccdbfd7b79b6ecc2cefbfeDavid Friedman            zh-tw-lang="開發人員材料設計"
1572dee655c406cbb71518ccdbfd7b79b6ecc2cefbfeDavid Friedman            ja-lang="マテリアル デザインでのアプリ作成"
1573dee655c406cbb71518ccdbfd7b79b6ecc2cefbfeDavid Friedman            es-lang="Crear aplicaciones con Material Design"
1574dee655c406cbb71518ccdbfd7b79b6ecc2cefbfeDavid Friedman            pt-br-lang="Material Design para desenvolvedores"
1575dee655c406cbb71518ccdbfd7b79b6ecc2cefbfeDavid Friedman            ko-lang="개발자를 위한 머티리얼 디자인"
1576dee655c406cbb71518ccdbfd7b79b6ecc2cefbfeDavid Friedman            ru-lang="Создание приложений с помощью Material Design"
1577dee655c406cbb71518ccdbfd7b79b6ecc2cefbfeDavid Friedman            in-lang="Desain Bahan untuk Pengembang"
1578dee655c406cbb71518ccdbfd7b79b6ecc2cefbfeDavid Friedman            vi-lang="Material Design cho Nhà phát triển"
1579414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera            >Creating Apps with Material Design</a>
1580414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera        </div>
1581414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera        <ul>
1582ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman          <li><a href="<?cs var:toroot ?>training/material/get-started.html"
1583ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            zh-cn-lang="入门指南"
1584ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            zh-tw-lang="開始使用"
1585ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            ja-lang="スタート ガイド"
1586ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            es-lang="Comencemos"
1587ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            pt-br-lang="Como iniciar"
1588ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            ko-lang="시작하기"
1589ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            ru-lang="Начало работы"
1590dee655c406cbb71518ccdbfd7b79b6ecc2cefbfeDavid Friedman            in-lang="Memulai"
1591dee655c406cbb71518ccdbfd7b79b6ecc2cefbfeDavid Friedman            vi-lang="Bắt đầu"
1592ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            >
1593414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera            Getting Started
1594414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          </a>
1595414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          </li>
1596ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman          <li><a href="<?cs var:toroot ?>training/material/theme.html"
1597ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            zh-cn-lang="使用材料主题"
1598ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            zh-tw-lang="使用材料設計風格"
1599ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            ja-lang="マテリアル テーマの使用"
1600ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            es-lang="Usar el tema Material"
1601ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            pt-br-lang="Como usar o tema do Material"
1602ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            ko-lang="머티어리얼 테마 사용"
1603ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            ru-lang="Использование темы Material Design"
1604dee655c406cbb71518ccdbfd7b79b6ecc2cefbfeDavid Friedman            in-lang="Menggunakan Tema Bahan"
1605dee655c406cbb71518ccdbfd7b79b6ecc2cefbfeDavid Friedman            vi-lang="Sử dụng Chủ đề Material"
1606ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            >
1607414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera            Using the Material Theme
1608414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          </a>
1609414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          </li>
1610ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman          <li><a href="<?cs var:toroot ?>training/material/lists-cards.html"
1611ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            zh-cn-lang="创建列表与卡片"
1612ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            zh-tw-lang="建立清單和卡片"
1613ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            ja-lang="リストとカードの作成"
1614ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            es-lang="Crear listas y tarjetas"
1615ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            pt-br-lang="Como criar listas e cartões"
1616ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            ko-lang="목록 및 카드 생성"
1617ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            ru-lang="Создание списков и подсказок"
1618dee655c406cbb71518ccdbfd7b79b6ecc2cefbfeDavid Friedman            in-lang="Membuat Daftar dan Kartu"
1619dee655c406cbb71518ccdbfd7b79b6ecc2cefbfeDavid Friedman            vi-lang="Tạo Danh sách và Thẻ"
1620ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            >
1621414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera            Creating Lists and Cards
1622414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          </a>
1623414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          </li>
1624ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman          <li><a href="<?cs var:toroot ?>training/material/shadows-clipping.html"
1625ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            zh-cn-lang="定义阴影与裁剪视图"
1626ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            zh-tw-lang="定義陰影和裁剪檢視"
1627ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            ja-lang="シャドウとクリッピング ビューの定義"
1628ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            es-lang="Definir vistas de recorte y sombras"
1629ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            pt-br-lang="Como definir sombras e recortar visualizações"
1630ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            ko-lang="그림자 정의 및 뷰 클리핑"
1631ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            ru-lang="Определение теней и обрезка представлений"
1632dee655c406cbb71518ccdbfd7b79b6ecc2cefbfeDavid Friedman            in-lang="Mendefinisikan Bayangan dan Memangkas Tampilan"
1633dee655c406cbb71518ccdbfd7b79b6ecc2cefbfeDavid Friedman            vi-lang="Định nghĩa Đổ bóng và Dạng xem Cắt hình"
1634ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            >
1635414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera            Defining Shadows and Clipping Views
1636414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          </a>
1637414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          </li>
1638ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman          <li><a href="<?cs var:toroot ?>training/material/drawables.html"
1639ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            zh-cn-lang="使用 Drawables"
1640ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            zh-tw-lang="使用可繪項目"
1641ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            ja-lang="ドローアブルの使用"
1642ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            es-lang="Trabajar con interfaces dibujables"
1643ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            pt-br-lang="Como trabalhar com desenháveis"
1644ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            ko-lang="Drawable 사용"
1645ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            ru-lang="Работа с элементами дизайна"
1646dee655c406cbb71518ccdbfd7b79b6ecc2cefbfeDavid Friedman            in-lang="Bekerja dengan Drawable"
1647dee655c406cbb71518ccdbfd7b79b6ecc2cefbfeDavid Friedman            vi-lang="Làm việc với Nội dung vẽ được"
1648ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            >
1649414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera            Working with Drawables
1650414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          </a>
1651414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          </li>
1652ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman          <li><a href="<?cs var:toroot ?>training/material/animations.html"
1653ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            zh-cn-lang="定义定制动画"
1654ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            zh-tw-lang="定義自訂動畫"
1655ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            ja-lang="カスタム アニメーションの定義"
1656ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            es-lang="Definir animaciones personalizadas"
1657ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            pt-br-lang="Como definir animações personalizadas"
1658ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            ko-lang="사용자지정 애니메이션 정의"
1659ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            ru-lang="Определение настраиваемой анимации"
1660dee655c406cbb71518ccdbfd7b79b6ecc2cefbfeDavid Friedman            in-lang="Mendefinisikan Animasi Custom"
1661dee655c406cbb71518ccdbfd7b79b6ecc2cefbfeDavid Friedman            vi-lang="Định nghĩa Hoạt hình Tùy chỉnh"
1662ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            >
1663414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera            Defining Custom Animations
1664414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          </a>
1665414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          </li>
1666ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman          <li><a href="<?cs var:toroot ?>training/material/compatibility.html"
1667ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            zh-cn-lang="维护兼容性"
1668ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            zh-tw-lang="維持相容性"
1669ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            ja-lang="互換性の維持"
1670ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            es-lang="Mantener la compatibilidad"
1671ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            pt-br-lang="Como manter a compatibilidade"
1672ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            ko-lang="호환성 유지"
1673ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            ru-lang="Обеспечение совместимости"
1674dee655c406cbb71518ccdbfd7b79b6ecc2cefbfeDavid Friedman            in-lang="Mempertahankan Kompatibilitas"
1675dee655c406cbb71518ccdbfd7b79b6ecc2cefbfeDavid Friedman            vi-lang="Duy trì Tính tương thích"
1676ec787018c2452a66b29c8496bec90edc0979f56aDavid Friedman            >
1677414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera            Maintaining Compatibility
1678414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          </a>
1679cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick          </li>
1680cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick        </ul>
1681cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick      </li>
1682cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick
168322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </ul>
168422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  </li>
16858142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main  <!-- End User Interface -->
16868142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main
16878142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main
16883ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
1689c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main
1690518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j  <li class="nav-section">
1691518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j    <div class="nav-section-header">
1692c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main      <a href="<?cs var:toroot ?>training/best-user-input.html">
1693518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j      <span class="small">Best Practices for</span><br/>
1694518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j              User Input
1695518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j      </a>
1696518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j    </div>
1697518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j    <ul>
16983ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
1699518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j      <li class="nav-section">
1700518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j        <div class="nav-section-header">
1701518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          <a href="<?cs var:toroot ?>training/gestures/index.html"
1702518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j             description=
1703518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j             "How to write apps that allow users to interact with the touch screen via touch gestures."
1704518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j            >Using Touch Gestures</a>
1705518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j        </div>
1706518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j        <ul>
1707518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          <li><a href="<?cs var:toroot ?>training/gestures/detector.html">
1708518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j            Detecting Common Gestures
1709518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </a>
1710518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </li>
1711518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          <li><a href="<?cs var:toroot ?>training/gestures/movement.html">
1712518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j            Tracking Movement
1713518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </a>
1714518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </li>
1715518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          <li><a href="<?cs var:toroot ?>training/gestures/scroll.html">
1716518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j            Animating a Scroll Gesture
1717518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </a>
1718518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </li>
1719518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          <li><a href="<?cs var:toroot ?>training/gestures/multi.html">
1720518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j            Handling Multi-Touch Gestures
1721518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </a>
1722518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </li>
1723518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          <li><a href="<?cs var:toroot ?>training/gestures/scale.html">
1724518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j            Dragging and Scaling
1725518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </a>
1726518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </li>
1727518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          <li><a href="<?cs var:toroot ?>training/gestures/viewgroup.html">
1728518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j            Managing Touch Events in a ViewGroup
1729518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </a>
1730518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </li>
1731518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j        </ul>
1732c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main      </li>
17333ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
1734c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main      <li class="nav-section">
1735c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main        <div class="nav-section-header">
1736c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          <a href="<?cs var:toroot ?>training/keyboard-input/index.html"
1737c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main             description=
1738c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main             "How to specify the appearance and behaviors of soft input methods (such
1739c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main             as on-screen keyboards) and how to optimize the experience with
1740c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main             hardware keyboards."
1741c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main            >Handling Keyboard Input</a>
1742c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main        </div>
1743c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main        <ul>
1744c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          <li><a href="<?cs var:toroot ?>training/keyboard-input/style.html">
1745c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main            Specifying the Input Method Type
1746c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          </a>
1747c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          </li>
1748c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          <li><a href="<?cs var:toroot ?>training/keyboard-input/visibility.html">
1749c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main            Handling Input Method Visibility
1750c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          </a>
1751c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          </li>
1752c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          <li><a href="<?cs var:toroot ?>training/keyboard-input/navigation.html">
1753c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main            Supporting Keyboard Navigation
1754c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          </a>
1755c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          </li>
1756c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          <li><a href="<?cs var:toroot ?>training/keyboard-input/commands.html">
1757c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main            Handling Keyboard Actions
1758c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          </a>
1759c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          </li>
1760c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main        </ul>
1761c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main      </li>
17621dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc
17631dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc      <li class="nav-section">
17641dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc        <div class="nav-section-header">
17651dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc          <a href="<?cs var:toroot ?>training/game-controllers/index.html"
17661dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc             description=
17671dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc             "How to write apps that support game controllers."
17681dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc            >Supporting Game Controllers</a>
17691dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc        </div>
17701dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc        <ul>
17711dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc          <li><a href="<?cs var:toroot ?>training/game-controllers/controller-input.html">
17721dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc            Handling Controller Actions
17731dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc          </a>
17741dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc          </li>
17751dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc          <li><a href="<?cs var:toroot ?>training/game-controllers/compatibility.html">
17761dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc            Supporting Controllers Across Android Versions
17771dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc          </a>
17781dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc          </li>
17791dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc          <li><a href="<?cs var:toroot ?>training/game-controllers/multiple-controllers.html">
17801dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc            Supporting Multiple Game Controllers
17811dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc          </a>
17821dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc          </li>
17831dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc        </ul>
17841dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc      </li>
1785c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main    </ul>
1786421435d2bede2788b74b07b1bab893fef98047c5Joe Malin  </li> <!-- end of User Input -->
178750c2275cff28c4a216f6924584e43cd64b90a3bfJoe Malin
178822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <li class="nav-section">
178922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <div class="nav-section-header">
17907bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick      <a href="<?cs var:toroot ?>training/best-background.html">
179122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <span class="small">Best Practices for</span><br/>
17927bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick              Background Jobs
179322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      </a>
179422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </div>
179522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <ul>
17963ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
1797f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin      <li class="nav-section">
1798f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin        <div class="nav-section-header">
1799f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin          <a href="<?cs var:toroot ?>training/run-background-service/index.html"
1800f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin             description=
1801f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin             "How to improve UI performance and responsiveness by sending work to a
18028ac78803f59fd4fbe9e2682632791bc255d38aceScott Main             Service running in the background"
18038ac78803f59fd4fbe9e2682632791bc255d38aceScott Main            >Running in a Background Service</a>
1804f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin        </div>
1805f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin        <ul>
1806f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin          <li><a href="<?cs var:toroot ?>training/run-background-service/create-service.html">
1807f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin            Creating a Background Service
1808f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin          </a>
1809f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin          </li>
1810f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin          <li><a href="<?cs var:toroot ?>training/run-background-service/send-request.html">
1811f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin            Sending Work Requests to the Background Service
1812f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin          </a>
1813f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin          </li>
1814f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin          <li><a href="<?cs var:toroot ?>training/run-background-service/report-status.html">
1815f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin            Reporting Work Status
1816f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin          </a>
1817f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin          </li>
1818f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin        </ul>
1819f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin      </li>
18208ac78803f59fd4fbe9e2682632791bc255d38aceScott Main
18218ac78803f59fd4fbe9e2682632791bc255d38aceScott Main      <li class="nav-section">
18228ac78803f59fd4fbe9e2682632791bc255d38aceScott Main        <div class="nav-section-header">
18238ac78803f59fd4fbe9e2682632791bc255d38aceScott Main          <a href="<?cs var:toroot ?>training/load-data-background/index.html"
18248ac78803f59fd4fbe9e2682632791bc255d38aceScott Main             description="How to use CursorLoader to query data without
18258ac78803f59fd4fbe9e2682632791bc255d38aceScott Main             affecting UI responsiveness."
18268ac78803f59fd4fbe9e2682632791bc255d38aceScott Main            >Loading Data in the Background</a>
18278ac78803f59fd4fbe9e2682632791bc255d38aceScott Main        </div>
18288ac78803f59fd4fbe9e2682632791bc255d38aceScott Main        <ul>
18298ac78803f59fd4fbe9e2682632791bc255d38aceScott Main          <li><a href="<?cs var:toroot ?>training/load-data-background/setup-loader.html">
18308ac78803f59fd4fbe9e2682632791bc255d38aceScott Main            Running a Query with a CursorLoader</a>
18318ac78803f59fd4fbe9e2682632791bc255d38aceScott Main          </li>
18328ac78803f59fd4fbe9e2682632791bc255d38aceScott Main          <li><a href="<?cs var:toroot ?>training/load-data-background/handle-results.html">
18338ac78803f59fd4fbe9e2682632791bc255d38aceScott Main            Handling the Results</a>
18348ac78803f59fd4fbe9e2682632791bc255d38aceScott Main          </li>
18358ac78803f59fd4fbe9e2682632791bc255d38aceScott Main        </ul>
18368ac78803f59fd4fbe9e2682632791bc255d38aceScott Main      </li>
18373ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
18387bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick       <li class="nav-section">
18397bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick        <div class="nav-section-header">
18407bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          <a href="<?cs var:toroot ?>training/scheduling/index.html"
18417bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick             description="How to use repeating alarms and wake locks
18427bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick             to run background jobs."
18437bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick            >Managing Device Awake State</a>
18447bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick        </div>
18457bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick        <ul>
18467bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          <li><a href="<?cs var:toroot ?>training/scheduling/wakelock.html">
18477bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick            Keeping the Device Awake</a>
18487bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          </li>
18497bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          <li><a href="<?cs var:toroot ?>training/scheduling/alarms.html">
18507bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick            Scheduling Repeating Alarms</a>
18517bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          </li>
18527bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick        </ul>
18537bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick      </li>
18547bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick    </ul>
18557bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick  </li> <!-- end of Background Jobs -->
18567bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick
1857dcfa755616504fb4443f4d79d936f30c3742d77aQuddus Chong  <li class="nav-section">
1858dcfa755616504fb4443f4d79d936f30c3742d77aQuddus Chong    <div class="nav-section-header">
1859dcfa755616504fb4443f4d79d936f30c3742d77aQuddus Chong      <a href="<?cs var:toroot ?>training/best-performance.html">
1860dcfa755616504fb4443f4d79d936f30c3742d77aQuddus Chong      <span class="small">Best Practices for</span><br/>
1861dcfa755616504fb4443f4d79d936f30c3742d77aQuddus Chong              Performance
1862dcfa755616504fb4443f4d79d936f30c3742d77aQuddus Chong      </a>
1863dcfa755616504fb4443f4d79d936f30c3742d77aQuddus Chong    </div>
1864dcfa755616504fb4443f4d79d936f30c3742d77aQuddus Chong    <ul>
18657bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick      <li>
1866a3f0e01f332ee0acc8450bf4564992f2ffe2f426Scott Main        <a href="<?cs var:toroot ?>training/articles/memory.html"
1867881e7299042658ea6a5d2f1fb223fd7bef94e1c9Aleks Haecky          description=
1868881e7299042658ea6a5d2f1fb223fd7bef94e1c9Aleks Haecky          "How to keep your app's memory footprint small in order to improve performance
1869881e7299042658ea6a5d2f1fb223fd7bef94e1c9Aleks Haecky          on a variety of mobile devices."
1870a3f0e01f332ee0acc8450bf4564992f2ffe2f426Scott Main          >Managing Your App's Memory</a>
1871a3f0e01f332ee0acc8450bf4564992f2ffe2f426Scott Main      </li>
1872adff7b54478a5f774165a161547cd09caeec9e2fEric Schmidt      <li>
1873adff7b54478a5f774165a161547cd09caeec9e2fEric Schmidt        <a href="<?cs var:toroot ?>training/articles/memory-overview.html"
1874adff7b54478a5f774165a161547cd09caeec9e2fEric Schmidt          description=
1875adff7b54478a5f774165a161547cd09caeec9e2fEric Schmidt          "How Android manages app process and memory allocation."
1876adff7b54478a5f774165a161547cd09caeec9e2fEric Schmidt          >Overview of Android Memory Management</a>
1877adff7b54478a5f774165a161547cd09caeec9e2fEric Schmidt      </li>
1878a3f0e01f332ee0acc8450bf4564992f2ffe2f426Scott Main      <li>
18797bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick        <a href="<?cs var:toroot ?>training/articles/perf-tips.html"
18807bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick           description=
18817bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick           "How to optimize your app's performance in various ways to improve its
18827bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick           responsiveness and battery efficiency."
18837bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          >Performance Tips</a>
18847bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick      </li>
18857bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick      <li class="nav-section">
18867bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick        <div class="nav-section-header">
18877bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          <a href="<?cs var:toroot ?>training/improving-layouts/index.html"
18887bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick             description=
18897bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick             "How to identify problems in your app's layout performance and improve the UI
18907bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick             responsiveness."
18917bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick            >Improving Layout Performance</a>
18927bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick        </div>
18937bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick        <ul>
18947bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          <li><a href="<?cs var:toroot ?>training/improving-layouts/optimizing-layout.html">
18957bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick            Optimizing Layout Hierarchies
18967bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          </a>
18977bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          </li>
18987bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          <li><a href="<?cs var:toroot ?>training/improving-layouts/reusing-layouts.html">
18997bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick            Re-using Layouts with &lt;include/&gt;
19007bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          </a>
19017bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          </li>
19027bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          <li><a href="<?cs var:toroot ?>training/improving-layouts/loading-ondemand.html">
19037bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick            Loading Views On Demand
19047bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          </a>
19057bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          </li>
19067bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          <li><a href="<?cs var:toroot ?>training/improving-layouts/smooth-scrolling.html">
19077bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick            Making ListView Scrolling Smooth
19087bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          </a>
19097bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          </li>
19107bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick        </ul>
19117bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick      </li>
191228be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez
191350e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
191422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
19155b50239c33176e0b321d2ee32a589e0583767e02Scott Main          <a href="<?cs var:toroot ?>training/monitoring-device-state/index.html"
1916b582c678c88df2848023b7f27f4bc0ab2249e1e1Dirk Dougherty             zh-cn-lang="优化电池使用时间"
191722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             ja-lang="電池消費量の最適化"
191822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             es-lang="mo optimizar la duración de la batería"
191922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
192022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to minimize the amount of power your app requires by adapting to current
192122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             power conditions and performing power-hungry tasks at proper intervals."
1922dcfa755616504fb4443f4d79d936f30c3742d77aQuddus Chong            >Optimizing Battery Life
1923dcfa755616504fb4443f4d79d936f30c3742d77aQuddus Chong            </a>
192422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
1925df6c8270e300e2d04f57e24bb2b34c33edce4a0dAlexander Lucas        <ul>
192628be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez
192728be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez          <li class="nav-section">
192828be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez            <div class="nav-section-header">
1929855738ab865d4067e885694d386459280af2dcaaDoug Kramer              <a href="<?cs var:toroot ?>training/performance/battery/network/index.html">
193028be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez                Reducing Network Battery Drain
193128be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez              </a>
193228be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez            </div>
193328be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez            <ul>
1934855738ab865d4067e885694d386459280af2dcaaDoug Kramer              <li><a href="<?cs var:toroot ?>training/performance/battery/network/gather-data.html">
193528be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez                Collecting Network Traffic Data
193628be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez              </a>
193728be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez              </li>
1938855738ab865d4067e885694d386459280af2dcaaDoug Kramer              <li><a href="<?cs var:toroot ?>training/performance/battery/network/analyze-data.html">
193928be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez                Analyzing Network Traffic Data
194028be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez              </a>
194128be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez              </li>
1942855738ab865d4067e885694d386459280af2dcaaDoug Kramer              <li><a href="<?cs var:toroot ?>training/performance/battery/network/action-user-traffic.html">
194328be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez                Optimizing User-Initiated Network Use
194428be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez              </a>
194528be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez              </li>
1946855738ab865d4067e885694d386459280af2dcaaDoug Kramer              <li><a href="<?cs var:toroot ?>training/performance/battery/network/action-app-traffic.html">
194728be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez                Optimizing App-Initiated Network Use
194828be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez              </a>
194928be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez              </li>
1950855738ab865d4067e885694d386459280af2dcaaDoug Kramer              <li><a href="<?cs var:toroot ?>training/performance/battery/network/action-server-traffic.html">
195128be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez                Optimizing Server-Initiated Network Use
195228be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez              </a>
195328be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez              </li>
1954855738ab865d4067e885694d386459280af2dcaaDoug Kramer              <li><a href="<?cs var:toroot ?>training/performance/battery/network/action-any-traffic.html">
195528be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez                Optimizing General Network Use
195628be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez              </a>
195728be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez              </li>
195828be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez            </ul>
195928be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez          </li> <!-- End of Reducing Network Battery Drain -->
196028be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez
196128be3259d924cbf9c6577c46e4da3006ca433ee2Joe Fernandez          <li><a href="<?cs var:toroot ?>training/monitoring-device-state/doze-standby.html"
1962c5f82010f7d958e5db1f8d06c7c8021bb946fd0cQuddus Chong            >Optimizing for Doze and App Standby</a>
1963c5f82010f7d958e5db1f8d06c7c8021bb946fd0cQuddus Chong          </li>
19645b50239c33176e0b321d2ee32a589e0583767e02Scott Main          <li><a href="<?cs var:toroot ?>training/monitoring-device-state/battery-monitoring.html"
1965b582c678c88df2848023b7f27f4bc0ab2249e1e1Dirk Dougherty            zh-cn-lang="监控电池电量和充电状态"
196622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            ja-lang="電池残量と充電状態の監視"
1967f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin            es-lang="mo controlar el nivel de batería y el estado de carga"
196822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Monitoring the Battery Level and Charging State</a>
1969df6c8270e300e2d04f57e24bb2b34c33edce4a0dAlexander Lucas          </li>
19705b50239c33176e0b321d2ee32a589e0583767e02Scott Main          <li><a href="<?cs var:toroot ?>training/monitoring-device-state/docking-monitoring.html"
1971b582c678c88df2848023b7f27f4bc0ab2249e1e1Dirk Dougherty            zh-cn-lang="确定和监控基座对接状态和类型"
197222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            ja-lang="ホルダーの装着状態とタイプの特定と監視"
1973f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin            es-lang="mo determinar y controlar el tipo de conector y el estado de la conexión"
197422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Determining and Monitoring the Docking State and Type</a>
197522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </li>
19765b50239c33176e0b321d2ee32a589e0583767e02Scott Main          <li><a href="<?cs var:toroot ?>training/monitoring-device-state/connectivity-monitoring.html"
1977b582c678c88df2848023b7f27f4bc0ab2249e1e1Dirk Dougherty            zh-cn-lang="确定和监控网络连接状态"
197822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            ja-lang="接続状態の特定と監視"
1979f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin            es-lang="mo determinar y controlar el estado de la conectividad"
198022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Determining and Monitoring the Connectivity Status</a>
198122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </li>
19825b50239c33176e0b321d2ee32a589e0583767e02Scott Main          <li><a href="<?cs var:toroot ?>training/monitoring-device-state/manifest-receivers.html"
1983b582c678c88df2848023b7f27f4bc0ab2249e1e1Dirk Dougherty            zh-cn-lang="根据需要操作广播接收器"
198422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            ja-lang="オンデマンドでのブロードキャスト レシーバ操作"
1985f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin            es-lang="mo manipular los receptores de emisión bajo demanda"
198622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Manipulating Broadcast Receivers On Demand</a>
1987df6c8270e300e2d04f57e24bb2b34c33edce4a0dAlexander Lucas          </li>
1988df6c8270e300e2d04f57e24bb2b34c33edce4a0dAlexander Lucas        </ul>
1989df6c8270e300e2d04f57e24bb2b34c33edce4a0dAlexander Lucas      </li>
19908dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin      <li class="nav-section">
19918dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin        <div class="nav-section-header">
19928dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          <a href="<?cs var:toroot ?>training/multiple-threads/index.html"
19938dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin             description=
19948dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin             "How to improve the performance and scalability of long-running operations by
19958dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin              dispatching work to multiple threads.">
19968dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin             Sending Operations to Multiple Threads</a>
19978dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin        </div>
19988dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin        <ul>
19998dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          <li><a href="<?cs var:toroot ?>training/multiple-threads/define-runnable.html">
20008dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin            Specifying the Code to Run on a Thread
20018dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          </a>
20028dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          </li>
20038dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          <li><a href="<?cs var:toroot ?>training/multiple-threads/create-threadpool.html">
20048dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin            Creating a Manager for Multiple Threads
20058dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          </a>
20068dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          </li>
20078dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          <li><a href="<?cs var:toroot ?>training/multiple-threads/run-code.html">
20088dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin            Running Code on a Thread Pool Thread
20098dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          </a>
20108dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          </li>
20118dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          <li><a href="<?cs var:toroot ?>training/multiple-threads/communicate-ui.html">
20128dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin            Communicating with the UI Thread
20138dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          </a>
20148dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          </li>
2015df6c8270e300e2d04f57e24bb2b34c33edce4a0dAlexander Lucas        </ul>
2016df6c8270e300e2d04f57e24bb2b34c33edce4a0dAlexander Lucas      </li>
201722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <li>
201833e499ea364e4e061964bc8fe16365fd632eb39dScott Main        <a href="<?cs var:toroot ?>training/articles/perf-anr.html"
201922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main           description=
202022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main           "How to keep your app responsive to user interaction so the UI does not lock-up and
202122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main           display an &quot;Application Not Responding&quot; dialog."
202222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          >Keeping Your App Responsive</a>
202322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      </li>
202422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <li>
202533e499ea364e4e061964bc8fe16365fd632eb39dScott Main        <a href="<?cs var:toroot ?>training/articles/perf-jni.html"
202622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main           description=
202722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main           "How to efficiently use the Java Native Interface with the Android NDK."
202822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          >JNI Tips</a>
202922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      </li>
2030d5894210930fc0a8bc3733258747d837e2960fa9Dirk Dougherty      <li>
2031d5894210930fc0a8bc3733258747d837e2960fa9Dirk Dougherty        <a href="<?cs var:toroot ?>training/articles/smp.html"
2032d5894210930fc0a8bc3733258747d837e2960fa9Dirk Dougherty           description=
2033d5894210930fc0a8bc3733258747d837e2960fa9Dirk Dougherty           "Tips for coding Android apps on symmetric multiprocessor systems."
2034d5894210930fc0a8bc3733258747d837e2960fa9Dirk Dougherty          >SMP Primer for Android</a>
2035d5894210930fc0a8bc3733258747d837e2960fa9Dirk Dougherty      </li>
203622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </ul>
203722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  </li> <!-- end of Performance -->
20383ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
203922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <li class="nav-section">
204022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <div class="nav-section-header">
204122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <a href="<?cs var:toroot ?>training/best-security.html">
204222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <span class="small">Best Practices for</span><br/>
204322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main              Security &amp; Privacy
204422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      </a>
204522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </div>
204622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <ul>
204722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <li>
204833e499ea364e4e061964bc8fe16365fd632eb39dScott Main        <a href="<?cs var:toroot ?>training/articles/security-tips.html"
204922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main           description=
205022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main           "How to perform various tasks and keep your app's data and your user's data secure."
205122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          >Security Tips</a>
205222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      </li>
205300158363b47d916d159d2f3a0e1152783fd66a9cScott Main
205400158363b47d916d159d2f3a0e1152783fd66a9cScott Main      <li>
205500158363b47d916d159d2f3a0e1152783fd66a9cScott Main        <a href="<?cs var:toroot ?>training/articles/security-ssl.html"
205600158363b47d916d159d2f3a0e1152783fd66a9cScott Main           description=
205700158363b47d916d159d2f3a0e1152783fd66a9cScott Main           "How to ensure that your app is secure when performing network transactions."
205800158363b47d916d159d2f3a0e1152783fd66a9cScott Main          >Security with HTTPS and SSL</a>
205900158363b47d916d159d2f3a0e1152783fd66a9cScott Main      </li>
20603ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
2061897cf908c9f1e5f5a2c0b4a3ec72636e64b94eb4Andrew Solovay      <li>
2062897cf908c9f1e5f5a2c0b4a3ec72636e64b94eb4Andrew Solovay        <a href="<?cs var:toroot ?>training/articles/security-gms-provider.html"
2063897cf908c9f1e5f5a2c0b4a3ec72636e64b94eb4Andrew Solovay           description=
2064897cf908c9f1e5f5a2c0b4a3ec72636e64b94eb4Andrew Solovay           "How to use and update Google Play services security provider, to
2065897cf908c9f1e5f5a2c0b4a3ec72636e64b94eb4Andrew Solovay           protect against SSL exploits."
2066897cf908c9f1e5f5a2c0b4a3ec72636e64b94eb4Andrew Solovay          >Updating Your Security Provider to Protect Against SSL Exploits</a>
2067897cf908c9f1e5f5a2c0b4a3ec72636e64b94eb4Andrew Solovay      </li>
2068897cf908c9f1e5f5a2c0b4a3ec72636e64b94eb4Andrew Solovay
20696b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez      <li>
20706b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez        <a href="<?cs var:toroot ?>training/safetynet/index.html"
20716b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez           description=
20726b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez           "How to use the SafetyNet service to analyze a device where your app is running
20736b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez            and get information about its compatibility with your app."
20746b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez          >Checking Device Compatibility with SafetyNet</a>
20756b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez      </li>
20766b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez
20776b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez      <li>
2078e1277eb819b9eee3612e2cedba55d7cfb5e9c5e7Billy Lamberta        <a href="<?cs var:toroot ?>work/device-management-policy.html"
20796b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez            description="How to create an application that enforces security policies on devices."
20806b4c3fed885db4341076159dc549d6bdae4df02eJoe Fernandez            >Enhancing Security with Device Management Policies</a>
2081e577d72a3be20e589437271f0e5ca474fab38124Roman Nurik      </li>
208222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </ul>
208322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  </li>
208422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <!-- End security and user info -->
20854c4a47f42101a57ab8ff05a8e035d97582c3368aScott Main
20862ef3952d8e62b71baca176b3e17315a37facd34aquddusc  <li class="nav-section">
20872ef3952d8e62b71baca176b3e17315a37facd34aquddusc    <div class="nav-section-header">
20886404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty      <a href="<?cs var:toroot ?>training/best-permissions-ids.html">
20896404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty      <span class="small">Best Practices for</span><br/>
20906404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty              Permissions &amp; Identifiers
20916404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty      </a>
20926404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty    </div>
20936404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty    <ul>
20946404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty      <li>
20956404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty        <a href="<?cs var:toroot ?>training/articles/user-data-overview.html"
20966404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty           description=
20976404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty           "Overview of app permissions on Android and how they affect your users."
20981fea1ec8292a70df958c7f42595bf3f75cdef9c6Dirk Dougherty          >Permissions and User Data</a>
20996404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty      </li>
21006404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty      <li>
21016404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty        <a href="<?cs var:toroot ?>training/articles/user-data-permissions.html"
21026404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty           description=
21036404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty           "How to manage permissions the right way for users."
21046404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty          >Best Practices for App Permissions</a>
21056404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty      </li>
21066404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty      <li>
21076404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty        <a href="<?cs var:toroot ?>training/articles/user-data-ids.html"
21086404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty           description=
21096404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty           "Unique identifiers available and how to choose the right one for your use case."
21106404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty          >Best Practices for Unique Identifiers</a>
21116404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty      </li>
21126404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty    </ul>
21136404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty  </li>
21146404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty  <!-- End Permissions and identifiers -->
21156404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty
21166404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty  <li class="nav-section">
21176404e8436b0244c69e081711326d60b1cc8906d2Dirk Dougherty    <div class="nav-section-header">
2118e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong      <a href="<?cs var:toroot ?>training/testing/index.html">
21192ef3952d8e62b71baca176b3e17315a37facd34aquddusc      <span class="small">Best Practices for</span><br/>
21202ef3952d8e62b71baca176b3e17315a37facd34aquddusc              Testing
21212ef3952d8e62b71baca176b3e17315a37facd34aquddusc      </a>
21222ef3952d8e62b71baca176b3e17315a37facd34aquddusc    </div>
21232ef3952d8e62b71baca176b3e17315a37facd34aquddusc    <ul>
2124e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong      <li>
2125e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong      <a href="<?cs var:toroot ?>training/testing/start/index.html"
2126e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong         description="How to get started with testing your Android applications.">
2127e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong            Getting Started with Testing
2128e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong          </a>
2129e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong      </li>
21302ef3952d8e62b71baca176b3e17315a37facd34aquddusc      <li class="nav-section">
2131e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong      <div class="nav-section-header"><a href="<?cs var:toroot ?>training/testing/unit-testing/index.html"
2132e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong         description="How to build effective unit tests for Android apps.">
2133e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong            Building Effective Unit Tests
21342ef3952d8e62b71baca176b3e17315a37facd34aquddusc          </a></div>
21352ef3952d8e62b71baca176b3e17315a37facd34aquddusc        <ul>
2136e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong          <li><a href="<?cs var:toroot ?>training/testing/unit-testing/local-unit-tests.html">
2137e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong            <span class="en">Building Local Unit Tests</span>
2138e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong            </a>
21392ef3952d8e62b71baca176b3e17315a37facd34aquddusc          </li>
2140e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong          <li><a href="<?cs var:toroot ?>training/testing/unit-testing/instrumented-unit-tests.html">
2141e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong            <span class="en">Building Instrumented Unit Tests</span>
2142e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong            </a>
21432ef3952d8e62b71baca176b3e17315a37facd34aquddusc          </li>
21442ef3952d8e62b71baca176b3e17315a37facd34aquddusc        </ul>
21452ef3952d8e62b71baca176b3e17315a37facd34aquddusc      </li>
21467639e730c8b951f892f08ba98906e08b79b174b7Quddus Chong      <li class="nav-section">
21477639e730c8b951f892f08ba98906e08b79b174b7Quddus Chong      <div class="nav-section-header"><a href="<?cs var:toroot ?>training/testing/ui-testing/index.html"
21487639e730c8b951f892f08ba98906e08b79b174b7Quddus Chong         description="How to automate your user interface tests for Android apps.">
21497639e730c8b951f892f08ba98906e08b79b174b7Quddus Chong            Automating UI Tests
21507639e730c8b951f892f08ba98906e08b79b174b7Quddus Chong          </a></div>
21517639e730c8b951f892f08ba98906e08b79b174b7Quddus Chong        <ul>
21527639e730c8b951f892f08ba98906e08b79b174b7Quddus Chong          <li><a href="<?cs var:toroot ?>training/testing/ui-testing/espresso-testing.html">
21537639e730c8b951f892f08ba98906e08b79b174b7Quddus Chong            <span class="en">Testing UI for a Single App</span>
21547639e730c8b951f892f08ba98906e08b79b174b7Quddus Chong          </a>
21557639e730c8b951f892f08ba98906e08b79b174b7Quddus Chong          </li>
21567639e730c8b951f892f08ba98906e08b79b174b7Quddus Chong          <li><a href="<?cs var:toroot ?>training/testing/ui-testing/uiautomator-testing.html">
21577639e730c8b951f892f08ba98906e08b79b174b7Quddus Chong            <span class="en">Testing UI for Multiple Apps</span>
21587639e730c8b951f892f08ba98906e08b79b174b7Quddus Chong          </a>
21597639e730c8b951f892f08ba98906e08b79b174b7Quddus Chong          </li>
21607639e730c8b951f892f08ba98906e08b79b174b7Quddus Chong        </ul>
21617639e730c8b951f892f08ba98906e08b79b174b7Quddus Chong      </li>
21624bc762a919ead1ad02d4ee065a95e4ecf8a4e657Quddus Chong      <li class="nav-section">
2163e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong      <div class="nav-section-header"><a href="<?cs var:toroot ?>training/testing/integration-testing/index.html"
2164e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong         description="How to build effective integration tests for Android apps.">
2165e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong            Testing App Component Integrations
21664bc762a919ead1ad02d4ee065a95e4ecf8a4e657Quddus Chong          </a></div>
21674bc762a919ead1ad02d4ee065a95e4ecf8a4e657Quddus Chong        <ul>
2168e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong         <li><a href="<?cs var:toroot ?>training/testing/integration-testing/service-testing.html">
2169e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong           <span class="en">Testing Your Service</span></a></li>
2170e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong         <li><a href="<?cs var:toroot ?>training/testing/integration-testing/content-provider-testing.html">
2171e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong           <span class="en">Testing Your Content Provider</span></a></li>
21724bc762a919ead1ad02d4ee065a95e4ecf8a4e657Quddus Chong        </ul>
21734bc762a919ead1ad02d4ee065a95e4ecf8a4e657Quddus Chong      </li>
2174566b54126c5132a2e8442675051becab09a31543Quddus Chong      <li><a href="<?cs var:toroot ?>training/testing/performance.html"
2175e3f6c81c31ec505fd310dcf23d14e5b0e07279bfQuddus Chong          description="How to automate UI performance testing.">Testing Display Performance</a>
2176d61e5537e08f4257e87e2841c58e4fb939c7782dQuddus Chong      </li>
2177d61e5537e08f4257e87e2841c58e4fb939c7782dQuddus Chong    </ul>
21782ef3952d8e62b71baca176b3e17315a37facd34aquddusc  </li>
21792ef3952d8e62b71baca176b3e17315a37facd34aquddusc  <!-- End best Testing -->
218050e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main
218122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <li class="nav-section">
218222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <div class="nav-section-header">
218322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <a href="<?cs var:toroot ?>training/distribute.html">
218422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <span class="small">Using Google Play to</span><br/>
218522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main              Distribute &amp; Monetize
218622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      </a>
218722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </div>
218822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <ul>
2189768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong      <li class="nav-section">
2190768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong      <div class="nav-section-header"><a href="<?cs var:toroot ?>training/in-app-billing/index.html"
2191768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong         description="How to sell in-app products from your application using In-app Billing.">
2192768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong            Selling In-app Products
2193768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          </a></div>
2194768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong        <ul>
2195768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          <li><a href="<?cs var:toroot ?>training/in-app-billing/preparing-iab-app.html">
2196768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong            <span class="en">Preparing Your App</span>
2197768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          </a>
2198768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          </li>
2199768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          <li><a href="<?cs var:toroot ?>training/in-app-billing/list-iab-products.html">
2200768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong            <span class="en">Establishing Products for Sale</span>
2201768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          </a>
2202768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          </li>
2203768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          <li><a href="<?cs var:toroot ?>training/in-app-billing/purchase-iab-products.html">
2204768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong            <span class="en">Purchasing Products</span>
2205768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          </a>
2206768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          </li>
2207768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          <li><a href="<?cs var:toroot ?>training/in-app-billing/test-iab-app.html">
2208768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong            <span class="en">Testing Your App</span>
2209768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          </a>
2210768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          </li>
2211768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong        </ul>
2212768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong      </li>
22133ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
2214969c243f17a785dbe697e2cbe09c320136f0d82aAlexander Lucas      <li class="nav-section">
221522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
221622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/multiple-apks/index.html"
221722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
221822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to publish your app on Google Play with separate APKs that target
221922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             different devices, while using a single app listing."
222022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Maintaining Multiple APKs</a>
222122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
2222969c243f17a785dbe697e2cbe09c320136f0d82aAlexander Lucas        <ul>
222322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/multiple-apks/api.html">
222422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Creating Multiple APKs for Different API Levels
2225969c243f17a785dbe697e2cbe09c320136f0d82aAlexander Lucas          </a>
2226969c243f17a785dbe697e2cbe09c320136f0d82aAlexander Lucas          </li>
222722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/multiple-apks/screensize.html">
222822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Creating Multiple APKs for Different Screen Sizes
2229969c243f17a785dbe697e2cbe09c320136f0d82aAlexander Lucas          </a>
2230969c243f17a785dbe697e2cbe09c320136f0d82aAlexander Lucas          </li>
223122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/multiple-apks/texture.html">
223222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Creating Multiple APKs for Different GL Textures
223322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </a>
223422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </li>
223522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/multiple-apks/multiple.html">
223622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Creating Multiple APKs with 2+ Dimensions
2237969c243f17a785dbe697e2cbe09c320136f0d82aAlexander Lucas          </a>
2238969c243f17a785dbe697e2cbe09c320136f0d82aAlexander Lucas          </li>
2239969c243f17a785dbe697e2cbe09c320136f0d82aAlexander Lucas        </ul>
2240969c243f17a785dbe697e2cbe09c320136f0d82aAlexander Lucas      </li>
224122558d0be8210aee1a2ab64b374bb357d4123acdDirk Dougherty    </ul>
224222558d0be8210aee1a2ab64b374bb357d4123acdDirk Dougherty  </li>
224322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <!-- End best Publishing -->
224422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main
224550e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main</ul><!-- nav -->
224622558d0be8210aee1a2ab64b374bb357d4123acdDirk Dougherty<script type="text/javascript">
224722558d0be8210aee1a2ab64b374bb357d4123acdDirk Dougherty<!--
224822558d0be8210aee1a2ab64b374bb357d4123acdDirk Dougherty    buildToggleLists();
224922558d0be8210aee1a2ab64b374bb357d4123acdDirk Dougherty    changeNavLang(getLangPref());
225022558d0be8210aee1a2ab64b374bb357d4123acdDirk Dougherty//-->
225179cb98c6ced6aaf1ea102e4b927cfb0b99bbf67bAndrew Solovay</script>
2252