training_toc.cs revision 7213656f986f5713c46ce5e86f8b8f569640275b
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">
40d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main          <a href="<?cs var:toroot ?>training/basics/actionbar/index.html"
41d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main             description=
42d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main             "The action bar is one of the most important design elements you can implement for your
43d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Mainapp's activities. Although first introduced with API level 11, you can use the Support Library to
44d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Maininclude the action bar on devices running Android 2.1 or higher."
45d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main            >Adding the Action Bar</a>
46d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main        </div>
47d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main        <ul>
48d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main          <li><a href="<?cs var:toroot ?>training/basics/actionbar/setting-up.html">
49d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main            Setting Up the Action Bar
50d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main          </a>
51d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main          </li>
52d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main          <li><a href="<?cs var:toroot ?>training/basics/actionbar/adding-buttons.html">
53d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main            Adding Action Buttons
54d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main          </a>
55d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main          </li>
56d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main          <li><a href="<?cs var:toroot ?>training/basics/actionbar/styling.html">
57d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main            Styling the Action Bar
58d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main          </a>
59d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main          </li>
60d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main          <li><a href="<?cs var:toroot ?>training/basics/actionbar/overlaying.html">
61d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main            Overlaying the Action Bar
62d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main          </a>
63d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main          </li>
64d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main        </ul>
65d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main      </li>
66d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main
67d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main      <li class="nav-section">
68d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main        <div class="nav-section-header">
69f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main          <a href="<?cs var:toroot ?>training/basics/supporting-devices/index.html"
7022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
71f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main             "How to build your app with alternative resources that provide an
72f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main             optimized user experience on multiple device form factors using a single APK."
73f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main            >Supporting Different Devices</a>
7422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
75be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main        <ul>
76f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main          <li><a href="<?cs var:toroot ?>training/basics/supporting-devices/languages.html">
77f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main            Supporting Different Languages
78be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </a>
79be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </li>
80f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main          <li><a href="<?cs var:toroot ?>training/basics/supporting-devices/screens.html">
81f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main            Supporting Different Screens
82be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </a>
83be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </li>
84f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main          <li><a href="<?cs var:toroot ?>training/basics/supporting-devices/platforms.html">
85f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main            Supporting Different Platform Versions
86be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </a>
87be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </li>
88be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main        </ul>
89be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main      </li>
9050c2275cff28c4a216f6924584e43cd64b90a3bfJoe Malin
9150e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
9222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
93f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main          <a href="<?cs var:toroot ?>training/basics/activity-lifecycle/index.html"
9422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
95f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main             "How Android activities live and die and how to create
96f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main             a seamless user experience by implementing lifecycle callback methods."
97f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main            >Managing the Activity Lifecycle</a>
9822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
99be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main        <ul>
100f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main          <li><a href="<?cs var:toroot ?>training/basics/activity-lifecycle/starting.html">
101f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main            Starting an Activity
102be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </a>
103be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </li>
104f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main          <li><a href="<?cs var:toroot ?>training/basics/activity-lifecycle/pausing.html">
105f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main            Pausing and Resuming an Activity
106be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </a>
107be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </li>
108f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main          <li><a href="<?cs var:toroot ?>training/basics/activity-lifecycle/stopping.html">
109f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main            Stopping and Restarting an Activity
110f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main          </a>
111f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main          </li>
112f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main          <li><a href="<?cs var:toroot ?>training/basics/activity-lifecycle/recreating.html">
113f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main            Recreating an Activity
114be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </a>
115be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </li>
116be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main        </ul>
117be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main      </li>
11850c2275cff28c4a216f6924584e43cd64b90a3bfJoe Malin
11950e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
12022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
12122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/basics/fragments/index.html"
12222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
12322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to build a user interface for your app that is flexible enough
12422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             to present multiple UI components on large screens and a more constrained set of
12522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             UI components on smaller screens&mdash;essential for building a single APK for both
12622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             phones and tablets."
12722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Building a Dynamic UI with Fragments</a>
12822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
129421854e6e8fe3418d22ae444567a06b5f308c896Scott Main        <ul>
130421854e6e8fe3418d22ae444567a06b5f308c896Scott Main          <li><a href="<?cs var:toroot ?>training/basics/fragments/creating.html">
13122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Creating a Fragment
132421854e6e8fe3418d22ae444567a06b5f308c896Scott Main          </a>
133421854e6e8fe3418d22ae444567a06b5f308c896Scott Main          </li>
134421854e6e8fe3418d22ae444567a06b5f308c896Scott Main          <li><a href="<?cs var:toroot ?>training/basics/fragments/fragment-ui.html">
13522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Building a Flexible UI
136421854e6e8fe3418d22ae444567a06b5f308c896Scott Main          </a>
137421854e6e8fe3418d22ae444567a06b5f308c896Scott Main          </li>
138421854e6e8fe3418d22ae444567a06b5f308c896Scott Main          <li><a href="<?cs var:toroot ?>training/basics/fragments/communicating.html">
13922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Communicating with Other Fragments
140421854e6e8fe3418d22ae444567a06b5f308c896Scott Main          </a>
141421854e6e8fe3418d22ae444567a06b5f308c896Scott Main          </li>
142421854e6e8fe3418d22ae444567a06b5f308c896Scott Main        </ul>
143421854e6e8fe3418d22ae444567a06b5f308c896Scott Main      </li>
144be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main
14550e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
14622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header"><a href="<?cs var:toroot?>training/basics/data-storage/index.html"
14722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
14822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to save data on the device, whether it's temporary files, downloaded
14922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             app assets, user media, structured data, or something else."
15022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Saving Data</a>
15122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
15211f03b4b694f506ed5dcb7c12a9984b653f93b42Scott Main        <ul>
15311f03b4b694f506ed5dcb7c12a9984b653f93b42Scott Main          <li><a href="<?cs var:toroot ?>training/basics/data-storage/shared-preferences.html">
15422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Saving Key-Value Sets
15511f03b4b694f506ed5dcb7c12a9984b653f93b42Scott Main          </a>
15611f03b4b694f506ed5dcb7c12a9984b653f93b42Scott Main          </li>
15711f03b4b694f506ed5dcb7c12a9984b653f93b42Scott Main          <li><a href="<?cs var:toroot ?>training/basics/data-storage/files.html">
15822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Saving Files
15911f03b4b694f506ed5dcb7c12a9984b653f93b42Scott Main          </a>
16011f03b4b694f506ed5dcb7c12a9984b653f93b42Scott Main          </li>
16111f03b4b694f506ed5dcb7c12a9984b653f93b42Scott Main          <li><a href="<?cs var:toroot ?>training/basics/data-storage/databases.html">
16222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Saving Data in SQL Databases
16311f03b4b694f506ed5dcb7c12a9984b653f93b42Scott Main          </a>
16411f03b4b694f506ed5dcb7c12a9984b653f93b42Scott Main          </li>
16511f03b4b694f506ed5dcb7c12a9984b653f93b42Scott Main        </ul>
16611f03b4b694f506ed5dcb7c12a9984b653f93b42Scott Main      </li>
16711f03b4b694f506ed5dcb7c12a9984b653f93b42Scott Main
16811f03b4b694f506ed5dcb7c12a9984b653f93b42Scott Main      <li class="nav-section">
16922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
17022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/basics/intents/index.html"
17122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
17222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to build a user experience that leverages other apps available
17322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             on the device to perform advanced user tasks, such as capture a photo or view
17422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             an address on a map."
17522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Interacting with Other Apps</a>
17622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
177be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main        <ul>
178be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          <li><a href="<?cs var:toroot ?>training/basics/intents/sending.html">
17922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Sending the User to Another App
180be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </a>
181be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </li>
182be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          <li><a href="<?cs var:toroot ?>training/basics/intents/result.html">
18322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Getting a Result from the Activity
184be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </a>
185be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </li>
186be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          <li><a href="<?cs var:toroot ?>training/basics/intents/filters.html">
18722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Allowing Other Apps to Start Your Activity
188be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </a>
189be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </li>
190be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main        </ul>
191be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main      </li>
192be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main
19345edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin    </ul>
19445edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin  </li><!-- end getting started -->
19545edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin    <li class="nav-section">
19622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
19745edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin            <a href="<?cs var:toroot ?>training/building-content-sharing.html">
19845edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin            <span class="small">Building Apps with</span><br/>Content Sharing
19945edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin            </a>
20022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
201be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main        <ul>
20245edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin            <li class="nav-section">
20345edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                <div class="nav-section-header">
20445edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    <a href="<?cs var:toroot ?>training/sharing/index.html"
20545edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    description=
20645edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    "How to take your app interaction to the next level by sharing
20745edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    information with other apps, receive information back, and provide a simple and
20845edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    scalable way to perform Share actions with user content."
20945edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    >Sharing Simple Data</a>
21045edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                </div>
21145edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                <ul>
21245edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    <li>
21345edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                        <a href="<?cs var:toroot ?>training/sharing/send.html">
21445edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                        Sending Simple Data to Other Apps
21545edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                        </a>
21645edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    </li>
21745edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    <li>
21845edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                        <a href="<?cs var:toroot ?>training/sharing/receive.html">
21945edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                        Receiving Simple Data from Other Apps
22045edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                        </a>
22145edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    </li>
22245edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    <li>
22345edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                        <a href="<?cs var:toroot ?>training/sharing/shareaction.html">
22445edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                        Adding an Easy Share Action
22545edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                        </a>
22645edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    </li>
22745edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                </ul>
22845edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin            </li>
22945edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin            <li class="nav-section">
23045edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                <div class="nav-section-header">
23145edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    <a href="<?cs var:toroot?>training/secure-file-sharing/index.html"
23245edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    description=
23345edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    "How to provide secure access to a file associated with your app using a content
23445edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    URI and temporary access permissions."
23545edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    >Sharing Files</a>
23645edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                </div>
23745edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                <ul>
23845edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    <li>
23945edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                        <a href="<?cs var:toroot ?>training/secure-file-sharing/setup-sharing.html">
24045edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                        Setting Up File Sharing
24145edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                        </a>
24245edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    </li>
24345edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    <li>
24445edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                        <a href="<?cs var:toroot ?>training/secure-file-sharing/share-file.html">
24545edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                        Sharing a File
24645edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                        </a>
24745edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    </li>
24845edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    <li>
24945edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                        <a href="<?cs var:toroot ?>training/secure-file-sharing/request-file.html">
25045edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                        Requesting a Shared File
25145edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                        </a>
25245edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    </li>
25345edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    <li>
25445edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                        <a href="<?cs var:toroot ?>training/secure-file-sharing/retrieve-info.html">
25545edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                        Retrieving File Information
25645edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                        </a>
25745edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    </li>
25845edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                </ul>
25945edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin            </li>
26045edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin            <li class="nav-section">
26145edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                <div class="nav-section-header">
26245edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    <a href="<?cs var:toroot ?>training/beam-files/index.html"
26345edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    description=
26445edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    "How to transfer files between devices using the NFC Android Beam feature."
26545edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    >Sharing Files with NFC</a>
26645edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                </div>
26745edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                <ul>
26845edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    <li>
26945edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                        <a href="<?cs var:toroot ?>training/beam-files/send-files.html"
27045edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                        >Sending Files to Another Device</a>
27145edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    </li>
27245edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    <li><a href="<?cs var:toroot ?>training/beam-files/receive-files.html"
27345edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                    >Receiving Files from Another Device</a></li>
27445edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin                </ul>
27545edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin            </li>
276be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main        </ul>
27745edbb701ac44891aa07a403a55ee2393da9b25fJoe Malin    </li>
2783ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
2793ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
28050e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main
28122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <li class="nav-section">
28222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <div class="nav-section-header">
28322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <a href="<?cs var:toroot ?>training/building-multimedia.html">
28422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <span class="small">Building Apps with</span><br/>Multimedia
28522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      </a>
28622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </div>
28722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <ul>
2883ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
28922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <li class="nav-section">
29022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
29122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/managing-audio/index.html"
29222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
29322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to respond to hardware audio key presses, request audio focus
29422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             when playing audio, and respond appropriately to changes in audio focus."
29522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Managing Audio Playback</a>
29622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
29750e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main        <ul>
29822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/managing-audio/volume-playback.html">
29922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Controlling Your App's Volume and Playback
30050e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main          </a>
30150e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main          </li>
30222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/managing-audio/audio-focus.html">
30322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Managing Audio Focus
30450e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main          </a>
30550e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main          </li>
30622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/managing-audio/audio-output.html">
30722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Dealing with Audio Output Hardware
30850e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main          </a>
30950e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main          </li>
31050e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main        </ul>
31150e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      </li>
31250c2275cff28c4a216f6924584e43cd64b90a3bfJoe Malin
31350e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
31422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
31522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/camera/index.html"
31622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
31722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to leverage existing camera apps on the user's device to capture
31822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             photos or control the camera hardware directly and build your own camera app."
31922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Capturing Photos</a>
32022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
32150e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main        <ul>
32222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/camera/photobasics.html">
32322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Taking Photos Simply
32450e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main          </a>
32550e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main          </li>
32622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/camera/videobasics.html">
32722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Recording Videos Simply
32850e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main          </a>
32950e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main          </li>
33022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/camera/cameradirect.html">
33122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Controlling the Camera
33250e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main          </a>
33350e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main          </li>
33450e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main        </ul>
33550e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      </li>
33684fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez
33784fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez      <li class="nav-section">
33884fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez        <div class="nav-section-header">
33984fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez          <a href="<?cs var:toroot ?>training/printing/index.html"
34084fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez             description=
34184fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez             "How to print photos, HTML documents, and custom documents from your app."
34284fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez            >Printing Content</a>
34384fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez        </div>
34484fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez        <ul>
34584fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez          <li><a href="<?cs var:toroot ?>training/printing/photos.html">
34684fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez            Photos
34784fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez          </a>
34884fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez          </li>
34984fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez          <li><a href="<?cs var:toroot ?>training/printing/html-docs.html">
35084fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez            HTML Documents
35184fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez          </a>
35284fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez          </li>
35384fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez          <li><a href="<?cs var:toroot ?>training/printing/custom-docs.html">
35484fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez            Custom Documents
35584fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez          </a>
35684fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez          </li>
35784fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez        </ul>
35884fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez      </li>
35984fe617c5b3e90b961091af24ef26b9fadc8c70cJoe Fernandez
36022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </ul>
36122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  </li>
36222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <!-- End multimedia -->
3633ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
3643ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
365be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main
36622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <li class="nav-section">
36722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <div class="nav-section-header">
36822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <a href="<?cs var:toroot ?>training/building-graphics.html">
36922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <span class="small">Building Apps with</span><br/>Graphics &amp; Animation
37022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      </a>
37122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </div>
37222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <ul>
3733ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
37450e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
37522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
37622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/displaying-bitmaps/index.html"
37722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
37822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to load and process bitmaps while keeping your user interface
37922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             responsive and avoid exceeding memory limits."
38022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Displaying Bitmaps Efficiently</a>
38122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
38250e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main        <ul>
38322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/displaying-bitmaps/load-bitmap.html">
38422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Loading Large Bitmaps Efficiently
38550e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main          </a>
38650e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main          </li>
38722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/displaying-bitmaps/process-bitmap.html">
38822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Processing Bitmaps Off the UI Thread
38922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </a>
39022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </li>
39122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/displaying-bitmaps/cache-bitmap.html">
39222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Caching Bitmaps
393e38a6c50ea6f6c1238276154ca0631842b6ab06cAlexander Lucas          </a>
394e38a6c50ea6f6c1238276154ca0631842b6ab06cAlexander Lucas          </li>
3957571542c9d54fa3501e3ce9d50d3625e22f39e81kmccormick          <li><a href="<?cs var:toroot ?>training/displaying-bitmaps/manage-memory.html">
3967571542c9d54fa3501e3ce9d50d3625e22f39e81kmccormick            Managing Bitmap Memory
3977571542c9d54fa3501e3ce9d50d3625e22f39e81kmccormick          </a>
3987571542c9d54fa3501e3ce9d50d3625e22f39e81kmccormick          </li>
39922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/displaying-bitmaps/display-bitmap.html">
40022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Displaying Bitmaps in Your UI
40122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </a></li>
40250e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main        </ul>
40350e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      </li>
40450c2275cff28c4a216f6924584e43cd64b90a3bfJoe Malin
40550e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
40622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
40722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot?>training/graphics/opengl/index.html"
40822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
40922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to create OpenGL graphics within the Android app framework
41022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             and respond to touch input."
41122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Displaying Graphics with OpenGL ES</a>
412ddab47b78ca5dff3b9ca8f79c2af8de0292a8fa4Scott Main        </div>
4137736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main        <ul>
41422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/graphics/opengl/environment.html">
41522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Building an OpenGL ES Environment
41622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </a>
417ddab47b78ca5dff3b9ca8f79c2af8de0292a8fa4Scott Main          </li>
41822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/graphics/opengl/shapes.html">
41922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Defining Shapes
42022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </a>
4217736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
42222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/graphics/opengl/draw.html">
42322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Drawing Shapes
4247736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
4257736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
42622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/graphics/opengl/projection.html">
42722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Applying Projection and Camera Views
4287736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
4297736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
43022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/graphics/opengl/motion.html">
43122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Adding Motion
4327736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
4337736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
43422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/graphics/opengl/touch.html">
43522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Responding to Touch Events
4367736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
4377736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
4387736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main        </ul>
4397736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main      </li>
44022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <li class="nav-section">
44122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header"><a href="<?cs var:toroot ?>training/animation/index.html"
44222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
44322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to add transitional animations to your user interface.">
44422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Adding Animations
4453f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          </a></div>
4463f532126028378204e263a33b08a95b3cd9c7b83Robert Ly        <ul>
4473f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          <li><a href="<?cs var:toroot ?>training/animation/crossfade.html">
44822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Crossfading Two Views
4493f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          </a>
4503f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          </li>
4513f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          <li><a href="<?cs var:toroot ?>training/animation/screen-slide.html">
45222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Using ViewPager for Screen Slide
4533f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          </a>
4543f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          </li>
4553f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          <li><a href="<?cs var:toroot ?>training/animation/cardflip.html">
45622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Displaying Card Flip Animations
4573f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          </a>
4583f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          </li>
4593f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          <li><a href="<?cs var:toroot ?>training/animation/zoom.html">
46022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Zooming a View
4613f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          </a>
4623f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          </li>
4633f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          <li><a href="<?cs var:toroot ?>training/animation/layout.html">
46422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Animating Layout Changes
4653f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          </a>
4663f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          </li>
4673f532126028378204e263a33b08a95b3cd9c7b83Robert Ly        </ul>
4683f532126028378204e263a33b08a95b3cd9c7b83Robert Ly      </li>
46922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </ul>
47022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  </li>
47122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <!-- End graphics and animation -->
4723ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
47322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main
47422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <li class="nav-section">
47522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <div class="nav-section-header">
47622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <a href="<?cs var:toroot ?>training/building-connectivity.html">
47722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <span class="small">Building Apps with</span><br/>
47822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main              Connectivity &amp; the Cloud
47922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      </a>
48022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </div>
48122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <ul>
48222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main
48350e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
48422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
48522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/connect-devices-wirelessly/index.html"
48622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
48722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to find and connect to local devices using Network Service
488f5e0970c471d8bb3775febe4d1fb422a337c462cScott Main             Discovery and how to create peer-to-peer connections with Wi-Fi."
48922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             >Connecting Devices Wirelessly</a>
49022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
4917736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main        <ul>
49222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/connect-devices-wirelessly/nsd.html">
49322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Using Network Service Discovery
4947736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
4957736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
49622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/connect-devices-wirelessly/wifi-direct.html">
497f5e0970c471d8bb3775febe4d1fb422a337c462cScott Main            Creating P2P Connections with Wi-Fi
4987736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
4997736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
50022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/connect-devices-wirelessly/nsd-wifi-direct.html">
5012d006d2fb2d053392324769971c3a10d8ad93ac4Scott Main            Using Wi-Fi P2P for Service Discovery
5027736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
5037736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
5047736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main        </ul>
5057736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main      </li>
50622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main       <li class="nav-section">
50722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
50822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/basics/network-ops/index.html"
50922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
51022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to create a network connection, monitor the connection for changes
51122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             in connectivity, and perform transactions with XML data."
51222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Performing Network Operations</a>
513ddab47b78ca5dff3b9ca8f79c2af8de0292a8fa4Scott Main        </div>
5147736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main        <ul>
51522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/basics/network-ops/connecting.html">
51622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Connecting to the Network
51722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </a>
518ddab47b78ca5dff3b9ca8f79c2af8de0292a8fa4Scott Main          </li>
51922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/basics/network-ops/managing.html">
52022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Managing Network Usage
52122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </a>
522ddab47b78ca5dff3b9ca8f79c2af8de0292a8fa4Scott Main          </li>
52322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/basics/network-ops/xml.html">
52422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Parsing XML Data
52522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </a>
5267736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
5277736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main        </ul>
5287736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main      </li>
52950e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
53022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
53122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/efficient-downloads/index.html"
53222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
53322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to minimize your app's impact on the battery when performing downloads
53422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             and other network transactions."
53522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Transferring Data Without Draining the Battery</a>
53622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
53720f394df4db02c492d7920f4f366b777451c2067Reto Meier        <ul>
53822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/efficient-downloads/efficient-network-access.html">
53922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Optimizing Downloads for Efficient Network Access
54020f394df4db02c492d7920f4f366b777451c2067Reto Meier          </a>
54120f394df4db02c492d7920f4f366b777451c2067Reto Meier          </li>
54222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/efficient-downloads/regular_updates.html">
54322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Minimizing the Effect of Regular Updates
54420f394df4db02c492d7920f4f366b777451c2067Reto Meier          </a>
54520f394df4db02c492d7920f4f366b777451c2067Reto Meier          </li>
54622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/efficient-downloads/redundant_redundant.html">
54722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Redundant Downloads are Redundant
548773740ed79075e6daffaea0c62857348ab54d93eAlexander Lucas          </a>
549773740ed79075e6daffaea0c62857348ab54d93eAlexander Lucas          </li>
55022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/efficient-downloads/connectivity_patterns.html">
55122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Modifying Patterns Based on the Connectivity Type
552773740ed79075e6daffaea0c62857348ab54d93eAlexander Lucas          </a>
553773740ed79075e6daffaea0c62857348ab54d93eAlexander Lucas          </li>
554773740ed79075e6daffaea0c62857348ab54d93eAlexander Lucas        </ul>
555773740ed79075e6daffaea0c62857348ab54d93eAlexander Lucas      </li>
556773740ed79075e6daffaea0c62857348ab54d93eAlexander Lucas
55750e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
55822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
55922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/cloudsync/index.html"
56022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
56122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to sync and back up app and user data to remote web services in the
56222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main              cloud and how to restore the data back to multiple devices."
56322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Syncing to the Cloud</a>
564957f716cf1686145ba4c06ca8669eaa2e22f54e8Robert Ly        </div>
565055e3f25ba85d7aefcddaa0aa2bb0589719ec80cRobert Ly        <ul>
56622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/cloudsync/backupapi.html">
56722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Using the Backup API
568055e3f25ba85d7aefcddaa0aa2bb0589719ec80cRobert Ly          </a>
569055e3f25ba85d7aefcddaa0aa2bb0589719ec80cRobert Ly          </li>
57022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/cloudsync/gcm.html">
57122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Making the Most of Google Cloud Messaging
5727736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
5737736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
5747736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main        </ul>
57571baac13580dd6f16bf5308eb1571bcb014676fckmccormick        <li><a href="<?cs var:toroot ?>training/cloudsave/conflict-res.html"
57671baac13580dd6f16bf5308eb1571bcb014676fckmccormick           description=
57771baac13580dd6f16bf5308eb1571bcb014676fckmccormick           "How to design a robust conflict resolution strategy for apps that save data to the cloud."
57871baac13580dd6f16bf5308eb1571bcb014676fckmccormick           >Resolving Cloud Save Conflicts
57971baac13580dd6f16bf5308eb1571bcb014676fckmccormick          </a>
5802e1c7b7495f2317ba30ae809b4964fdafcf504ceJoe Malin        </li>
5817736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main      </li>
582e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin      <li class="nav-section">
583e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin        <div class="nav-section-header">
584e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin          <a href="<?cs var:toroot ?>training/sync-adapters/index.html"
585e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin             description="How to transfer data between the cloud and the device using the Android
586e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin             sync adapter framework"
587e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin             >Transferring Data Using Sync Adapters</a>
588e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin        </div>
589e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin        <ul>
590e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin            <li>
591e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                <a href="<?cs var:toroot ?>training/sync-adapters/creating-authenticator.html">
592e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                Creating a Stub Authenticator
593e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                </a>
594e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin            </li>
595e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin            <li>
596e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                <a href="<?cs var:toroot ?>training/sync-adapters/creating-stub-provider.html">
597e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                Creating a Stub Content Provider
598e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                </a>
599e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin            </li>
600e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin            <li>
601e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                <a href="<?cs var:toroot ?>training/sync-adapters/creating-sync-adapter.html">
602e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                Creating a Sync Adapter
603e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                </a>
604e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin            </li>
605e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin            <li>
606e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                <a href="<?cs var:toroot ?>training/sync-adapters/running-sync-adapter.html">
607e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                Running a Sync Adapter
608e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                </a>
609e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin            </li>
610e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin        </ul>
611e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin      </li>
6121a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick      <li class="nav-section">
6131a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick        <div class="nav-section-header">
6141a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick          <a href="<?cs var:toroot ?>training/volley/index.html"
6151a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick             description="How to perform fast, scalable UI operations over the network using Volley"
6161a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick             >Transmitting Network Data Using Volley</a>
6171a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick        </div>
6181a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick        <ul>
6191a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick            <li>
6201a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick                <a href="<?cs var:toroot ?>training/volley/simple.html">
6211a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick                Sending a Simple Request
6221a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick                </a>
6231a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick            </li>
6241a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick            <li>
6251a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick                <a href="<?cs var:toroot ?>training/volley/requestqueue.html">
6261a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick                Setting Up a RequestQueue
6271a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick                </a>
6281a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick            </li>
6291a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick            <li>
6301a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick                <a href="<?cs var:toroot ?>training/volley/request.html">
6311a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick                Making a Standard Request
6321a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick                </a>
6331a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick            </li>
6341a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick            <li>
6351a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick                <a href="<?cs var:toroot ?>training/volley/request-custom.html">
6361a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick                Implementing a Custom Request
6371a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick                </a>
6381a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick            </li>
6391a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick        </ul>
6401a89ae4cdcf8d467e5d081234ec66a097045f772Katie McCormick      </li>
64122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </ul>
64222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  </li>
64322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <!-- End connectivity and cloud -->
6443ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
6453ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
646580f0146535e7daed83aef721f505270f7b040e1Scott Main
64722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <li class="nav-section">
64822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <div class="nav-section-header">
64922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <a href="<?cs var:toroot ?>training/building-userinfo.html">
65022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <span class="small">Building Apps with</span><br/>
65122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main              User Info &amp; Location
65222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      </a>
65322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </div>
65422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <ul>
655421435d2bede2788b74b07b1bab893fef98047c5Joe Malin      <li class="nav-section">
656421435d2bede2788b74b07b1bab893fef98047c5Joe Malin        <div class="nav-section-header">
657421435d2bede2788b74b07b1bab893fef98047c5Joe Malin          <a href="<?cs var:toroot ?>training/contacts-provider/index.html"
658421435d2bede2788b74b07b1bab893fef98047c5Joe Malin             description=
659421435d2bede2788b74b07b1bab893fef98047c5Joe Malin             "How to use Android's central address book, the Contacts Provider, to
660421435d2bede2788b74b07b1bab893fef98047c5Joe Malin             display contacts and their details and modify contact information.">
661421435d2bede2788b74b07b1bab893fef98047c5Joe Malin          Accessing Contacts Data</a>
662421435d2bede2788b74b07b1bab893fef98047c5Joe Malin        </div>
663421435d2bede2788b74b07b1bab893fef98047c5Joe Malin        <ul>
664421435d2bede2788b74b07b1bab893fef98047c5Joe Malin          <li>
665421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                <a href="<?cs var:toroot ?>training/contacts-provider/retrieve-names.html">
666421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                Retrieving a List of Contacts
667421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                </a>
668421435d2bede2788b74b07b1bab893fef98047c5Joe Malin          </li>
669421435d2bede2788b74b07b1bab893fef98047c5Joe Malin          <li>
670421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                <a href="<?cs var:toroot ?>training/contacts-provider/retrieve-details.html">
671421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                Retrieving Details for a Contact
672421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                </a>
673421435d2bede2788b74b07b1bab893fef98047c5Joe Malin          </li>
674421435d2bede2788b74b07b1bab893fef98047c5Joe Malin          <li>
675421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                <a href="<?cs var:toroot ?>training/contacts-provider/modify-data.html">
676421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                Modifying Contacts Using Intents
677421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                </a>
678421435d2bede2788b74b07b1bab893fef98047c5Joe Malin          </li>
679421435d2bede2788b74b07b1bab893fef98047c5Joe Malin          <li>
680421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                <a href="<?cs var:toroot ?>training/contacts-provider/display-contact-badge.html">
681421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                Displaying the Quick Contact Badge
682421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                </a>
6832956f2fd2ce7eba5abac30fa1c0a2c514edcc787Scott Main          </li>
6842956f2fd2ce7eba5abac30fa1c0a2c514edcc787Scott Main        </ul>
6852956f2fd2ce7eba5abac30fa1c0a2c514edcc787Scott Main      </li>
686580f0146535e7daed83aef721f505270f7b040e1Scott Main
68750e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
68822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
6893ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin          <a href="<?cs var:toroot ?>training/location/index.html"
6903ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin             description="How to add location-aware features to your app by getting the user's current location.">
6913ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin             Making Your App Location-Aware
6923ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin          </a>
69322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
6947736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main        <ul>
6953ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin          <li>
6963ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin            <a href="<?cs var:toroot ?>training/location/retrieve-current.html">
6973ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin            Retrieving the Current Location
6983ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin            </a>
6993ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin          </li>
7003ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin          <li>
7013ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin            <a href="<?cs var:toroot ?>training/location/receive-location-updates.html">
7023ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin            Receiving Location Updates
7033ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin            </a>
7043ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin          </li>
7053ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin          <li>
7063ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin            <a href="<?cs var:toroot ?>training/location/display-address.html">
7073ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin            Displaying a Location Address
7087736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
7097736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
7103ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin          <li><a href="<?cs var:toroot ?>training/location/geofencing.html">
7113ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin            Creating and Monitoring Geofences
7127736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
7137736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
7143ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin          <li><a href="<?cs var:toroot ?>training/location/activity-recognition.html">
7153ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin          Recognizing the User's Current Activity
7167736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
7177736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
71872fdbc88bb52b68238b938563c0394b1e93e2343Joe Malin          <li><a href="<?cs var:toroot ?>training/location/location-testing.html">
71972fdbc88bb52b68238b938563c0394b1e93e2343Joe Malin          Testing Using Mock Locations
72072fdbc88bb52b68238b938563c0394b1e93e2343Joe Malin          </a>
72172fdbc88bb52b68238b938563c0394b1e93e2343Joe Malin          </li>
7227736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main        </ul>
7237736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main      </li>
72422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </ul>
72522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  </li>
72622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <!-- End privacy and location -->
7273ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
7283ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
7292728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly  <li class="nav-section">
7302728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly    <div class="nav-section-header">
7312728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly      <a href="<?cs var:toroot ?>training/building-wearables.html">
7322728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly      <span class="small">Building Apps for</span><br/>
7332728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly              Wearables
7342728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly      </a>
7352728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly    </div>
7362728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly    <ul>
7372728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly      <li class="nav-section">
7382728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly        <div class="nav-section-header">
7392728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <a href="<?cs var:toroot ?>training/wearables/notifications/index.html"
7402728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly             description="How to build handheld notifications that are synced to
7412728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly             and look great on wearables."
7422728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            >Adding Wearable Features to Notifications</a>
7432728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly        </div>
7442728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly        <ul>
7452728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <li>
7462728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            <a href="<?cs var:toroot ?>training/wearables/notifications/creating.html">Creating a Notification</a>
7472728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          </li>
7482728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <li>
7492728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            <a href="<?cs var:toroot ?>training/wearables/notifications/voice-input.html">Receiving Voice Input in a Notification</a>
7502728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          </li>
7512728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <li>
7522728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            <a href="<?cs var:toroot ?>training/wearables/notifications/pages.html">Adding Pages to a Notification</a>
7532728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          </li>
7542728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <li>
7552728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            <a href="<?cs var:toroot ?>training/wearables/notifications/stacks.html">Stacking Notifications</a>
7562728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          </li>
7572728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly        </ul>
7582728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly      </li>
7592728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly
7602728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly      <li class="nav-section">
7612728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly        <div class="nav-section-header">
7622728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <a href="<?cs var:toroot ?>training/wearables/apps/index.html"
7632728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly             description="How to build apps that run directly on wearables."
7642728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            >Creating Wearable Apps</a>
7652728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly        </div>
7662728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly        <ul>
7672728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <li>
7682728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            <a href="<?cs var:toroot ?>training/wearables/apps/creating.html">Creating and Running a Wearable App</a>
7692728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          </li>
7702728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <li>
7712728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            <a href="<?cs var:toroot ?>training/wearables/apps/layouts.html">Creating Custom Layouts</a>
7722728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          </li>
7732728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <li>
7742728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            <a href="<?cs var:toroot ?>training/wearables/apps/voice.html">Adding Voice Capabilities</a>
7752728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          </li>
7762728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <li>
7772728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            <a href="<?cs var:toroot ?>training/wearables/apps/packaging.html">Packaging Wearable Apps</a>
7782728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          </li>
7792728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <li>
7802728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            <a href="<?cs var:toroot ?>training/wearables/apps/bt-debugging.html">Debugging over Bluetooth</a>
7812728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          </li>
7822728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly        </ul>
7832728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly      </li>
7842728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly
7852728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly      <li class="nav-section">
7862728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly        <div class="nav-section-header">
787bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera          <a href="<?cs var:toroot ?>training/wearables/ui/index.html"
788bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera             description="How to create custom user interfaces for wearable apps."
789bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera            >Creating Custom UIs</a>
790bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera        </div>
791bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera        <ul>
792bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera          <li>
793bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera            <a href="<?cs var:toroot ?>training/wearables/ui/layouts.html">Defining Layouts</a>
794bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera          </li>
795bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera          <li>
796bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera            <a href="<?cs var:toroot ?>training/wearables/ui/cards.html">Creating Cards</a>
797bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera          </li>
798bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera          <li>
799bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera            <a href="<?cs var:toroot ?>training/wearables/ui/lists.html">Creating Lists</a>
800bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera          </li>
801bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera          <li>
802bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera            <a href="<?cs var:toroot ?>training/wearables/ui/2d-picker.html">Creating a 2D Picker</a>
803bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera          </li>
804bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera          <li>
805bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera            <a href="<?cs var:toroot ?>training/wearables/ui/confirm.html">Showing Confirmations</a>
806bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera          </li>
807bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera          <li>
808bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera            <a href="<?cs var:toroot ?>training/wearables/ui/exit.html">Exiting Full-Screen Activities</a>
809bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera          </li>
810bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera        </ul>
811bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera      </li>
812bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera
813bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera      <li class="nav-section">
814bab2bf78ef21427cf553cd71837bafe6b5f24ecbRicardo Cervera        <div class="nav-section-header">
8152728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <a href="<?cs var:toroot ?>training/wearables/data-layer/index.html"
8162728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly             description="How to sync data between handhelds and wearables."
8172728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            >Sending and Syncing Data</a>
8182728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly        </div>
8192728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly        <ul>
8202728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <li>
8212728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            <a href="<?cs var:toroot ?>training/wearables/data-layer/accessing.html">Accessing the Wearable Data Layer</a>
8222728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          </li>
8232728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <li>
8242728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            <a href="<?cs var:toroot ?>training/wearables/data-layer/data-items.html">Syncing Data Items</a>
8252728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          </li>
8262728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <li>
8272728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            <a href="<?cs var:toroot ?>training/wearables/data-layer/assets.html">Transferring Assets</a>
8282728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          </li>
8292728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <li>
8302728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            <a href="<?cs var:toroot ?>training/wearables/data-layer/messages.html">Sending and Receiving Messages</a>
8312728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          </li>
8322728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          <li>
8332728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly            <a href="<?cs var:toroot ?>training/wearables/data-layer/events.html">Handling Data Layer Events</a>
8342728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly          </li>
8352728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly        </ul>
8362728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly      </li>
8372728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly    </ul>
8382728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly  </li>
8392728c2a93abd74ef19e550f3530ee70ea41424b3Robert Ly  <!-- End Building for wearables -->
84022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main
841414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera
842d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez  <!-- Start: Building for TV -->
843d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez  <li class="nav-section">
844d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez    <div class="nav-section-header">
845d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez      <a href="<?cs var:toroot ?>training/tv/index.html">
846d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez      <span class="small">Building Apps for</span><br/>
847d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez              TV
848d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez      </a>
849d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez    </div>
850d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez    <ul>
851d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez
852d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez      <li class="nav-section">
853d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez        <div class="nav-section-header">
854e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez
855d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez          <a href="<?cs var:toroot ?>training/tv/start/index.html"
856d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez             description="How to start building TV apps or extend your existing app to run on TV
857d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez             devices.">
858d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez             Building TV Apps</a>
859d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez        </div>
860d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez        <ul>
861d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez          <li>
862d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez            <a href="<?cs var:toroot ?>training/tv/start/start.html">
863d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez              Getting Started with TV Apps</a>
864d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez          </li>
865d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez          <li>
866d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez            <a href="<?cs var:toroot ?>training/tv/start/hardware.html">
867d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez              Handling TV Hardware</a>
868d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez          </li>
869d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez          <li>
870d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez            <a href="<?cs var:toroot ?>training/tv/start/layouts.html">
871d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez              Building TV Layouts</a>
872d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez          </li>
873d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez          <li>
874d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez            <a href="<?cs var:toroot ?>training/tv/start/navigation.html">
875d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez              Creating TV Navigation</a>
876d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez          </li>
877d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez        </ul>
878d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez      </li>
879d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez
880f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez      <li class="nav-section">
881f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez        <div class="nav-section-header">
882f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez          <a href="<?cs var:toroot ?>training/tv/playback/index.html"
883f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez             description="How to build apps that provide media catalogs and play content.">
884f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez             Building TV Playback Apps</a>
885f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez        </div>
886f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez        <ul>
887f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez          <li>
888f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez            <a href="<?cs var:toroot ?>training/tv/playback/browse.html">
889f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez              Creating a Catalog Browser</a>
890f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez          </li>
891f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez          <li>
892f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez            <a href="<?cs var:toroot ?>training/tv/playback/details.html">
893f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez              Building a Details View</a>
894f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez          </li>
8956bd081ca8a555fd71fbe856374b8efe68ede6144Scott Rowe          <li>
8966bd081ca8a555fd71fbe856374b8efe68ede6144Scott Rowe            <a href="<?cs var:toroot ?>training/tv/playback/now-playing.html">
8976bd081ca8a555fd71fbe856374b8efe68ede6144Scott Rowe              Displaying a Now Playing Card</a>
8986bd081ca8a555fd71fbe856374b8efe68ede6144Scott Rowe          </li>
899f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez        </ul>
900f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez      </li>
901f666355b2d9dbffffa640aff7731a8ba8309eaaaJoe Fernandez
902e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez      <li class="nav-section">
903e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez        <div class="nav-section-header">
904e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez          <a href="<?cs var:toroot ?>training/tv/discovery/index.html"
9057213656f986f5713c46ce5e86f8b8f569640275bJoe Fernandez             description="How to help users discover content from your app.">
906e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez             Helping Users Find Content on TV</a>
907e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez        </div>
908e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez        <ul>
909e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez          <li>
910e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez            <a href="<?cs var:toroot ?>training/tv/discovery/recommendations.html">
911e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez              Recommending TV Content</a>
912e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez          </li>
913e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez          <li>
914e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez            <a href="<?cs var:toroot ?>training/tv/discovery/in-app-search.html">
915e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez              Searching within TV Apps</a>
916e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez          </li>
917e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez        </ul>
918e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez      </li>
919e6b9abb3ad06d32e76a07e733e0a6554479fbfa4Joe Fernandez
92015edcda56ba12ad04a286f4d07f2b6fe0b1c5e38Joe Fernandez      <li>
92115edcda56ba12ad04a286f4d07f2b6fe0b1c5e38Joe Fernandez        <a href="<?cs var:toroot ?>training/tv/games/index.html"
92215edcda56ba12ad04a286f4d07f2b6fe0b1c5e38Joe Fernandez           description="How to build games for TV.">
92315edcda56ba12ad04a286f4d07f2b6fe0b1c5e38Joe Fernandez           Building TV Games</a>
92415edcda56ba12ad04a286f4d07f2b6fe0b1c5e38Joe Fernandez      </li>
92515edcda56ba12ad04a286f4d07f2b6fe0b1c5e38Joe Fernandez
926bab257453bdc0c8b7f11de88dd7a8f8fa202803fAndrew Solovay      <li>
9277213656f986f5713c46ce5e86f8b8f569640275bJoe Fernandez        <a href="<?cs var:toroot ?>training/tv/tif/index.html"
9287213656f986f5713c46ce5e86f8b8f569640275bJoe Fernandez           description="How to build Live TV apps.">
9297213656f986f5713c46ce5e86f8b8f569640275bJoe Fernandez           Building Live TV Apps</a>
930bab257453bdc0c8b7f11de88dd7a8f8fa202803fAndrew Solovay      </li>
931d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez    </ul>
932d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez  </li>
933d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez  <!-- End: Building for TV -->
934d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez
935d86a2f5b344a6c3520ab05c02df8a5b3fdfa5aeaJoe Fernandez
93622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <li class="nav-section">
93722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <div class="nav-section-header">
93822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <a href="<?cs var:toroot ?>training/best-ux.html">
93922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <span class="small">Best Practices for</span><br/>
9408142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main              Interaction &amp; Engagement
94122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      </a>
94222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </div>
94322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <ul>
94450c2275cff28c4a216f6924584e43cd64b90a3bfJoe Malin
94550e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
94622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
94722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/design-navigation/index.html"
94822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
94922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to plan your app's screen hierarchy and forms of navigation so users can
95022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             effectively and intuitively traverse your app content using various navigation
95122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             patterns."
95222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Designing Effective Navigation</a>
95322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
9547736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main        <ul>
95522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/design-navigation/screen-planning.html">
95622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Planning Screens and Their Relationships
9577736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
9587736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
95922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/design-navigation/multiple-sizes.html">
96022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Planning for Multiple Touchscreen Sizes
9617736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
9627736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
96322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/design-navigation/descendant-lateral.html">
96422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Providing Descendant and Lateral Navigation
96522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </a>
96622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </li>
96722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/design-navigation/ancestral-temporal.html">
96822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Providing Ancestral and Temporal Navigation
96922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </a>
97022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </li>
97122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/design-navigation/wireframing.html">
97222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Putting it All Together: Wireframing the Example App
9737736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
9747736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
9757736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main        </ul>
9767736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main      </li>
97750c2275cff28c4a216f6924584e43cd64b90a3bfJoe Malin
97850e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
97922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
98022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/implementing-navigation/index.html"
98122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
9827c8405513675c47205a68c0644f6046eebefc5a3Scott Main             "How to implement various navigation patterns such as swipe views,
9837c8405513675c47205a68c0644f6046eebefc5a3Scott Main             a navigation drawer, and up navigation."
98422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Implementing Effective Navigation</a>
98522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
9867736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main        <ul>
98722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/implementing-navigation/lateral.html">
9887c8405513675c47205a68c0644f6046eebefc5a3Scott Main            Creating Swipe Views with Tabs
9897c8405513675c47205a68c0644f6046eebefc5a3Scott Main          </a>
9907c8405513675c47205a68c0644f6046eebefc5a3Scott Main          </li>
9917c8405513675c47205a68c0644f6046eebefc5a3Scott Main          <li><a href="<?cs var:toroot ?>training/implementing-navigation/nav-drawer.html">
9927c8405513675c47205a68c0644f6046eebefc5a3Scott Main            Creating a Navigation Drawer
9937736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
9947736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
99522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/implementing-navigation/ancestral.html">
9967c8405513675c47205a68c0644f6046eebefc5a3Scott Main            Providing Up Navigation
9977736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
9987736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
99922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/implementing-navigation/temporal.html">
10007c8405513675c47205a68c0644f6046eebefc5a3Scott Main            Providing Proper Back Navigation
10017736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
10027736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
100322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/implementing-navigation/descendant.html">
100422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Implementing Descendant Navigation
10057736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
10067736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
10077736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main        </ul>
10087736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main      </li>
10090aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j
10100aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j      <li class="nav-section">
10110aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          <div class="nav-section-header">
10120aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j              <a href="<?cs var:toroot ?>training/notify-user/index.html"
10130aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                 description=
1014f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin                 "How to display messages called notifications outside of
10150aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                 your application's UI."
10160aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j               >Notifying the User</a>
10170aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          </div>
10180aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          <ul>
10190aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j              <li>
10200aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  <a href="<?cs var:toroot ?>training/notify-user/build-notification.html">
10210aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  Building a Notification
10220aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  </a>
10230aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j              </li>
10240aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j              <li>
10250aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  <a href="<?cs var:toroot ?>training/notify-user/navigation.html">
10260aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  Preserving Navigation when Starting an Activity
10270aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  </a>
10280aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j              </li>
10290aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j              <li>
10300aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  <a href="<?cs var:toroot ?>training/notify-user/managing.html">
10310aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  Updating Notifications
10320aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  </a>
10330aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j              </li>
10340aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j              <li>
10350aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  <a href="<?cs var:toroot ?>training/notify-user/expanded.html">
10360aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  Using Big View Styles
10370aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  </a>
10380aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j              </li>
10390aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j              <li>
10400aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  <a href="<?cs var:toroot ?>training/notify-user/display-progress.html">
10410aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  Displaying Progress in a Notification
10420aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  </a>
10430aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j              </li>
10440aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          </ul>
10450aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j      </li>
10460aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j
10470aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j      <li class="nav-section">
10480aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j        <div class="nav-section-header">
10490aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          <a href="<?cs var:toroot ?>training/search/index.html"
10500aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j             description=
10510aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j             "How to properly add a search interface to your app and create a searchable database."
10520aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j            >Adding Search Functionality</a>
10530aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j        </div>
10540aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j        <ul>
10550aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          <li><a href="<?cs var:toroot ?>training/search/setup.html">
10560aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j            Setting up the Search Interface
10570aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          </a>
10580aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          </li>
10590aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          <li><a href="<?cs var:toroot ?>training/search/search.html">
10600aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j            Storing and Searching for Data
10610aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          </a>
10620aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          </li>
10630aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          <li><a href="<?cs var:toroot ?>training/search/backward-compat.html">
10640aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j            Remaining Backward Compatible
10650aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          </a>
10660aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          </li>
10670aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j        </ul>
10680aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j      </li>
10693ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
10708142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main     <li class="nav-section">
10718142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main        <div class="nav-section-header">
10728142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main          <a href="<?cs var:toroot ?>training/app-indexing/index.html"
10738142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main             description=
10748142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main             "How to enable deep linking and indexing of your application
10758142898da2e10d73617cd953a7bff85ff56dd0f5Scott Maincontent so that users can open this content directly from their mobile search
10768142898da2e10d73617cd953a7bff85ff56dd0f5Scott Mainresults."
1077240aca333e340445f977d2a0e268a7c8d3a591e0quddusc            >Making Your App Content Searchable by Google</a>
10788142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main        </div>
10798142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main        <ul>
10808142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main          <li><a href="<?cs var:toroot ?>training/app-indexing/deep-linking.html">
10818142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main            Enabling Deep Links for App Content
10828142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main          </a>
10838142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main          </li>
10848142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main          <li><a href="<?cs var:toroot ?>training/app-indexing/enabling-app-indexing.html">
10858142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main            Specifying  App Content for Indexing
10868142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main          </a>
10878142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main          </li>
10888142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main        </ul>
10898142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main      </li>
10908142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main    </ul>
10918142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main  </li>
10928142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main  <!-- End Interaction and Engagement -->
10938142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main
10948142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main
10958142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main
10968142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main
10978142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main  <li class="nav-section">
10988142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main    <div class="nav-section-header">
10998142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main      <a href="<?cs var:toroot ?>training/best-ui.html">
11008142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main      <span class="small">Best Practices for</span><br/>
11018142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main              User Interface
11028142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main      </a>
11038142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main    </div>
11048142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main    <ul>
11058142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main
11063ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
110750e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
110822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
11095b50239c33176e0b321d2ee32a589e0583767e02Scott Main          <a href="<?cs var:toroot ?>training/multiscreen/index.html"
1110b582c678c88df2848023b7f27f4bc0ab2249e1e1Dirk Dougherty             zh-cn-lang="针对多种屏幕进行设计"
111122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             ja-lang="複数画面のデザイン"
111222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             es-lang="Cómo diseñar aplicaciones para varias pantallas"
111322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
111422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to build a user interface that's flexible enough to
111522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             fit perfectly on any screen and how to create different interaction
111622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             patterns that are optimized for different screen sizes."
111722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Designing for Multiple Screens</a>
111822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
111938e09c3ddb7da47a23bf4221ab678e058c7e923aRoman Nurik        <ul>
11205b50239c33176e0b321d2ee32a589e0583767e02Scott Main          <li><a href="<?cs var:toroot ?>training/multiscreen/screensizes.html"
1121b582c678c88df2848023b7f27f4bc0ab2249e1e1Dirk Dougherty            zh-cn-lang="支持各种屏幕尺寸"
112222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            ko-lang="다양한 화면 크기 지원"
112322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            ja-lang="さまざまな画面サイズのサポート"
1124f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin            es-lang="Cómo admitir varios tamaños de pantalla"
112522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Supporting Different Screen Sizes</a>
112638e09c3ddb7da47a23bf4221ab678e058c7e923aRoman Nurik          </li>
11275b50239c33176e0b321d2ee32a589e0583767e02Scott Main          <li><a href="<?cs var:toroot ?>training/multiscreen/screendensities.html"
1128b582c678c88df2848023b7f27f4bc0ab2249e1e1Dirk Dougherty            zh-cn-lang="支持各种屏幕密度"
112922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            ja-lang="さまざまな画面密度のサポート"
1130f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin            es-lang="Cómo admitir varias densidades de pantalla"
113122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Supporting Different Screen Densities</a>
113238e09c3ddb7da47a23bf4221ab678e058c7e923aRoman Nurik          </li>
11335b50239c33176e0b321d2ee32a589e0583767e02Scott Main          <li><a href="<?cs var:toroot ?>training/multiscreen/adaptui.html"
1134b582c678c88df2848023b7f27f4bc0ab2249e1e1Dirk Dougherty            zh-cn-lang="实施自适应用户界面流程"
113522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            ja-lang="順応性のある UI フローの実装"
1136f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin            es-lang="Cómo implementar interfaces de usuario adaptables"
113722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Implementing Adaptive UI Flows</a>
113838e09c3ddb7da47a23bf4221ab678e058c7e923aRoman Nurik          </li>
113938e09c3ddb7da47a23bf4221ab678e058c7e923aRoman Nurik        </ul>
114038e09c3ddb7da47a23bf4221ab678e058c7e923aRoman Nurik      </li>
114138e09c3ddb7da47a23bf4221ab678e058c7e923aRoman Nurik
114250e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
114322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
114422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/custom-views/index.html"
114522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
114622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to build custom UI widgets that are interactive and smooth."
114722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Creating Custom Views</a>
114822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
1149580f0146535e7daed83aef721f505270f7b040e1Scott Main        <ul>
115022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/custom-views/create-view.html">
115122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Creating a Custom View Class
1152580f0146535e7daed83aef721f505270f7b040e1Scott Main          </a>
1153580f0146535e7daed83aef721f505270f7b040e1Scott Main          </li>
115422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/custom-views/custom-drawing.html">
115522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Implementing Custom Drawing
1156580f0146535e7daed83aef721f505270f7b040e1Scott Main          </a>
1157580f0146535e7daed83aef721f505270f7b040e1Scott Main          </li>
115822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/custom-views/making-interactive.html">
115922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Making the View Interactive
1160580f0146535e7daed83aef721f505270f7b040e1Scott Main          </a>
1161580f0146535e7daed83aef721f505270f7b040e1Scott Main          </li>
116222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/custom-views/optimizing-view.html">
116322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Optimizing the View
1164580f0146535e7daed83aef721f505270f7b040e1Scott Main          </a>
1165580f0146535e7daed83aef721f505270f7b040e1Scott Main          </li>
1166580f0146535e7daed83aef721f505270f7b040e1Scott Main        </ul>
116719266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik      </li>
116819266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik
116950e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
117022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
117122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/backward-compatible-ui/index.html"
117222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
117322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to use UI components and other APIs from the more recent versions of Android
117422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             while remaining compatible with older versions of the platform."
117522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Creating Backward-Compatible UIs</a>
117622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
117719266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik        <ul>
117822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/backward-compatible-ui/abstracting.html">
117922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Abstracting the New APIs
118019266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik          </a>
118119266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik          </li>
118222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/backward-compatible-ui/new-implementation.html">
118322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Proxying to the New APIs
118419266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik          </a>
118519266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik          </li>
118622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/backward-compatible-ui/older-implementation.html">
118722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Creating an Implementation with Older APIs
118819266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik          </a>
118919266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik          </li>
119022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/backward-compatible-ui/using-component.html">
119122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Using the Version-Aware Component
119219266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik          </a>
119319266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik          </li>
119419266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik        </ul>
119519266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik      </li>
11963ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
119750e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
119822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
119922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/accessibility/index.html"
120022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
120122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to make your app accessible to users with vision
120222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             impairment or other physical disabilities."
120322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Implementing Accessibility</a>
1204931ff55a905c2efb7abb7ac287fe2132aaf77627Megha Joshi        </div>
1205931ff55a905c2efb7abb7ac287fe2132aaf77627Megha Joshi        <ul>
120622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/accessibility/accessible-app.html">
120722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Developing Accessible Applications
1208931ff55a905c2efb7abb7ac287fe2132aaf77627Megha Joshi          </a>
1209931ff55a905c2efb7abb7ac287fe2132aaf77627Megha Joshi          </li>
121022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/accessibility/service.html">
121122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Developing Accessibility Services
1212931ff55a905c2efb7abb7ac287fe2132aaf77627Megha Joshi          </a>
1213931ff55a905c2efb7abb7ac287fe2132aaf77627Megha Joshi          </li>
1214931ff55a905c2efb7abb7ac287fe2132aaf77627Megha Joshi        </ul>
1215580f0146535e7daed83aef721f505270f7b040e1Scott Main      </li>
12163ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
1217cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick      <li class="nav-section">
1218cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick        <div class="nav-section-header">
1219cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick          <a href="<?cs var:toroot ?>training/system-ui/index.html"
1220cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick             description=
1221cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick             "How to hide and show status and navigation bars across different versions of Android,
1222cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick              while managing the display of other screen components."
1223cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick            >Managing the System UI</a>
1224cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick        </div>
1225cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick        <ul>
1226cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick          <li><a href="<?cs var:toroot ?>training/system-ui/dim.html">
1227cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick            Dimming the System Bars
1228cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick          </a>
1229cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick          </li>
1230cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick          <li><a href="<?cs var:toroot ?>training/system-ui/status.html">
1231cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick            Hiding the Status Bar
1232cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick          </a>
1233cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick          </li>
1234cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick          <li><a href="<?cs var:toroot ?>training/system-ui/navigation.html">
1235cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick            Hiding the Navigation Bar
1236cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick          </a>
1237cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick          </li>
12385b50239c33176e0b321d2ee32a589e0583767e02Scott Main          <li><a href="<?cs var:toroot ?>training/system-ui/immersive.html">
1239467f5db87950601fb5e0936aca9a1cebe28d350bKatie McCormick            Using Immersive Full-Screen Mode
1240467f5db87950601fb5e0936aca9a1cebe28d350bKatie McCormick          </a>
1241467f5db87950601fb5e0936aca9a1cebe28d350bKatie McCormick          </li>
1242cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick          <li><a href="<?cs var:toroot ?>training/system-ui/visibility.html">
1243cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick            Responding to UI Visibility Changes
1244cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick          </a>
1245414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          </li>
1246414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera        </ul>
1247414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera      </li>
1248414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera
1249414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera      <li class="nav-section">
1250414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera        <div class="nav-section-header">
1251414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          <a href="<?cs var:toroot ?>training/material/index.html"
1252414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera             description=
1253414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera             "How to implement material design on Android."
1254414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera            >Creating Apps with Material Design</a>
1255414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera        </div>
1256414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera        <ul>
1257414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          <li><a href="<?cs var:toroot ?>training/material/get-started.html">
1258414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera            Getting Started
1259414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          </a>
1260414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          </li>
1261414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          <li><a href="<?cs var:toroot ?>training/material/theme.html">
1262414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera            Using the Material Theme
1263414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          </a>
1264414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          </li>
1265414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          <li><a href="<?cs var:toroot ?>training/material/lists-cards.html">
1266414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera            Creating Lists and Cards
1267414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          </a>
1268414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          </li>
1269414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          <li><a href="<?cs var:toroot ?>training/material/shadows-clipping.html">
1270414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera            Defining Shadows and Clipping Views
1271414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          </a>
1272414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          </li>
1273414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          <li><a href="<?cs var:toroot ?>training/material/drawables.html">
1274414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera            Working with Drawables
1275414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          </a>
1276414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          </li>
1277414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          <li><a href="<?cs var:toroot ?>training/material/animations.html">
1278414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera            Defining Custom Animations
1279414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          </a>
1280414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          </li>
1281414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          <li><a href="<?cs var:toroot ?>training/material/compatibility.html">
1282414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera            Maintaining Compatibility
1283414978a821d54e34e18ba0d86aef265ac85f24adRicardo Cervera          </a>
1284cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick          </li>
1285cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick        </ul>
1286cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick      </li>
1287cfd3047f42993c8eaec635c6dc3301a86e980d11Katie McCormick
128822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </ul>
128922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  </li>
12908142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main  <!-- End User Interface -->
12918142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main
12928142898da2e10d73617cd953a7bff85ff56dd0f5Scott Main
12933ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
1294c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main
1295518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j  <li class="nav-section">
1296518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j    <div class="nav-section-header">
1297c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main      <a href="<?cs var:toroot ?>training/best-user-input.html">
1298518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j      <span class="small">Best Practices for</span><br/>
1299518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j              User Input
1300518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j      </a>
1301518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j    </div>
1302518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j    <ul>
13033ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
1304518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j      <li class="nav-section">
1305518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j        <div class="nav-section-header">
1306518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          <a href="<?cs var:toroot ?>training/gestures/index.html"
1307518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j             description=
1308518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j             "How to write apps that allow users to interact with the touch screen via touch gestures."
1309518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j            >Using Touch Gestures</a>
1310518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j        </div>
1311518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j        <ul>
1312518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          <li><a href="<?cs var:toroot ?>training/gestures/detector.html">
1313518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j            Detecting Common Gestures
1314518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </a>
1315518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </li>
1316518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          <li><a href="<?cs var:toroot ?>training/gestures/movement.html">
1317518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j            Tracking Movement
1318518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </a>
1319518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </li>
1320518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          <li><a href="<?cs var:toroot ?>training/gestures/scroll.html">
1321518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j            Animating a Scroll Gesture
1322518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </a>
1323518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </li>
1324518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          <li><a href="<?cs var:toroot ?>training/gestures/multi.html">
1325518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j            Handling Multi-Touch Gestures
1326518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </a>
1327518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </li>
1328518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          <li><a href="<?cs var:toroot ?>training/gestures/scale.html">
1329518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j            Dragging and Scaling
1330518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </a>
1331518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </li>
1332518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          <li><a href="<?cs var:toroot ?>training/gestures/viewgroup.html">
1333518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j            Managing Touch Events in a ViewGroup
1334518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </a>
1335518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </li>
1336518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j        </ul>
1337c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main      </li>
13383ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
1339c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main      <li class="nav-section">
1340c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main        <div class="nav-section-header">
1341c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          <a href="<?cs var:toroot ?>training/keyboard-input/index.html"
1342c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main             description=
1343c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main             "How to specify the appearance and behaviors of soft input methods (such
1344c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main             as on-screen keyboards) and how to optimize the experience with
1345c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main             hardware keyboards."
1346c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main            >Handling Keyboard Input</a>
1347c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main        </div>
1348c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main        <ul>
1349c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          <li><a href="<?cs var:toroot ?>training/keyboard-input/style.html">
1350c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main            Specifying the Input Method Type
1351c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          </a>
1352c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          </li>
1353c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          <li><a href="<?cs var:toroot ?>training/keyboard-input/visibility.html">
1354c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main            Handling Input Method Visibility
1355c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          </a>
1356c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          </li>
1357c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          <li><a href="<?cs var:toroot ?>training/keyboard-input/navigation.html">
1358c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main            Supporting Keyboard Navigation
1359c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          </a>
1360c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          </li>
1361c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          <li><a href="<?cs var:toroot ?>training/keyboard-input/commands.html">
1362c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main            Handling Keyboard Actions
1363c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          </a>
1364c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          </li>
1365c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main        </ul>
1366c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main      </li>
13671dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc
13681dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc      <li class="nav-section">
13691dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc        <div class="nav-section-header">
13701dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc          <a href="<?cs var:toroot ?>training/game-controllers/index.html"
13711dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc             description=
13721dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc             "How to write apps that support game controllers."
13731dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc            >Supporting Game Controllers</a>
13741dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc        </div>
13751dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc        <ul>
13761dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc          <li><a href="<?cs var:toroot ?>training/game-controllers/controller-input.html">
13771dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc            Handling Controller Actions
13781dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc          </a>
13791dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc          </li>
13801dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc          <li><a href="<?cs var:toroot ?>training/game-controllers/compatibility.html">
13811dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc            Supporting Controllers Across Android Versions
13821dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc          </a>
13831dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc          </li>
13841dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc          <li><a href="<?cs var:toroot ?>training/game-controllers/multiple-controllers.html">
13851dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc            Supporting Multiple Game Controllers
13861dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc          </a>
13871dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc          </li>
13881dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc        </ul>
13891dff746b0260f7ea423d961ae0c8a55f2a71af72quddusc      </li>
1390c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main    </ul>
1391421435d2bede2788b74b07b1bab893fef98047c5Joe Malin  </li> <!-- end of User Input -->
139250c2275cff28c4a216f6924584e43cd64b90a3bfJoe Malin
139322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <li class="nav-section">
139422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <div class="nav-section-header">
13957bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick      <a href="<?cs var:toroot ?>training/best-background.html">
139622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <span class="small">Best Practices for</span><br/>
13977bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick              Background Jobs
139822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      </a>
139922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </div>
140022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <ul>
14013ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
1402f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin      <li class="nav-section">
1403f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin        <div class="nav-section-header">
1404f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin          <a href="<?cs var:toroot ?>training/run-background-service/index.html"
1405f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin             description=
1406f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin             "How to improve UI performance and responsiveness by sending work to a
14078ac78803f59fd4fbe9e2682632791bc255d38aceScott Main             Service running in the background"
14088ac78803f59fd4fbe9e2682632791bc255d38aceScott Main            >Running in a Background Service</a>
1409f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin        </div>
1410f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin        <ul>
1411f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin          <li><a href="<?cs var:toroot ?>training/run-background-service/create-service.html">
1412f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin            Creating a Background Service
1413f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin          </a>
1414f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin          </li>
1415f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin          <li><a href="<?cs var:toroot ?>training/run-background-service/send-request.html">
1416f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin            Sending Work Requests to the Background Service
1417f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin          </a>
1418f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin          </li>
1419f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin          <li><a href="<?cs var:toroot ?>training/run-background-service/report-status.html">
1420f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin            Reporting Work Status
1421f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin          </a>
1422f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin          </li>
1423f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin        </ul>
1424f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin      </li>
14258ac78803f59fd4fbe9e2682632791bc255d38aceScott Main
14268ac78803f59fd4fbe9e2682632791bc255d38aceScott Main      <li class="nav-section">
14278ac78803f59fd4fbe9e2682632791bc255d38aceScott Main        <div class="nav-section-header">
14288ac78803f59fd4fbe9e2682632791bc255d38aceScott Main          <a href="<?cs var:toroot ?>training/load-data-background/index.html"
14298ac78803f59fd4fbe9e2682632791bc255d38aceScott Main             description="How to use CursorLoader to query data without
14308ac78803f59fd4fbe9e2682632791bc255d38aceScott Main             affecting UI responsiveness."
14318ac78803f59fd4fbe9e2682632791bc255d38aceScott Main            >Loading Data in the Background</a>
14328ac78803f59fd4fbe9e2682632791bc255d38aceScott Main        </div>
14338ac78803f59fd4fbe9e2682632791bc255d38aceScott Main        <ul>
14348ac78803f59fd4fbe9e2682632791bc255d38aceScott Main          <li><a href="<?cs var:toroot ?>training/load-data-background/setup-loader.html">
14358ac78803f59fd4fbe9e2682632791bc255d38aceScott Main            Running a Query with a CursorLoader</a>
14368ac78803f59fd4fbe9e2682632791bc255d38aceScott Main          </li>
14378ac78803f59fd4fbe9e2682632791bc255d38aceScott Main          <li><a href="<?cs var:toroot ?>training/load-data-background/handle-results.html">
14388ac78803f59fd4fbe9e2682632791bc255d38aceScott Main            Handling the Results</a>
14398ac78803f59fd4fbe9e2682632791bc255d38aceScott Main          </li>
14408ac78803f59fd4fbe9e2682632791bc255d38aceScott Main        </ul>
14418ac78803f59fd4fbe9e2682632791bc255d38aceScott Main      </li>
14423ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
14437bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick       <li class="nav-section">
14447bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick        <div class="nav-section-header">
14457bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          <a href="<?cs var:toroot ?>training/scheduling/index.html"
14467bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick             description="How to use repeating alarms and wake locks
14477bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick             to run background jobs."
14487bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick            >Managing Device Awake State</a>
14497bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick        </div>
14507bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick        <ul>
14517bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          <li><a href="<?cs var:toroot ?>training/scheduling/wakelock.html">
14527bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick            Keeping the Device Awake</a>
14537bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          </li>
14547bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          <li><a href="<?cs var:toroot ?>training/scheduling/alarms.html">
14557bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick            Scheduling Repeating Alarms</a>
14567bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          </li>
14577bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick        </ul>
14587bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick      </li>
14597bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick    </ul>
14607bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick  </li> <!-- end of Background Jobs -->
14617bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick
14627bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick  <li class="nav-section">
14637bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick    <div class="nav-section-header">
14647bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick      <a href="<?cs var:toroot ?>training/best-performance.html">
14657bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick      <span class="small">Best Practices for</span><br/>
14667bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick              Performance
14677bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick      </a>
14687bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick    </div>
14697bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick    <ul>
14707bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick
14717bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick      <li>
1472a3f0e01f332ee0acc8450bf4564992f2ffe2f426Scott Main        <a href="<?cs var:toroot ?>training/articles/memory.html"
1473a3f0e01f332ee0acc8450bf4564992f2ffe2f426Scott Main           description=
1474a3f0e01f332ee0acc8450bf4564992f2ffe2f426Scott Main           "How to keep your app's memory footprint small in order to improve performance
1475a3f0e01f332ee0acc8450bf4564992f2ffe2f426Scott Main           on a variety of mobile devices."
1476a3f0e01f332ee0acc8450bf4564992f2ffe2f426Scott Main          >Managing Your App's Memory</a>
1477a3f0e01f332ee0acc8450bf4564992f2ffe2f426Scott Main      </li>
1478a3f0e01f332ee0acc8450bf4564992f2ffe2f426Scott Main
1479a3f0e01f332ee0acc8450bf4564992f2ffe2f426Scott Main      <li>
14807bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick        <a href="<?cs var:toroot ?>training/articles/perf-tips.html"
14817bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick           description=
14827bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick           "How to optimize your app's performance in various ways to improve its
14837bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick           responsiveness and battery efficiency."
14847bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          >Performance Tips</a>
14857bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick      </li>
14867bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick
14877bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick      <li class="nav-section">
14887bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick        <div class="nav-section-header">
14897bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          <a href="<?cs var:toroot ?>training/improving-layouts/index.html"
14907bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick             description=
14917bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick             "How to identify problems in your app's layout performance and improve the UI
14927bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick             responsiveness."
14937bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick            >Improving Layout Performance</a>
14947bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick        </div>
14957bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick        <ul>
14967bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          <li><a href="<?cs var:toroot ?>training/improving-layouts/optimizing-layout.html">
14977bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick            Optimizing Layout Hierarchies
14987bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          </a>
14997bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          </li>
15007bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          <li><a href="<?cs var:toroot ?>training/improving-layouts/reusing-layouts.html">
15017bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick            Re-using Layouts with &lt;include/&gt;
15027bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          </a>
15037bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          </li>
15047bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          <li><a href="<?cs var:toroot ?>training/improving-layouts/loading-ondemand.html">
15057bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick            Loading Views On Demand
15067bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          </a>
15077bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          </li>
15087bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          <li><a href="<?cs var:toroot ?>training/improving-layouts/smooth-scrolling.html">
15097bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick            Making ListView Scrolling Smooth
15107bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          </a>
15117bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          </li>
15127bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick        </ul>
15137bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick      </li>
15147bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick
151550e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
151622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
15175b50239c33176e0b321d2ee32a589e0583767e02Scott Main          <a href="<?cs var:toroot ?>training/monitoring-device-state/index.html"
1518b582c678c88df2848023b7f27f4bc0ab2249e1e1Dirk Dougherty             zh-cn-lang="优化电池使用时间"
151922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             ja-lang="電池消費量の最適化"
152022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             es-lang="Cómo optimizar la duración de la batería"
152122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
152222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to minimize the amount of power your app requires by adapting to current
152322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             power conditions and performing power-hungry tasks at proper intervals."
152422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Optimizing Battery Life</a>
152522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
1526df6c8270e300e2d04f57e24bb2b34c33edce4a0dAlexander Lucas        <ul>
15275b50239c33176e0b321d2ee32a589e0583767e02Scott Main          <li><a href="<?cs var:toroot ?>training/monitoring-device-state/battery-monitoring.html"
1528b582c678c88df2848023b7f27f4bc0ab2249e1e1Dirk Dougherty            zh-cn-lang="监控电池电量和充电状态"
152922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            ja-lang="電池残量と充電状態の監視"
1530f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin            es-lang="Cómo controlar el nivel de batería y el estado de carga"
153122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Monitoring the Battery Level and Charging State</a>
1532df6c8270e300e2d04f57e24bb2b34c33edce4a0dAlexander Lucas          </li>
15335b50239c33176e0b321d2ee32a589e0583767e02Scott Main          <li><a href="<?cs var:toroot ?>training/monitoring-device-state/docking-monitoring.html"
1534b582c678c88df2848023b7f27f4bc0ab2249e1e1Dirk Dougherty            zh-cn-lang="确定和监控基座对接状态和类型"
153522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            ja-lang="ホルダーの装着状態とタイプの特定と監視"
1536f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin            es-lang="Cómo determinar y controlar el tipo de conector y el estado de la conexión"
153722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Determining and Monitoring the Docking State and Type</a>
153822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </li>
15395b50239c33176e0b321d2ee32a589e0583767e02Scott Main          <li><a href="<?cs var:toroot ?>training/monitoring-device-state/connectivity-monitoring.html"
1540b582c678c88df2848023b7f27f4bc0ab2249e1e1Dirk Dougherty            zh-cn-lang="确定和监控网络连接状态"
154122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            ja-lang="接続状態の特定と監視"
1542f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin            es-lang="Cómo determinar y controlar el estado de la conectividad"
154322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Determining and Monitoring the Connectivity Status</a>
154422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </li>
15455b50239c33176e0b321d2ee32a589e0583767e02Scott Main          <li><a href="<?cs var:toroot ?>training/monitoring-device-state/manifest-receivers.html"
1546b582c678c88df2848023b7f27f4bc0ab2249e1e1Dirk Dougherty            zh-cn-lang="根据需要操作广播接收器"
154722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            ja-lang="オンデマンドでのブロードキャスト レシーバ操作"
1548f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin            es-lang="Cómo manipular los receptores de emisión bajo demanda"
154922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Manipulating Broadcast Receivers On Demand</a>
1550df6c8270e300e2d04f57e24bb2b34c33edce4a0dAlexander Lucas          </li>
1551df6c8270e300e2d04f57e24bb2b34c33edce4a0dAlexander Lucas        </ul>
1552df6c8270e300e2d04f57e24bb2b34c33edce4a0dAlexander Lucas      </li>
15538dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin      <li class="nav-section">
15548dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin        <div class="nav-section-header">
15558dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          <a href="<?cs var:toroot ?>training/multiple-threads/index.html"
15568dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin             description=
15578dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin             "How to improve the performance and scalability of long-running operations by
15588dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin              dispatching work to multiple threads.">
15598dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin             Sending Operations to Multiple Threads</a>
15608dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin        </div>
15618dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin        <ul>
15628dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          <li><a href="<?cs var:toroot ?>training/multiple-threads/define-runnable.html">
15638dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin            Specifying the Code to Run on a Thread
15648dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          </a>
15658dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          </li>
15668dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          <li><a href="<?cs var:toroot ?>training/multiple-threads/create-threadpool.html">
15678dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin            Creating a Manager for Multiple Threads
15688dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          </a>
15698dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          </li>
15708dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          <li><a href="<?cs var:toroot ?>training/multiple-threads/run-code.html">
15718dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin            Running Code on a Thread Pool Thread
15728dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          </a>
15738dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          </li>
15748dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          <li><a href="<?cs var:toroot ?>training/multiple-threads/communicate-ui.html">
15758dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin            Communicating with the UI Thread
15768dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          </a>
15778dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          </li>
1578df6c8270e300e2d04f57e24bb2b34c33edce4a0dAlexander Lucas        </ul>
1579df6c8270e300e2d04f57e24bb2b34c33edce4a0dAlexander Lucas      </li>
15803ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
158122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <li>
158233e499ea364e4e061964bc8fe16365fd632eb39dScott Main        <a href="<?cs var:toroot ?>training/articles/perf-anr.html"
158322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main           description=
158422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main           "How to keep your app responsive to user interaction so the UI does not lock-up and
158522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main           display an &quot;Application Not Responding&quot; dialog."
158622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          >Keeping Your App Responsive</a>
158722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      </li>
15883ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
158922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <li>
159033e499ea364e4e061964bc8fe16365fd632eb39dScott Main        <a href="<?cs var:toroot ?>training/articles/perf-jni.html"
159122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main           description=
159222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main           "How to efficiently use the Java Native Interface with the Android NDK."
159322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          >JNI Tips</a>
159422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      </li>
1595d5894210930fc0a8bc3733258747d837e2960fa9Dirk Dougherty      <li>
1596d5894210930fc0a8bc3733258747d837e2960fa9Dirk Dougherty        <a href="<?cs var:toroot ?>training/articles/smp.html"
1597d5894210930fc0a8bc3733258747d837e2960fa9Dirk Dougherty           description=
1598d5894210930fc0a8bc3733258747d837e2960fa9Dirk Dougherty           "Tips for coding Android apps on symmetric multiprocessor systems."
1599d5894210930fc0a8bc3733258747d837e2960fa9Dirk Dougherty          >SMP Primer for Android</a>
1600d5894210930fc0a8bc3733258747d837e2960fa9Dirk Dougherty      </li>
160122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </ul>
160222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  </li> <!-- end of Performance -->
16033ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
16043ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
1605df6c8270e300e2d04f57e24bb2b34c33edce4a0dAlexander Lucas
160622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <li class="nav-section">
160722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <div class="nav-section-header">
160822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <a href="<?cs var:toroot ?>training/best-security.html">
160922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <span class="small">Best Practices for</span><br/>
161022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main              Security &amp; Privacy
161122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      </a>
161222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </div>
161322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <ul>
161422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <li>
161533e499ea364e4e061964bc8fe16365fd632eb39dScott Main        <a href="<?cs var:toroot ?>training/articles/security-tips.html"
161622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main           description=
161722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main           "How to perform various tasks and keep your app's data and your user's data secure."
161822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          >Security Tips</a>
161922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      </li>
162000158363b47d916d159d2f3a0e1152783fd66a9cScott Main
162100158363b47d916d159d2f3a0e1152783fd66a9cScott Main      <li>
162200158363b47d916d159d2f3a0e1152783fd66a9cScott Main        <a href="<?cs var:toroot ?>training/articles/security-ssl.html"
162300158363b47d916d159d2f3a0e1152783fd66a9cScott Main           description=
162400158363b47d916d159d2f3a0e1152783fd66a9cScott Main           "How to ensure that your app is secure when performing network transactions."
162500158363b47d916d159d2f3a0e1152783fd66a9cScott Main          >Security with HTTPS and SSL</a>
162600158363b47d916d159d2f3a0e1152783fd66a9cScott Main      </li>
16273ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
1628897cf908c9f1e5f5a2c0b4a3ec72636e64b94eb4Andrew Solovay      <li>
1629897cf908c9f1e5f5a2c0b4a3ec72636e64b94eb4Andrew Solovay        <a href="<?cs var:toroot ?>training/articles/security-gms-provider.html"
1630897cf908c9f1e5f5a2c0b4a3ec72636e64b94eb4Andrew Solovay           description=
1631897cf908c9f1e5f5a2c0b4a3ec72636e64b94eb4Andrew Solovay           "How to use and update Google Play services security provider, to
1632897cf908c9f1e5f5a2c0b4a3ec72636e64b94eb4Andrew Solovay           protect against SSL exploits."
1633897cf908c9f1e5f5a2c0b4a3ec72636e64b94eb4Andrew Solovay          >Updating Your Security Provider to Protect Against SSL Exploits</a>
1634897cf908c9f1e5f5a2c0b4a3ec72636e64b94eb4Andrew Solovay      </li>
1635897cf908c9f1e5f5a2c0b4a3ec72636e64b94eb4Andrew Solovay
163650e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
163722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
163822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/enterprise/index.html"
163922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
164022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to implement device management policies for enterprise-oriented apps."
164122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Developing for Enterprise</a>
164222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
164350e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main        <ul>
164422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/enterprise/device-management-policy.html">
164522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Enhancing Security with Device Management Policies
164650e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main          </a>
164750e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main          </li>
1648e577d72a3be20e589437271f0e5ca474fab38124Roman Nurik        </ul>
1649e577d72a3be20e589437271f0e5ca474fab38124Roman Nurik      </li>
165022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </ul>
165122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  </li>
165222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <!-- End security and user info -->
16534c4a47f42101a57ab8ff05a8e035d97582c3368aScott Main
16542ef3952d8e62b71baca176b3e17315a37facd34aquddusc  <li class="nav-section">
16552ef3952d8e62b71baca176b3e17315a37facd34aquddusc    <div class="nav-section-header">
16562ef3952d8e62b71baca176b3e17315a37facd34aquddusc      <a href="<?cs var:toroot ?>training/testing.html">
16572ef3952d8e62b71baca176b3e17315a37facd34aquddusc      <span class="small">Best Practices for</span><br/>
16582ef3952d8e62b71baca176b3e17315a37facd34aquddusc              Testing
16592ef3952d8e62b71baca176b3e17315a37facd34aquddusc      </a>
16602ef3952d8e62b71baca176b3e17315a37facd34aquddusc    </div>
16612ef3952d8e62b71baca176b3e17315a37facd34aquddusc    <ul>
16622ef3952d8e62b71baca176b3e17315a37facd34aquddusc      <li class="nav-section">
16632ef3952d8e62b71baca176b3e17315a37facd34aquddusc      <div class="nav-section-header"><a href="<?cs var:toroot ?>training/activity-testing/index.html"
16642ef3952d8e62b71baca176b3e17315a37facd34aquddusc         description="How to test Activities in your Android applications.">
16652ef3952d8e62b71baca176b3e17315a37facd34aquddusc            Testing Your Activity
16662ef3952d8e62b71baca176b3e17315a37facd34aquddusc          </a></div>
16672ef3952d8e62b71baca176b3e17315a37facd34aquddusc        <ul>
16682ef3952d8e62b71baca176b3e17315a37facd34aquddusc          <li><a href="<?cs var:toroot ?>training/activity-testing/preparing-activity-testing.html">
16692ef3952d8e62b71baca176b3e17315a37facd34aquddusc            <span class="en">Setting Up Your Test Environment</span>
16702ef3952d8e62b71baca176b3e17315a37facd34aquddusc          </a>
16712ef3952d8e62b71baca176b3e17315a37facd34aquddusc          </li>
16722ef3952d8e62b71baca176b3e17315a37facd34aquddusc          <li><a href="<?cs var:toroot ?>training/activity-testing/activity-basic-testing.html">
16732ef3952d8e62b71baca176b3e17315a37facd34aquddusc            <span class="en">Creating and Running a Test Case</span>
16742ef3952d8e62b71baca176b3e17315a37facd34aquddusc          </a>
16752ef3952d8e62b71baca176b3e17315a37facd34aquddusc          </li>
16762ef3952d8e62b71baca176b3e17315a37facd34aquddusc          <li><a href="<?cs var:toroot ?>training/activity-testing/activity-ui-testing.html">
16772ef3952d8e62b71baca176b3e17315a37facd34aquddusc            <span class="en">Testing UI Components</span>
16782ef3952d8e62b71baca176b3e17315a37facd34aquddusc          </a>
16792ef3952d8e62b71baca176b3e17315a37facd34aquddusc          </li>
16802ef3952d8e62b71baca176b3e17315a37facd34aquddusc          <li><a href="<?cs var:toroot ?>training/activity-testing/activity-unit-testing.html">
16812ef3952d8e62b71baca176b3e17315a37facd34aquddusc            <span class="en">Creating Unit Tests</span>
16822ef3952d8e62b71baca176b3e17315a37facd34aquddusc          </a>
16832ef3952d8e62b71baca176b3e17315a37facd34aquddusc          </li>
16842ef3952d8e62b71baca176b3e17315a37facd34aquddusc          <li><a href="<?cs var:toroot ?>training/activity-testing/activity-functional-testing.html">
16852ef3952d8e62b71baca176b3e17315a37facd34aquddusc            <span class="en">Creating Functional Tests</span>
16862ef3952d8e62b71baca176b3e17315a37facd34aquddusc          </a>
16872ef3952d8e62b71baca176b3e17315a37facd34aquddusc          </li>
16882ef3952d8e62b71baca176b3e17315a37facd34aquddusc        </ul>
16892ef3952d8e62b71baca176b3e17315a37facd34aquddusc      </li>
16902ef3952d8e62b71baca176b3e17315a37facd34aquddusc    </ul>
16912ef3952d8e62b71baca176b3e17315a37facd34aquddusc  </li>
16922ef3952d8e62b71baca176b3e17315a37facd34aquddusc  <!-- End best Testing -->
169350e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main
169422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <li class="nav-section">
169522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <div class="nav-section-header">
169622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <a href="<?cs var:toroot ?>training/distribute.html">
169722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <span class="small">Using Google Play to</span><br/>
169822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main              Distribute &amp; Monetize
169922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      </a>
170022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </div>
170122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <ul>
1702768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong      <li class="nav-section">
1703768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong      <div class="nav-section-header"><a href="<?cs var:toroot ?>training/in-app-billing/index.html"
1704768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong         description="How to sell in-app products from your application using In-app Billing.">
1705768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong            Selling In-app Products
1706768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          </a></div>
1707768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong        <ul>
1708768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          <li><a href="<?cs var:toroot ?>training/in-app-billing/preparing-iab-app.html">
1709768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong            <span class="en">Preparing Your App</span>
1710768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          </a>
1711768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          </li>
1712768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          <li><a href="<?cs var:toroot ?>training/in-app-billing/list-iab-products.html">
1713768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong            <span class="en">Establishing Products for Sale</span>
1714768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          </a>
1715768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          </li>
1716768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          <li><a href="<?cs var:toroot ?>training/in-app-billing/purchase-iab-products.html">
1717768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong            <span class="en">Purchasing Products</span>
1718768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          </a>
1719768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          </li>
1720768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          <li><a href="<?cs var:toroot ?>training/in-app-billing/test-iab-app.html">
1721768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong            <span class="en">Testing Your App</span>
1722768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          </a>
1723768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          </li>
1724768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong        </ul>
1725768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong      </li>
17263ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
1727969c243f17a785dbe697e2cbe09c320136f0d82aAlexander Lucas      <li class="nav-section">
172822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
172922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/multiple-apks/index.html"
173022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
173122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to publish your app on Google Play with separate APKs that target
173222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             different devices, while using a single app listing."
173322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Maintaining Multiple APKs</a>
173422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
1735969c243f17a785dbe697e2cbe09c320136f0d82aAlexander Lucas        <ul>
173622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/multiple-apks/api.html">
173722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Creating Multiple APKs for Different API Levels
1738969c243f17a785dbe697e2cbe09c320136f0d82aAlexander Lucas          </a>
1739969c243f17a785dbe697e2cbe09c320136f0d82aAlexander Lucas          </li>
174022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/multiple-apks/screensize.html">
174122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Creating Multiple APKs for Different Screen Sizes
1742969c243f17a785dbe697e2cbe09c320136f0d82aAlexander Lucas          </a>
1743969c243f17a785dbe697e2cbe09c320136f0d82aAlexander Lucas          </li>
174422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/multiple-apks/texture.html">
174522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Creating Multiple APKs for Different GL Textures
174622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </a>
174722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </li>
174822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/multiple-apks/multiple.html">
174922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Creating Multiple APKs with 2+ Dimensions
1750969c243f17a785dbe697e2cbe09c320136f0d82aAlexander Lucas          </a>
1751969c243f17a785dbe697e2cbe09c320136f0d82aAlexander Lucas          </li>
1752969c243f17a785dbe697e2cbe09c320136f0d82aAlexander Lucas        </ul>
1753969c243f17a785dbe697e2cbe09c320136f0d82aAlexander Lucas      </li>
175450c2275cff28c4a216f6924584e43cd64b90a3bfJoe Malin      <li class="nav-section">
175522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
175622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/monetization/index.html"
175722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
175822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to implement monetization strategies for your app without compromising
175922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             the user experience."
176022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Monetizing Your App</a>
176122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
176250c2275cff28c4a216f6924584e43cd64b90a3bfJoe Malin        <ul>
176322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/monetization/ads-and-ux.html">
176422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Advertising without Compromising User Experience
176550c2275cff28c4a216f6924584e43cd64b90a3bfJoe Malin          </a>
176650c2275cff28c4a216f6924584e43cd64b90a3bfJoe Malin          </li>
176750c2275cff28c4a216f6924584e43cd64b90a3bfJoe Malin        </ul>
176850c2275cff28c4a216f6924584e43cd64b90a3bfJoe Malin      </li>
176922558d0be8210aee1a2ab64b374bb357d4123acdDirk Dougherty    </ul>
177022558d0be8210aee1a2ab64b374bb357d4123acdDirk Dougherty  </li>
177122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <!-- End best Publishing -->
177222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main
177350e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main</ul><!-- nav -->
177422558d0be8210aee1a2ab64b374bb357d4123acdDirk Dougherty<script type="text/javascript">
177522558d0be8210aee1a2ab64b374bb357d4123acdDirk Dougherty<!--
177622558d0be8210aee1a2ab64b374bb357d4123acdDirk Dougherty    buildToggleLists();
177722558d0be8210aee1a2ab64b374bb357d4123acdDirk Dougherty    changeNavLang(getLangPref());
177822558d0be8210aee1a2ab64b374bb357d4123acdDirk Dougherty//-->
177922558d0be8210aee1a2ab64b374bb357d4123acdDirk Dougherty</script>
1780