training_toc.cs revision 2e1c7b7495f2317ba30ae809b4964fdafcf504ce
150e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main<ul id="nav">
250e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main
350e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main
450e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main  <li class="nav-section">
550e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main    <div class="nav-section-header">
650e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <a href="<?cs var:toroot ?>training/index.html">
722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        Getting Started
850e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      </a>
950e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main    </div>
1050e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main
117736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main    <ul>
1250e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
1350e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main        <div class="nav-section-header">
1422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/basics/firstapp/index.html"
1522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
1622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "After you've installed the Android SDK, start with this class
1722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             to learn the basics about Android app development."
1822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Building Your First App</a>
1950e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main        </div>
20be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main        <ul>
21be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          <li><a href="<?cs var:toroot ?>training/basics/firstapp/creating-project.html">
2222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Creating an Android Project
23be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </a>
24be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </li>
25be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          <li><a href="<?cs var:toroot ?>training/basics/firstapp/running-app.html">
2622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Running Your Application
27be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </a>
28be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </li>
29be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          <li><a href="<?cs var:toroot ?>training/basics/firstapp/building-ui.html">
3022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Building a Simple User Interface
31be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </a>
32be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </li>
33be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          <li><a href="<?cs var:toroot ?>training/basics/firstapp/starting-activity.html">
3422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Starting Another Activity
35be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </a>
36be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </li>
37be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main        </ul>
38be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main      </li>
39be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main
4050e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
4122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
42d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main          <a href="<?cs var:toroot ?>training/basics/actionbar/index.html"
43d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main             description=
44d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main             "The action bar is one of the most important design elements you can implement for your
45d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Mainapp's activities. Although first introduced with API level 11, you can use the Support Library to
46d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Maininclude the action bar on devices running Android 2.1 or higher."
47d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main            >Adding the Action Bar</a>
48d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main        </div>
49d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main        <ul>
50d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main          <li><a href="<?cs var:toroot ?>training/basics/actionbar/setting-up.html">
51d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main            Setting Up the Action Bar
52d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main          </a>
53d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main          </li>
54d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main          <li><a href="<?cs var:toroot ?>training/basics/actionbar/adding-buttons.html">
55d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main            Adding Action Buttons
56d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main          </a>
57d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main          </li>
58d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main          <li><a href="<?cs var:toroot ?>training/basics/actionbar/styling.html">
59d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main            Styling the Action Bar
60d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main          </a>
61d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main          </li>
62d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main          <li><a href="<?cs var:toroot ?>training/basics/actionbar/overlaying.html">
63d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main            Overlaying the Action Bar
64d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main          </a>
65d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main          </li>
66d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main        </ul>
67d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main      </li>
68d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main
69d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main      <li class="nav-section">
70d041301adb8e6681d2f0dfd90fb5ad89c6232b6dScott Main        <div class="nav-section-header">
71f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main          <a href="<?cs var:toroot ?>training/basics/supporting-devices/index.html"
7222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
73f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main             "How to build your app with alternative resources that provide an
74f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main             optimized user experience on multiple device form factors using a single APK."
75f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main            >Supporting Different Devices</a>
7622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
77be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main        <ul>
78f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main          <li><a href="<?cs var:toroot ?>training/basics/supporting-devices/languages.html">
79f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main            Supporting Different Languages
80be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </a>
81be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </li>
82f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main          <li><a href="<?cs var:toroot ?>training/basics/supporting-devices/screens.html">
83f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main            Supporting Different Screens
84be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </a>
85be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </li>
86f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main          <li><a href="<?cs var:toroot ?>training/basics/supporting-devices/platforms.html">
87f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main            Supporting Different Platform Versions
88be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </a>
89be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </li>
90be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main        </ul>
91be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main      </li>
9250c2275cff28c4a216f6924584e43cd64b90a3bfJoe Malin
9350e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
9422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
95f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main          <a href="<?cs var:toroot ?>training/basics/activity-lifecycle/index.html"
9622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
97f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main             "How Android activities live and die and how to create
98f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main             a seamless user experience by implementing lifecycle callback methods."
99f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main            >Managing the Activity Lifecycle</a>
10022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
101be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main        <ul>
102f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main          <li><a href="<?cs var:toroot ?>training/basics/activity-lifecycle/starting.html">
103f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main            Starting an Activity
104be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </a>
105be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </li>
106f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main          <li><a href="<?cs var:toroot ?>training/basics/activity-lifecycle/pausing.html">
107f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main            Pausing and Resuming an Activity
108be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </a>
109be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </li>
110f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main          <li><a href="<?cs var:toroot ?>training/basics/activity-lifecycle/stopping.html">
111f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main            Stopping and Restarting an Activity
112f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main          </a>
113f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main          </li>
114f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main          <li><a href="<?cs var:toroot ?>training/basics/activity-lifecycle/recreating.html">
115f151391b72b5ab667ea0681de5bd2fbe0d94d8a9Scott Main            Recreating an Activity
116be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </a>
117be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </li>
118be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main        </ul>
119be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main      </li>
12050c2275cff28c4a216f6924584e43cd64b90a3bfJoe Malin
12150e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
12222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
12322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/basics/fragments/index.html"
12422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
12522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to build a user interface for your app that is flexible enough
12622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             to present multiple UI components on large screens and a more constrained set of
12722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             UI components on smaller screens&mdash;essential for building a single APK for both
12822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             phones and tablets."
12922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Building a Dynamic UI with Fragments</a>
13022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
131421854e6e8fe3418d22ae444567a06b5f308c896Scott Main        <ul>
132421854e6e8fe3418d22ae444567a06b5f308c896Scott Main          <li><a href="<?cs var:toroot ?>training/basics/fragments/creating.html">
13322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Creating a Fragment
134421854e6e8fe3418d22ae444567a06b5f308c896Scott Main          </a>
135421854e6e8fe3418d22ae444567a06b5f308c896Scott Main          </li>
136421854e6e8fe3418d22ae444567a06b5f308c896Scott Main          <li><a href="<?cs var:toroot ?>training/basics/fragments/fragment-ui.html">
13722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Building a Flexible UI
138421854e6e8fe3418d22ae444567a06b5f308c896Scott Main          </a>
139421854e6e8fe3418d22ae444567a06b5f308c896Scott Main          </li>
140421854e6e8fe3418d22ae444567a06b5f308c896Scott Main          <li><a href="<?cs var:toroot ?>training/basics/fragments/communicating.html">
14122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Communicating with Other Fragments
142421854e6e8fe3418d22ae444567a06b5f308c896Scott Main          </a>
143421854e6e8fe3418d22ae444567a06b5f308c896Scott Main          </li>
144421854e6e8fe3418d22ae444567a06b5f308c896Scott Main        </ul>
145421854e6e8fe3418d22ae444567a06b5f308c896Scott Main      </li>
146be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main
14750e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
14822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header"><a href="<?cs var:toroot?>training/basics/data-storage/index.html"
14922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
15022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to save data on the device, whether it's temporary files, downloaded
15122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             app assets, user media, structured data, or something else."
15222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Saving Data</a>
15322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
15411f03b4b694f506ed5dcb7c12a9984b653f93b42Scott Main        <ul>
15511f03b4b694f506ed5dcb7c12a9984b653f93b42Scott Main          <li><a href="<?cs var:toroot ?>training/basics/data-storage/shared-preferences.html">
15622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Saving Key-Value Sets
15711f03b4b694f506ed5dcb7c12a9984b653f93b42Scott Main          </a>
15811f03b4b694f506ed5dcb7c12a9984b653f93b42Scott Main          </li>
15911f03b4b694f506ed5dcb7c12a9984b653f93b42Scott Main          <li><a href="<?cs var:toroot ?>training/basics/data-storage/files.html">
16022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Saving Files
16111f03b4b694f506ed5dcb7c12a9984b653f93b42Scott Main          </a>
16211f03b4b694f506ed5dcb7c12a9984b653f93b42Scott Main          </li>
16311f03b4b694f506ed5dcb7c12a9984b653f93b42Scott Main          <li><a href="<?cs var:toroot ?>training/basics/data-storage/databases.html">
16422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Saving Data in SQL Databases
16511f03b4b694f506ed5dcb7c12a9984b653f93b42Scott Main          </a>
16611f03b4b694f506ed5dcb7c12a9984b653f93b42Scott Main          </li>
16711f03b4b694f506ed5dcb7c12a9984b653f93b42Scott Main        </ul>
16811f03b4b694f506ed5dcb7c12a9984b653f93b42Scott Main      </li>
16911f03b4b694f506ed5dcb7c12a9984b653f93b42Scott Main
17011f03b4b694f506ed5dcb7c12a9984b653f93b42Scott Main      <li class="nav-section">
17122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
17222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/basics/intents/index.html"
17322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
17422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to build a user experience that leverages other apps available
17522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             on the device to perform advanced user tasks, such as capture a photo or view
17622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             an address on a map."
17722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Interacting with Other Apps</a>
17822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
179be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main        <ul>
180be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          <li><a href="<?cs var:toroot ?>training/basics/intents/sending.html">
18122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Sending the User to Another App
182be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </a>
183be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </li>
184be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          <li><a href="<?cs var:toroot ?>training/basics/intents/result.html">
18522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Getting a Result from the Activity
186be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </a>
187be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </li>
188be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          <li><a href="<?cs var:toroot ?>training/basics/intents/filters.html">
18922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Allowing Other Apps to Start Your Activity
190be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </a>
191be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </li>
192be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main        </ul>
193be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main      </li>
194be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main
19550e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
19622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
19722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/sharing/index.html"
19822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
19922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to take your app interaction to the next level by sharing
20022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             information with other apps, receive information back, and provide a simple and
20122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             scalable way to perform Share actions with user content."
20222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Sharing Content</a>
20322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
204be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main        <ul>
20522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/sharing/send.html">
20622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Sending Content to Other Apps
207be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </a>
208be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </li>
20922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/sharing/receive.html">
21022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Receiving Content from Other Apps
211be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </a>
212be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </li>
21322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/sharing/shareaction.html">
21422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Adding an Easy Share Action
215be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </a>
216be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main          </li>
217be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main        </ul>
218be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main      </li>
21922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </ul>
220f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin  </li><!-- end getting started -->
2213ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
2223ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
2233ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
22450e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main
22522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <li class="nav-section">
22622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <div class="nav-section-header">
22722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <a href="<?cs var:toroot ?>training/building-multimedia.html">
22822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <span class="small">Building Apps with</span><br/>Multimedia
22922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      </a>
23022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </div>
23122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <ul>
2323ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
23322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <li class="nav-section">
23422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
23522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/managing-audio/index.html"
23622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
23722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to respond to hardware audio key presses, request audio focus
23822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             when playing audio, and respond appropriately to changes in audio focus."
23922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Managing Audio Playback</a>
24022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
24150e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main        <ul>
24222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/managing-audio/volume-playback.html">
24322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Controlling Your App's Volume and Playback
24450e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main          </a>
24550e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main          </li>
24622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/managing-audio/audio-focus.html">
24722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Managing Audio Focus
24850e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main          </a>
24950e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main          </li>
25022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/managing-audio/audio-output.html">
25122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Dealing with Audio Output Hardware
25250e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main          </a>
25350e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main          </li>
25450e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main        </ul>
25550e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      </li>
25650c2275cff28c4a216f6924584e43cd64b90a3bfJoe Malin
25750e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
25822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
25922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/camera/index.html"
26022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
26122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to leverage existing camera apps on the user's device to capture
26222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             photos or control the camera hardware directly and build your own camera app."
26322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Capturing Photos</a>
26422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
26550e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main        <ul>
26622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/camera/photobasics.html">
26722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Taking Photos Simply
26850e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main          </a>
26950e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main          </li>
27022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/camera/videobasics.html">
27122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Recording Videos Simply
27250e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main          </a>
27350e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main          </li>
27422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/camera/cameradirect.html">
27522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Controlling the Camera
27650e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main          </a>
27750e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main          </li>
27850e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main        </ul>
27950e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      </li>
28022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </ul>
28122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  </li>
28222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <!-- End multimedia -->
2833ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
2843ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
285be2f4edd2ca2b4ba9bbed7262719064ca55b54ffScott Main
28622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <li class="nav-section">
28722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <div class="nav-section-header">
28822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <a href="<?cs var:toroot ?>training/building-graphics.html">
28922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <span class="small">Building Apps with</span><br/>Graphics &amp; Animation
29022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      </a>
29122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </div>
29222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <ul>
2933ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
29450e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
29522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
29622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/displaying-bitmaps/index.html"
29722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
29822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to load and process bitmaps while keeping your user interface
29922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             responsive and avoid exceeding memory limits."
30022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Displaying Bitmaps Efficiently</a>
30122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
30250e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main        <ul>
30322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/displaying-bitmaps/load-bitmap.html">
30422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Loading Large Bitmaps Efficiently
30550e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main          </a>
30650e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main          </li>
30722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/displaying-bitmaps/process-bitmap.html">
30822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Processing Bitmaps Off the UI Thread
30922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </a>
31022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </li>
31122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/displaying-bitmaps/cache-bitmap.html">
31222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Caching Bitmaps
313e38a6c50ea6f6c1238276154ca0631842b6ab06cAlexander Lucas          </a>
314e38a6c50ea6f6c1238276154ca0631842b6ab06cAlexander Lucas          </li>
3157571542c9d54fa3501e3ce9d50d3625e22f39e81kmccormick          <li><a href="<?cs var:toroot ?>training/displaying-bitmaps/manage-memory.html">
3167571542c9d54fa3501e3ce9d50d3625e22f39e81kmccormick            Managing Bitmap Memory
3177571542c9d54fa3501e3ce9d50d3625e22f39e81kmccormick          </a>
3187571542c9d54fa3501e3ce9d50d3625e22f39e81kmccormick          </li>
31922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/displaying-bitmaps/display-bitmap.html">
32022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Displaying Bitmaps in Your UI
32122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </a></li>
32250e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main        </ul>
32350e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      </li>
32450c2275cff28c4a216f6924584e43cd64b90a3bfJoe Malin
32550e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
32622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
32722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot?>training/graphics/opengl/index.html"
32822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
32922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to create OpenGL graphics within the Android app framework
33022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             and respond to touch input."
33122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Displaying Graphics with OpenGL ES</a>
332ddab47b78ca5dff3b9ca8f79c2af8de0292a8fa4Scott Main        </div>
3337736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main        <ul>
33422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/graphics/opengl/environment.html">
33522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Building an OpenGL ES Environment
33622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </a>
337ddab47b78ca5dff3b9ca8f79c2af8de0292a8fa4Scott Main          </li>
33822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/graphics/opengl/shapes.html">
33922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Defining Shapes
34022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </a>
3417736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
34222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/graphics/opengl/draw.html">
34322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Drawing Shapes
3447736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
3457736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
34622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/graphics/opengl/projection.html">
34722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Applying Projection and Camera Views
3487736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
3497736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
35022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/graphics/opengl/motion.html">
35122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Adding Motion
3527736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
3537736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
35422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/graphics/opengl/touch.html">
35522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Responding to Touch Events
3567736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
3577736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
3587736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main        </ul>
3597736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main      </li>
36022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <li class="nav-section">
36122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header"><a href="<?cs var:toroot ?>training/animation/index.html"
36222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
36322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to add transitional animations to your user interface.">
36422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Adding Animations
3653f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          </a></div>
3663f532126028378204e263a33b08a95b3cd9c7b83Robert Ly        <ul>
3673f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          <li><a href="<?cs var:toroot ?>training/animation/crossfade.html">
36822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Crossfading Two Views
3693f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          </a>
3703f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          </li>
3713f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          <li><a href="<?cs var:toroot ?>training/animation/screen-slide.html">
37222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Using ViewPager for Screen Slide
3733f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          </a>
3743f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          </li>
3753f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          <li><a href="<?cs var:toroot ?>training/animation/cardflip.html">
37622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Displaying Card Flip Animations
3773f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          </a>
3783f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          </li>
3793f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          <li><a href="<?cs var:toroot ?>training/animation/zoom.html">
38022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Zooming a View
3813f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          </a>
3823f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          </li>
3833f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          <li><a href="<?cs var:toroot ?>training/animation/layout.html">
38422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Animating Layout Changes
3853f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          </a>
3863f532126028378204e263a33b08a95b3cd9c7b83Robert Ly          </li>
3873f532126028378204e263a33b08a95b3cd9c7b83Robert Ly        </ul>
3883f532126028378204e263a33b08a95b3cd9c7b83Robert Ly      </li>
38922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </ul>
39022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  </li>
39122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <!-- End graphics and animation -->
3923ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
39322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main
39422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <li class="nav-section">
39522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <div class="nav-section-header">
39622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <a href="<?cs var:toroot ?>training/building-connectivity.html">
39722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <span class="small">Building Apps with</span><br/>
39822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main              Connectivity &amp; the Cloud
39922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      </a>
40022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </div>
40122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <ul>
40222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main
40350e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
40422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
40522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/connect-devices-wirelessly/index.html"
40622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
40722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to find and connect to local devices using Network Service
408f5e0970c471d8bb3775febe4d1fb422a337c462cScott Main             Discovery and how to create peer-to-peer connections with Wi-Fi."
40922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             >Connecting Devices Wirelessly</a>
41022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
4117736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main        <ul>
41222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/connect-devices-wirelessly/nsd.html">
41322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Using Network Service Discovery
4147736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
4157736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
41622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/connect-devices-wirelessly/wifi-direct.html">
417f5e0970c471d8bb3775febe4d1fb422a337c462cScott Main            Creating P2P Connections with Wi-Fi
4187736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
4197736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
42022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/connect-devices-wirelessly/nsd-wifi-direct.html">
4212d006d2fb2d053392324769971c3a10d8ad93ac4Scott Main            Using Wi-Fi P2P for Service Discovery
4227736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
4237736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
4247736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main        </ul>
4257736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main      </li>
4262e1c7b7495f2317ba30ae809b4964fdafcf504ceJoe Malin      <li class="nav-section">
4272e1c7b7495f2317ba30ae809b4964fdafcf504ceJoe Malin        <div class="nav-section-header">
4282e1c7b7495f2317ba30ae809b4964fdafcf504ceJoe Malin          <a href="<?cs var:toroot ?>training/beam-files/index.html"
4292e1c7b7495f2317ba30ae809b4964fdafcf504ceJoe Malin             description=
4302e1c7b7495f2317ba30ae809b4964fdafcf504ceJoe Malin             "How to transfer files between devices using the NFC Android Beam feature."
4312e1c7b7495f2317ba30ae809b4964fdafcf504ceJoe Malin             >Sharing Files with NFC</a>
4322e1c7b7495f2317ba30ae809b4964fdafcf504ceJoe Malin        </div>
4332e1c7b7495f2317ba30ae809b4964fdafcf504ceJoe Malin        <ul>
4342e1c7b7495f2317ba30ae809b4964fdafcf504ceJoe Malin            <li>
4352e1c7b7495f2317ba30ae809b4964fdafcf504ceJoe Malin                <a href="<?cs var:toroot ?>training/beam-files/send-files.html"
4362e1c7b7495f2317ba30ae809b4964fdafcf504ceJoe Malin                >Sending Files to Another Device</a>
4372e1c7b7495f2317ba30ae809b4964fdafcf504ceJoe Malin            </li>
4382e1c7b7495f2317ba30ae809b4964fdafcf504ceJoe Malin            <li><a href="<?cs var:toroot ?>training/beam-files/receive-files.html"
4392e1c7b7495f2317ba30ae809b4964fdafcf504ceJoe Malin            >Receiving Files from Another Device</a></li>
4402e1c7b7495f2317ba30ae809b4964fdafcf504ceJoe Malin        </ul>
4412e1c7b7495f2317ba30ae809b4964fdafcf504ceJoe Malin       </li>
44222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main       <li class="nav-section">
44322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
44422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/basics/network-ops/index.html"
44522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
44622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to create a network connection, monitor the connection for changes
44722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             in connectivity, and perform transactions with XML data."
44822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Performing Network Operations</a>
449ddab47b78ca5dff3b9ca8f79c2af8de0292a8fa4Scott Main        </div>
4507736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main        <ul>
45122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/basics/network-ops/connecting.html">
45222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Connecting to the Network
45322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </a>
454ddab47b78ca5dff3b9ca8f79c2af8de0292a8fa4Scott Main          </li>
45522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/basics/network-ops/managing.html">
45622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Managing Network Usage
45722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </a>
458ddab47b78ca5dff3b9ca8f79c2af8de0292a8fa4Scott Main          </li>
45922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/basics/network-ops/xml.html">
46022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Parsing XML Data
46122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </a>
4627736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
4637736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main        </ul>
4647736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main      </li>
46550e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
46622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
46722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/efficient-downloads/index.html"
46822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
46922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to minimize your app's impact on the battery when performing downloads
47022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             and other network transactions."
47122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Transferring Data Without Draining the Battery</a>
47222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
47320f394df4db02c492d7920f4f366b777451c2067Reto Meier        <ul>
47422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/efficient-downloads/efficient-network-access.html">
47522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Optimizing Downloads for Efficient Network Access
47620f394df4db02c492d7920f4f366b777451c2067Reto Meier          </a>
47720f394df4db02c492d7920f4f366b777451c2067Reto Meier          </li>
47822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/efficient-downloads/regular_updates.html">
47922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Minimizing the Effect of Regular Updates
48020f394df4db02c492d7920f4f366b777451c2067Reto Meier          </a>
48120f394df4db02c492d7920f4f366b777451c2067Reto Meier          </li>
48222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/efficient-downloads/redundant_redundant.html">
48322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Redundant Downloads are Redundant
484773740ed79075e6daffaea0c62857348ab54d93eAlexander Lucas          </a>
485773740ed79075e6daffaea0c62857348ab54d93eAlexander Lucas          </li>
48622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/efficient-downloads/connectivity_patterns.html">
48722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Modifying Patterns Based on the Connectivity Type
488773740ed79075e6daffaea0c62857348ab54d93eAlexander Lucas          </a>
489773740ed79075e6daffaea0c62857348ab54d93eAlexander Lucas          </li>
490773740ed79075e6daffaea0c62857348ab54d93eAlexander Lucas        </ul>
491773740ed79075e6daffaea0c62857348ab54d93eAlexander Lucas      </li>
492773740ed79075e6daffaea0c62857348ab54d93eAlexander Lucas
49350e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
49422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
49522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/cloudsync/index.html"
49622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
49722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to sync and back up app and user data to remote web services in the
49822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main              cloud and how to restore the data back to multiple devices."
49922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Syncing to the Cloud</a>
500957f716cf1686145ba4c06ca8669eaa2e22f54e8Robert Ly        </div>
501055e3f25ba85d7aefcddaa0aa2bb0589719ec80cRobert Ly        <ul>
50222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/cloudsync/backupapi.html">
50322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Using the Backup API
504055e3f25ba85d7aefcddaa0aa2bb0589719ec80cRobert Ly          </a>
505055e3f25ba85d7aefcddaa0aa2bb0589719ec80cRobert Ly          </li>
50622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/cloudsync/gcm.html">
50722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Making the Most of Google Cloud Messaging
5087736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
5097736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
5107736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main        </ul>
51171baac13580dd6f16bf5308eb1571bcb014676fckmccormick        <li><a href="<?cs var:toroot ?>training/cloudsave/conflict-res.html"
51271baac13580dd6f16bf5308eb1571bcb014676fckmccormick           description=
51371baac13580dd6f16bf5308eb1571bcb014676fckmccormick           "How to design a robust conflict resolution strategy for apps that save data to the cloud."
51471baac13580dd6f16bf5308eb1571bcb014676fckmccormick           >Resolving Cloud Save Conflicts
51571baac13580dd6f16bf5308eb1571bcb014676fckmccormick          </a>
5162e1c7b7495f2317ba30ae809b4964fdafcf504ceJoe Malin        </li>
5177736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main      </li>
518e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin      <li class="nav-section">
519e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin        <div class="nav-section-header">
520e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin          <a href="<?cs var:toroot ?>training/sync-adapters/index.html"
521e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin             description="How to transfer data between the cloud and the device using the Android
522e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin             sync adapter framework"
523e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin             >Transferring Data Using Sync Adapters</a>
524e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin        </div>
525e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin        <ul>
526e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin            <li>
527e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                <a href="<?cs var:toroot ?>training/sync-adapters/creating-authenticator.html">
528e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                Creating a Stub Authenticator
529e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                </a>
530e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin            </li>
531e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin            <li>
532e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                <a href="<?cs var:toroot ?>training/sync-adapters/creating-stub-provider.html">
533e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                Creating a Stub Content Provider
534e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                </a>
535e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin            </li>
536e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin            <li>
537e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                <a href="<?cs var:toroot ?>training/sync-adapters/creating-sync-adapter.html">
538e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                Creating a Sync Adapter
539e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                </a>
540e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin            </li>
541e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin            <li>
542e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                <a href="<?cs var:toroot ?>training/sync-adapters/running-sync-adapter.html">
543e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                Running a Sync Adapter
544e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin                </a>
545e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin            </li>
546e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin        </ul>
547e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin      </li>
548e9df511e2018eb6a296408d09e355c6f2c77ae59Joe Malin
54922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </ul>
55022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  </li>
55122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <!-- End connectivity and cloud -->
5523ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
5533ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
554580f0146535e7daed83aef721f505270f7b040e1Scott Main
55522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <li class="nav-section">
55622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <div class="nav-section-header">
55722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <a href="<?cs var:toroot ?>training/building-userinfo.html">
55822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <span class="small">Building Apps with</span><br/>
55922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main              User Info &amp; Location
56022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      </a>
56122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </div>
56222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <ul>
563421435d2bede2788b74b07b1bab893fef98047c5Joe Malin      <li class="nav-section">
564421435d2bede2788b74b07b1bab893fef98047c5Joe Malin        <div class="nav-section-header">
565421435d2bede2788b74b07b1bab893fef98047c5Joe Malin          <a href="<?cs var:toroot ?>training/contacts-provider/index.html"
566421435d2bede2788b74b07b1bab893fef98047c5Joe Malin             description=
567421435d2bede2788b74b07b1bab893fef98047c5Joe Malin             "How to use Android's central address book, the Contacts Provider, to
568421435d2bede2788b74b07b1bab893fef98047c5Joe Malin             display contacts and their details and modify contact information.">
569421435d2bede2788b74b07b1bab893fef98047c5Joe Malin          Accessing Contacts Data</a>
570421435d2bede2788b74b07b1bab893fef98047c5Joe Malin        </div>
571421435d2bede2788b74b07b1bab893fef98047c5Joe Malin        <ul>
572421435d2bede2788b74b07b1bab893fef98047c5Joe Malin          <li>
573421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                <a href="<?cs var:toroot ?>training/contacts-provider/retrieve-names.html">
574421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                Retrieving a List of Contacts
575421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                </a>
576421435d2bede2788b74b07b1bab893fef98047c5Joe Malin          </li>
577421435d2bede2788b74b07b1bab893fef98047c5Joe Malin          <li>
578421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                <a href="<?cs var:toroot ?>training/contacts-provider/retrieve-details.html">
579421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                Retrieving Details for a Contact
580421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                </a>
581421435d2bede2788b74b07b1bab893fef98047c5Joe Malin          </li>
582421435d2bede2788b74b07b1bab893fef98047c5Joe Malin          <li>
583421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                <a href="<?cs var:toroot ?>training/contacts-provider/modify-data.html">
584421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                Modifying Contacts Using Intents
585421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                </a>
586421435d2bede2788b74b07b1bab893fef98047c5Joe Malin          </li>
587421435d2bede2788b74b07b1bab893fef98047c5Joe Malin          <li>
588421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                <a href="<?cs var:toroot ?>training/contacts-provider/display-contact-badge.html">
589421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                Displaying the Quick Contact Badge
590421435d2bede2788b74b07b1bab893fef98047c5Joe Malin                </a>
5912956f2fd2ce7eba5abac30fa1c0a2c514edcc787Scott Main          </li>
5922956f2fd2ce7eba5abac30fa1c0a2c514edcc787Scott Main        </ul>
5932956f2fd2ce7eba5abac30fa1c0a2c514edcc787Scott Main      </li>
594580f0146535e7daed83aef721f505270f7b040e1Scott Main
59550e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
59622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
5973ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin          <a href="<?cs var:toroot ?>training/location/index.html"
5983ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin             description="How to add location-aware features to your app by getting the user's current location.">
5993ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin             Making Your App Location-Aware
6003ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin          </a>
60122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
6027736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main        <ul>
6033ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin          <li>
6043ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin            <a href="<?cs var:toroot ?>training/location/retrieve-current.html">
6053ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin            Retrieving the Current Location
6063ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin            </a>
6073ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin          </li>
6083ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin          <li>
6093ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin            <a href="<?cs var:toroot ?>training/location/receive-location-updates.html">
6103ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin            Receiving Location Updates
6113ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin            </a>
6123ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin          </li>
6133ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin          <li>
6143ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin            <a href="<?cs var:toroot ?>training/location/display-address.html">
6153ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin            Displaying a Location Address
6167736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
6177736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
6183ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin          <li><a href="<?cs var:toroot ?>training/location/geofencing.html">
6193ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin            Creating and Monitoring Geofences
6207736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
6217736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
6223ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin          <li><a href="<?cs var:toroot ?>training/location/activity-recognition.html">
6233ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin          Recognizing the User's Current Activity
6247736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
6257736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
62672fdbc88bb52b68238b938563c0394b1e93e2343Joe Malin          <li><a href="<?cs var:toroot ?>training/location/location-testing.html">
62772fdbc88bb52b68238b938563c0394b1e93e2343Joe Malin          Testing Using Mock Locations
62872fdbc88bb52b68238b938563c0394b1e93e2343Joe Malin          </a>
62972fdbc88bb52b68238b938563c0394b1e93e2343Joe Malin          </li>
6307736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main        </ul>
6317736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main      </li>
63222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </ul>
63322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  </li>
63422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <!-- End privacy and location -->
6353ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
6363ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
63722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main
63822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <li class="nav-section">
63922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <div class="nav-section-header">
64022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <a href="<?cs var:toroot ?>training/best-ux.html">
64122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <span class="small">Best Practices for</span><br/>
64222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main              User Experience &amp; UI
64322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      </a>
64422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </div>
64522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <ul>
64650c2275cff28c4a216f6924584e43cd64b90a3bfJoe Malin
64750e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
64822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
64922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/design-navigation/index.html"
65022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
65122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to plan your app's screen hierarchy and forms of navigation so users can
65222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             effectively and intuitively traverse your app content using various navigation
65322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             patterns."
65422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Designing Effective Navigation</a>
65522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
6567736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main        <ul>
65722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/design-navigation/screen-planning.html">
65822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Planning Screens and Their Relationships
6597736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
6607736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
66122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/design-navigation/multiple-sizes.html">
66222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Planning for Multiple Touchscreen Sizes
6637736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
6647736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
66522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/design-navigation/descendant-lateral.html">
66622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Providing Descendant and Lateral Navigation
66722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </a>
66822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </li>
66922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/design-navigation/ancestral-temporal.html">
67022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Providing Ancestral and Temporal Navigation
67122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </a>
67222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </li>
67322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/design-navigation/wireframing.html">
67422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Putting it All Together: Wireframing the Example App
6757736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
6767736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
6777736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main        </ul>
6787736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main      </li>
67950c2275cff28c4a216f6924584e43cd64b90a3bfJoe Malin
68050e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
68122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
68222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/implementing-navigation/index.html"
68322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
6847c8405513675c47205a68c0644f6046eebefc5a3Scott Main             "How to implement various navigation patterns such as swipe views,
6857c8405513675c47205a68c0644f6046eebefc5a3Scott Main             a navigation drawer, and up navigation."
68622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Implementing Effective Navigation</a>
68722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
6887736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main        <ul>
68922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/implementing-navigation/lateral.html">
6907c8405513675c47205a68c0644f6046eebefc5a3Scott Main            Creating Swipe Views with Tabs
6917c8405513675c47205a68c0644f6046eebefc5a3Scott Main          </a>
6927c8405513675c47205a68c0644f6046eebefc5a3Scott Main          </li>
6937c8405513675c47205a68c0644f6046eebefc5a3Scott Main          <li><a href="<?cs var:toroot ?>training/implementing-navigation/nav-drawer.html">
6947c8405513675c47205a68c0644f6046eebefc5a3Scott Main            Creating a Navigation Drawer
6957736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
6967736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
69722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/implementing-navigation/ancestral.html">
6987c8405513675c47205a68c0644f6046eebefc5a3Scott Main            Providing Up Navigation
6997736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
7007736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
70122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/implementing-navigation/temporal.html">
7027c8405513675c47205a68c0644f6046eebefc5a3Scott Main            Providing Proper Back Navigation
7037736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
7047736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
70522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/implementing-navigation/descendant.html">
70622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Implementing Descendant Navigation
7077736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
7087736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
7097736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main        </ul>
7107736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main      </li>
7110aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j
7120aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j      <li class="nav-section">
7130aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          <div class="nav-section-header">
7140aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j              <a href="<?cs var:toroot ?>training/notify-user/index.html"
7150aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                 description=
716f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin                 "How to display messages called notifications outside of
7170aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                 your application's UI."
7180aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j               >Notifying the User</a>
7190aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          </div>
7200aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          <ul>
7210aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j              <li>
7220aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  <a href="<?cs var:toroot ?>training/notify-user/build-notification.html">
7230aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  Building a Notification
7240aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  </a>
7250aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j              </li>
7260aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j              <li>
7270aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  <a href="<?cs var:toroot ?>training/notify-user/navigation.html">
7280aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  Preserving Navigation when Starting an Activity
7290aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  </a>
7300aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j              </li>
7310aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j              <li>
7320aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  <a href="<?cs var:toroot ?>training/notify-user/managing.html">
7330aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  Updating Notifications
7340aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  </a>
7350aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j              </li>
7360aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j              <li>
7370aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  <a href="<?cs var:toroot ?>training/notify-user/expanded.html">
7380aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  Using Big View Styles
7390aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  </a>
7400aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j              </li>
7410aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j              <li>
7420aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  <a href="<?cs var:toroot ?>training/notify-user/display-progress.html">
7430aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  Displaying Progress in a Notification
7440aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j                  </a>
7450aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j              </li>
7460aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          </ul>
7470aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j      </li>
7480aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j
7490aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j      <li class="nav-section">
7500aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j        <div class="nav-section-header">
7510aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          <a href="<?cs var:toroot ?>training/search/index.html"
7520aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j             description=
7530aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j             "How to properly add a search interface to your app and create a searchable database."
7540aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j            >Adding Search Functionality</a>
7550aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j        </div>
7560aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j        <ul>
7570aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          <li><a href="<?cs var:toroot ?>training/search/setup.html">
7580aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j            Setting up the Search Interface
7590aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          </a>
7600aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          </li>
7610aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          <li><a href="<?cs var:toroot ?>training/search/search.html">
7620aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j            Storing and Searching for Data
7630aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          </a>
7640aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          </li>
7650aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          <li><a href="<?cs var:toroot ?>training/search/backward-compat.html">
7660aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j            Remaining Backward Compatible
7670aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          </a>
7680aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j          </li>
7690aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j        </ul>
7700aae00051c3e96a6271840c50f6b9e448c7064f4&& repo sync -j      </li>
7713ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
7723ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
77350e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
77422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
77522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="/training/multiscreen/index.html"
776b582c678c88df2848023b7f27f4bc0ab2249e1e1Dirk Dougherty             zh-cn-lang="针对多种屏幕进行设计"
77722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             ja-lang="複数画面のデザイン"
77822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             es-lang="Cómo diseñar aplicaciones para varias pantallas"
77922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
78022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to build a user interface that's flexible enough to
78122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             fit perfectly on any screen and how to create different interaction
78222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             patterns that are optimized for different screen sizes."
78322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Designing for Multiple Screens</a>
78422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
78538e09c3ddb7da47a23bf4221ab678e058c7e923aRoman Nurik        <ul>
78622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="/training/multiscreen/screensizes.html"
787b582c678c88df2848023b7f27f4bc0ab2249e1e1Dirk Dougherty            zh-cn-lang="支持各种屏幕尺寸"
78822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            ko-lang="다양한 화면 크기 지원"
78922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            ja-lang="さまざまな画面サイズのサポート"
790f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin            es-lang="Cómo admitir varios tamaños de pantalla"
79122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Supporting Different Screen Sizes</a>
79238e09c3ddb7da47a23bf4221ab678e058c7e923aRoman Nurik          </li>
79322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="/training/multiscreen/screendensities.html"
794b582c678c88df2848023b7f27f4bc0ab2249e1e1Dirk Dougherty            zh-cn-lang="支持各种屏幕密度"
79522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            ja-lang="さまざまな画面密度のサポート"
796f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin            es-lang="Cómo admitir varias densidades de pantalla"
79722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Supporting Different Screen Densities</a>
79838e09c3ddb7da47a23bf4221ab678e058c7e923aRoman Nurik          </li>
79922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="/training/multiscreen/adaptui.html"
800b582c678c88df2848023b7f27f4bc0ab2249e1e1Dirk Dougherty            zh-cn-lang="实施自适应用户界面流程"
80122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            ja-lang="順応性のある UI フローの実装"
802f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin            es-lang="Cómo implementar interfaces de usuario adaptables"
80322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Implementing Adaptive UI Flows</a>
80438e09c3ddb7da47a23bf4221ab678e058c7e923aRoman Nurik          </li>
80538e09c3ddb7da47a23bf4221ab678e058c7e923aRoman Nurik        </ul>
80638e09c3ddb7da47a23bf4221ab678e058c7e923aRoman Nurik      </li>
80738e09c3ddb7da47a23bf4221ab678e058c7e923aRoman Nurik
80850e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
80922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header"><a href="<?cs var:toroot ?>training/tv/index.html"
81022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
81122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to optimize your app's user interface and user input for
81222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             the &quot;ten foot experience&quot; of a TV screen."
81322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Designing for TV</a>
81422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
8157736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main        <ul>
81622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/tv/optimizing-layouts-tv.html">
81722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Optimizing Layouts for TV
81822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </a>
81922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </li>
82022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/tv/optimizing-navigation-tv.html">
82122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Optimizing Navigation for TV
82222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </a>
82322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </li>
82422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/tv/unsupported-features-tv.html">
82522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Handling Features Not Supported on TV
8267736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </a>
8277736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main          </li>
8287736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main        </ul>
8297736f96d0e4d9981be2466c02bcf43e2a4a75493Scott Main      </li>
8303ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
83150e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
83222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
83322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/custom-views/index.html"
83422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
83522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to build custom UI widgets that are interactive and smooth."
83622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Creating Custom Views</a>
83722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
838580f0146535e7daed83aef721f505270f7b040e1Scott Main        <ul>
83922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/custom-views/create-view.html">
84022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Creating a Custom View Class
841580f0146535e7daed83aef721f505270f7b040e1Scott Main          </a>
842580f0146535e7daed83aef721f505270f7b040e1Scott Main          </li>
84322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/custom-views/custom-drawing.html">
84422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Implementing Custom Drawing
845580f0146535e7daed83aef721f505270f7b040e1Scott Main          </a>
846580f0146535e7daed83aef721f505270f7b040e1Scott Main          </li>
84722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/custom-views/making-interactive.html">
84822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Making the View Interactive
849580f0146535e7daed83aef721f505270f7b040e1Scott Main          </a>
850580f0146535e7daed83aef721f505270f7b040e1Scott Main          </li>
85122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/custom-views/optimizing-view.html">
85222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Optimizing the View
853580f0146535e7daed83aef721f505270f7b040e1Scott Main          </a>
854580f0146535e7daed83aef721f505270f7b040e1Scott Main          </li>
855580f0146535e7daed83aef721f505270f7b040e1Scott Main        </ul>
85619266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik      </li>
85719266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik
85850e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
85922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
86022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/backward-compatible-ui/index.html"
86122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
86222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to use UI components and other APIs from the more recent versions of Android
86322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             while remaining compatible with older versions of the platform."
86422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Creating Backward-Compatible UIs</a>
86522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
86619266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik        <ul>
86722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/backward-compatible-ui/abstracting.html">
86822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Abstracting the New APIs
86919266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik          </a>
87019266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik          </li>
87122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/backward-compatible-ui/new-implementation.html">
87222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Proxying to the New APIs
87319266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik          </a>
87419266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik          </li>
87522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/backward-compatible-ui/older-implementation.html">
87622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Creating an Implementation with Older APIs
87719266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik          </a>
87819266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik          </li>
87922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/backward-compatible-ui/using-component.html">
88022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Using the Version-Aware Component
88119266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik          </a>
88219266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik          </li>
88319266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik        </ul>
88419266f7b02c91d21d630c99d593f83cc427cd40bRoman Nurik      </li>
8853ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
88650e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
88722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
88822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/accessibility/index.html"
88922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
89022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to make your app accessible to users with vision
89122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             impairment or other physical disabilities."
89222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Implementing Accessibility</a>
893931ff55a905c2efb7abb7ac287fe2132aaf77627Megha Joshi        </div>
894931ff55a905c2efb7abb7ac287fe2132aaf77627Megha Joshi        <ul>
89522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/accessibility/accessible-app.html">
89622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Developing Accessible Applications
897931ff55a905c2efb7abb7ac287fe2132aaf77627Megha Joshi          </a>
898931ff55a905c2efb7abb7ac287fe2132aaf77627Megha Joshi          </li>
89922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/accessibility/service.html">
90022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Developing Accessibility Services
901931ff55a905c2efb7abb7ac287fe2132aaf77627Megha Joshi          </a>
902931ff55a905c2efb7abb7ac287fe2132aaf77627Megha Joshi          </li>
903931ff55a905c2efb7abb7ac287fe2132aaf77627Megha Joshi        </ul>
904580f0146535e7daed83aef721f505270f7b040e1Scott Main      </li>
9053ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
90622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </ul>
90722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  </li>
90822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <!-- End best UX and UI -->
9093ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
910c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main
911518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j  <li class="nav-section">
912518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j    <div class="nav-section-header">
913c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main      <a href="<?cs var:toroot ?>training/best-user-input.html">
914518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j      <span class="small">Best Practices for</span><br/>
915518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j              User Input
916518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j      </a>
917518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j    </div>
918518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j    <ul>
9193ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
920518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j      <li class="nav-section">
921518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j        <div class="nav-section-header">
922518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          <a href="<?cs var:toroot ?>training/gestures/index.html"
923518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j             description=
924518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j             "How to write apps that allow users to interact with the touch screen via touch gestures."
925518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j            >Using Touch Gestures</a>
926518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j        </div>
927518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j        <ul>
928518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          <li><a href="<?cs var:toroot ?>training/gestures/detector.html">
929518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j            Detecting Common Gestures
930518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </a>
931518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </li>
932518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          <li><a href="<?cs var:toroot ?>training/gestures/movement.html">
933518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j            Tracking Movement
934518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </a>
935518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </li>
936518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          <li><a href="<?cs var:toroot ?>training/gestures/scroll.html">
937518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j            Animating a Scroll Gesture
938518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </a>
939518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </li>
940518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          <li><a href="<?cs var:toroot ?>training/gestures/multi.html">
941518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j            Handling Multi-Touch Gestures
942518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </a>
943518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </li>
944518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          <li><a href="<?cs var:toroot ?>training/gestures/scale.html">
945518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j            Dragging and Scaling
946518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </a>
947518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </li>
948518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          <li><a href="<?cs var:toroot ?>training/gestures/viewgroup.html">
949518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j            Managing Touch Events in a ViewGroup
950518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </a>
951518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j          </li>
952518edbfa97dbdc366f1e03c62ae275c388ec20ef&& repo sync -j        </ul>
953c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main      </li>
9543ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
955c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main      <li class="nav-section">
956c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main        <div class="nav-section-header">
957c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          <a href="<?cs var:toroot ?>training/keyboard-input/index.html"
958c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main             description=
959c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main             "How to specify the appearance and behaviors of soft input methods (such
960c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main             as on-screen keyboards) and how to optimize the experience with
961c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main             hardware keyboards."
962c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main            >Handling Keyboard Input</a>
963c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main        </div>
964c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main        <ul>
965c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          <li><a href="<?cs var:toroot ?>training/keyboard-input/style.html">
966c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main            Specifying the Input Method Type
967c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          </a>
968c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          </li>
969c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          <li><a href="<?cs var:toroot ?>training/keyboard-input/visibility.html">
970c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main            Handling Input Method Visibility
971c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          </a>
972c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          </li>
973c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          <li><a href="<?cs var:toroot ?>training/keyboard-input/navigation.html">
974c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main            Supporting Keyboard Navigation
975c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          </a>
976c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          </li>
977c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          <li><a href="<?cs var:toroot ?>training/keyboard-input/commands.html">
978c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main            Handling Keyboard Actions
979c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          </a>
980c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main          </li>
981c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main        </ul>
982c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main      </li>
983c8a6f8a0414d9366bd2d3ee9d74271c8f680409bScott Main    </ul>
984421435d2bede2788b74b07b1bab893fef98047c5Joe Malin  </li> <!-- end of User Input -->
98550c2275cff28c4a216f6924584e43cd64b90a3bfJoe Malin
98622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <li class="nav-section">
98722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <div class="nav-section-header">
9887bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick      <a href="<?cs var:toroot ?>training/best-background.html">
98922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <span class="small">Best Practices for</span><br/>
9907bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick              Background Jobs
99122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      </a>
99222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </div>
99322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <ul>
9943ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
995f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin      <li class="nav-section">
996f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin        <div class="nav-section-header">
997f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin          <a href="<?cs var:toroot ?>training/run-background-service/index.html"
998f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin             description=
999f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin             "How to improve UI performance and responsiveness by sending work to a
10008ac78803f59fd4fbe9e2682632791bc255d38aceScott Main             Service running in the background"
10018ac78803f59fd4fbe9e2682632791bc255d38aceScott Main            >Running in a Background Service</a>
1002f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin        </div>
1003f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin        <ul>
1004f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin          <li><a href="<?cs var:toroot ?>training/run-background-service/create-service.html">
1005f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin            Creating a Background Service
1006f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin          </a>
1007f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin          </li>
1008f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin          <li><a href="<?cs var:toroot ?>training/run-background-service/send-request.html">
1009f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin            Sending Work Requests to the Background Service
1010f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin          </a>
1011f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin          </li>
1012f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin          <li><a href="<?cs var:toroot ?>training/run-background-service/report-status.html">
1013f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin            Reporting Work Status
1014f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin          </a>
1015f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin          </li>
1016f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin        </ul>
1017f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin      </li>
10188ac78803f59fd4fbe9e2682632791bc255d38aceScott Main
10198ac78803f59fd4fbe9e2682632791bc255d38aceScott Main      <li class="nav-section">
10208ac78803f59fd4fbe9e2682632791bc255d38aceScott Main        <div class="nav-section-header">
10218ac78803f59fd4fbe9e2682632791bc255d38aceScott Main          <a href="<?cs var:toroot ?>training/load-data-background/index.html"
10228ac78803f59fd4fbe9e2682632791bc255d38aceScott Main             description="How to use CursorLoader to query data without
10238ac78803f59fd4fbe9e2682632791bc255d38aceScott Main             affecting UI responsiveness."
10248ac78803f59fd4fbe9e2682632791bc255d38aceScott Main            >Loading Data in the Background</a>
10258ac78803f59fd4fbe9e2682632791bc255d38aceScott Main        </div>
10268ac78803f59fd4fbe9e2682632791bc255d38aceScott Main        <ul>
10278ac78803f59fd4fbe9e2682632791bc255d38aceScott Main          <li><a href="<?cs var:toroot ?>training/load-data-background/setup-loader.html">
10288ac78803f59fd4fbe9e2682632791bc255d38aceScott Main            Running a Query with a CursorLoader</a>
10298ac78803f59fd4fbe9e2682632791bc255d38aceScott Main          </li>
10308ac78803f59fd4fbe9e2682632791bc255d38aceScott Main          <li><a href="<?cs var:toroot ?>training/load-data-background/handle-results.html">
10318ac78803f59fd4fbe9e2682632791bc255d38aceScott Main            Handling the Results</a>
10328ac78803f59fd4fbe9e2682632791bc255d38aceScott Main          </li>
10338ac78803f59fd4fbe9e2682632791bc255d38aceScott Main        </ul>
10348ac78803f59fd4fbe9e2682632791bc255d38aceScott Main      </li>
10353ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
10367bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick       <li class="nav-section">
10377bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick        <div class="nav-section-header">
10387bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          <a href="<?cs var:toroot ?>training/scheduling/index.html"
10397bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick             description="How to use repeating alarms and wake locks
10407bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick             to run background jobs."
10417bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick            >Managing Device Awake State</a>
10427bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick        </div>
10437bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick        <ul>
10447bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          <li><a href="<?cs var:toroot ?>training/scheduling/wakelock.html">
10457bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick            Keeping the Device Awake</a>
10467bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          </li>
10477bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          <li><a href="<?cs var:toroot ?>training/scheduling/alarms.html">
10487bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick            Scheduling Repeating Alarms</a>
10497bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          </li>
10507bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick        </ul>
10517bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick      </li>
10527bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick    </ul>
10537bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick  </li> <!-- end of Background Jobs -->
10547bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick
10557bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick  <li class="nav-section">
10567bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick    <div class="nav-section-header">
10577bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick      <a href="<?cs var:toroot ?>training/best-performance.html">
10587bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick      <span class="small">Best Practices for</span><br/>
10597bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick              Performance
10607bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick      </a>
10617bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick    </div>
10627bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick    <ul>
10637bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick
10647bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick      <li>
10657bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick        <a href="<?cs var:toroot ?>training/articles/perf-tips.html"
10667bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick           description=
10677bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick           "How to optimize your app's performance in various ways to improve its
10687bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick           responsiveness and battery efficiency."
10697bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          >Performance Tips</a>
10707bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick      </li>
10717bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick
10727bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick      <li class="nav-section">
10737bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick        <div class="nav-section-header">
10747bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          <a href="<?cs var:toroot ?>training/improving-layouts/index.html"
10757bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick             description=
10767bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick             "How to identify problems in your app's layout performance and improve the UI
10777bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick             responsiveness."
10787bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick            >Improving Layout Performance</a>
10797bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick        </div>
10807bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick        <ul>
10817bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          <li><a href="<?cs var:toroot ?>training/improving-layouts/optimizing-layout.html">
10827bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick            Optimizing Layout Hierarchies
10837bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          </a>
10847bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          </li>
10857bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          <li><a href="<?cs var:toroot ?>training/improving-layouts/reusing-layouts.html">
10867bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick            Re-using Layouts with &lt;include/&gt;
10877bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          </a>
10887bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          </li>
10897bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          <li><a href="<?cs var:toroot ?>training/improving-layouts/loading-ondemand.html">
10907bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick            Loading Views On Demand
10917bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          </a>
10927bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          </li>
10937bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          <li><a href="<?cs var:toroot ?>training/improving-layouts/smooth-scrolling.html">
10947bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick            Making ListView Scrolling Smooth
10957bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          </a>
10967bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick          </li>
10977bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick        </ul>
10987bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick      </li>
10997bdb3f6997c5235777d08c0f5a12dfb41551c960Katie McCormick
110050e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
110122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
110222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="/training/monitoring-device-state/index.html"
1103b582c678c88df2848023b7f27f4bc0ab2249e1e1Dirk Dougherty             zh-cn-lang="优化电池使用时间"
110422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             ja-lang="電池消費量の最適化"
110522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             es-lang="Cómo optimizar la duración de la batería"
110622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
110722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to minimize the amount of power your app requires by adapting to current
110822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             power conditions and performing power-hungry tasks at proper intervals."
110922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Optimizing Battery Life</a>
111022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
1111df6c8270e300e2d04f57e24bb2b34c33edce4a0dAlexander Lucas        <ul>
111222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="/training/monitoring-device-state/battery-monitoring.html"
1113b582c678c88df2848023b7f27f4bc0ab2249e1e1Dirk Dougherty            zh-cn-lang="监控电池电量和充电状态"
111422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            ja-lang="電池残量と充電状態の監視"
1115f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin            es-lang="Cómo controlar el nivel de batería y el estado de carga"
111622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Monitoring the Battery Level and Charging State</a>
1117df6c8270e300e2d04f57e24bb2b34c33edce4a0dAlexander Lucas          </li>
111822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="/training/monitoring-device-state/docking-monitoring.html"
1119b582c678c88df2848023b7f27f4bc0ab2249e1e1Dirk Dougherty            zh-cn-lang="确定和监控基座对接状态和类型"
112022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            ja-lang="ホルダーの装着状態とタイプの特定と監視"
1121f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin            es-lang="Cómo determinar y controlar el tipo de conector y el estado de la conexión"
112222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Determining and Monitoring the Docking State and Type</a>
112322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </li>
112422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="/training/monitoring-device-state/connectivity-monitoring.html"
1125b582c678c88df2848023b7f27f4bc0ab2249e1e1Dirk Dougherty            zh-cn-lang="确定和监控网络连接状态"
112622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            ja-lang="接続状態の特定と監視"
1127f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin            es-lang="Cómo determinar y controlar el estado de la conectividad"
112822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Determining and Monitoring the Connectivity Status</a>
112922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </li>
113022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="/training/monitoring-device-state/manifest-receivers.html"
1131b582c678c88df2848023b7f27f4bc0ab2249e1e1Dirk Dougherty            zh-cn-lang="根据需要操作广播接收器"
113222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            ja-lang="オンデマンドでのブロードキャスト レシーバ操作"
1133f0f5efbea206fd0fbac655519f3f535620ed74ccJoe Malin            es-lang="Cómo manipular los receptores de emisión bajo demanda"
113422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Manipulating Broadcast Receivers On Demand</a>
1135df6c8270e300e2d04f57e24bb2b34c33edce4a0dAlexander Lucas          </li>
1136df6c8270e300e2d04f57e24bb2b34c33edce4a0dAlexander Lucas        </ul>
1137df6c8270e300e2d04f57e24bb2b34c33edce4a0dAlexander Lucas      </li>
11388dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin      <li class="nav-section">
11398dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin        <div class="nav-section-header">
11408dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          <a href="<?cs var:toroot ?>training/multiple-threads/index.html"
11418dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin             description=
11428dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin             "How to improve the performance and scalability of long-running operations by
11438dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin              dispatching work to multiple threads.">
11448dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin             Sending Operations to Multiple Threads</a>
11458dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin        </div>
11468dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin        <ul>
11478dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          <li><a href="<?cs var:toroot ?>training/multiple-threads/define-runnable.html">
11488dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin            Specifying the Code to Run on a Thread
11498dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          </a>
11508dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          </li>
11518dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          <li><a href="<?cs var:toroot ?>training/multiple-threads/create-threadpool.html">
11528dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin            Creating a Manager for Multiple Threads
11538dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          </a>
11548dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          </li>
11558dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          <li><a href="<?cs var:toroot ?>training/multiple-threads/run-code.html">
11568dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin            Running Code on a Thread Pool Thread
11578dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          </a>
11588dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          </li>
11598dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          <li><a href="<?cs var:toroot ?>training/multiple-threads/communicate-ui.html">
11608dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin            Communicating with the UI Thread
11618dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          </a>
11628dd6275e2871bea1acb20cbdd98ea0451b3d5be0Joe Malin          </li>
1163df6c8270e300e2d04f57e24bb2b34c33edce4a0dAlexander Lucas        </ul>
1164df6c8270e300e2d04f57e24bb2b34c33edce4a0dAlexander Lucas      </li>
11653ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
116622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <li>
116733e499ea364e4e061964bc8fe16365fd632eb39dScott Main        <a href="<?cs var:toroot ?>training/articles/perf-anr.html"
116822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main           description=
116922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main           "How to keep your app responsive to user interaction so the UI does not lock-up and
117022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main           display an &quot;Application Not Responding&quot; dialog."
117122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          >Keeping Your App Responsive</a>
117222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      </li>
11733ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
117422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <li>
117533e499ea364e4e061964bc8fe16365fd632eb39dScott Main        <a href="<?cs var:toroot ?>training/articles/perf-jni.html"
117622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main           description=
117722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main           "How to efficiently use the Java Native Interface with the Android NDK."
117822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          >JNI Tips</a>
117922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      </li>
1180d5894210930fc0a8bc3733258747d837e2960fa9Dirk Dougherty      <li>
1181d5894210930fc0a8bc3733258747d837e2960fa9Dirk Dougherty        <a href="<?cs var:toroot ?>training/articles/smp.html"
1182d5894210930fc0a8bc3733258747d837e2960fa9Dirk Dougherty           description=
1183d5894210930fc0a8bc3733258747d837e2960fa9Dirk Dougherty           "Tips for coding Android apps on symmetric multiprocessor systems."
1184d5894210930fc0a8bc3733258747d837e2960fa9Dirk Dougherty          >SMP Primer for Android</a>
1185d5894210930fc0a8bc3733258747d837e2960fa9Dirk Dougherty      </li>
118622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </ul>
118722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  </li> <!-- end of Performance -->
11883ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
11893ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
1190df6c8270e300e2d04f57e24bb2b34c33edce4a0dAlexander Lucas
119122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <li class="nav-section">
119222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <div class="nav-section-header">
119322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <a href="<?cs var:toroot ?>training/best-security.html">
119422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <span class="small">Best Practices for</span><br/>
119522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main              Security &amp; Privacy
119622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      </a>
119722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </div>
119822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <ul>
119922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <li>
120033e499ea364e4e061964bc8fe16365fd632eb39dScott Main        <a href="<?cs var:toroot ?>training/articles/security-tips.html"
120122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main           description=
120222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main           "How to perform various tasks and keep your app's data and your user's data secure."
120322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          >Security Tips</a>
120422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      </li>
120500158363b47d916d159d2f3a0e1152783fd66a9cScott Main
120600158363b47d916d159d2f3a0e1152783fd66a9cScott Main      <li>
120700158363b47d916d159d2f3a0e1152783fd66a9cScott Main        <a href="<?cs var:toroot ?>training/articles/security-ssl.html"
120800158363b47d916d159d2f3a0e1152783fd66a9cScott Main           description=
120900158363b47d916d159d2f3a0e1152783fd66a9cScott Main           "How to ensure that your app is secure when performing network transactions."
121000158363b47d916d159d2f3a0e1152783fd66a9cScott Main          >Security with HTTPS and SSL</a>
121100158363b47d916d159d2f3a0e1152783fd66a9cScott Main      </li>
12123ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
121350e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main      <li class="nav-section">
121422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
121522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/enterprise/index.html"
121622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
121722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to implement device management policies for enterprise-oriented apps."
121822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Developing for Enterprise</a>
121922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
122050e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main        <ul>
122122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/enterprise/device-management-policy.html">
122222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Enhancing Security with Device Management Policies
122350e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main          </a>
122450e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main          </li>
1225e577d72a3be20e589437271f0e5ca474fab38124Roman Nurik        </ul>
1226e577d72a3be20e589437271f0e5ca474fab38124Roman Nurik      </li>
122722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </ul>
122822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  </li>
122922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <!-- End security and user info -->
12304c4a47f42101a57ab8ff05a8e035d97582c3368aScott Main
12312ef3952d8e62b71baca176b3e17315a37facd34aquddusc  <li class="nav-section">
12322ef3952d8e62b71baca176b3e17315a37facd34aquddusc    <div class="nav-section-header">
12332ef3952d8e62b71baca176b3e17315a37facd34aquddusc      <a href="<?cs var:toroot ?>training/testing.html">
12342ef3952d8e62b71baca176b3e17315a37facd34aquddusc      <span class="small">Best Practices for</span><br/>
12352ef3952d8e62b71baca176b3e17315a37facd34aquddusc              Testing
12362ef3952d8e62b71baca176b3e17315a37facd34aquddusc      </a>
12372ef3952d8e62b71baca176b3e17315a37facd34aquddusc    </div>
12382ef3952d8e62b71baca176b3e17315a37facd34aquddusc    <ul>
12392ef3952d8e62b71baca176b3e17315a37facd34aquddusc      <li class="nav-section">
12402ef3952d8e62b71baca176b3e17315a37facd34aquddusc      <div class="nav-section-header"><a href="<?cs var:toroot ?>training/activity-testing/index.html"
12412ef3952d8e62b71baca176b3e17315a37facd34aquddusc         description="How to test Activities in your Android applications.">
12422ef3952d8e62b71baca176b3e17315a37facd34aquddusc            Testing Your Activity
12432ef3952d8e62b71baca176b3e17315a37facd34aquddusc          </a></div>
12442ef3952d8e62b71baca176b3e17315a37facd34aquddusc        <ul>
12452ef3952d8e62b71baca176b3e17315a37facd34aquddusc          <li><a href="<?cs var:toroot ?>training/activity-testing/preparing-activity-testing.html">
12462ef3952d8e62b71baca176b3e17315a37facd34aquddusc            <span class="en">Setting Up Your Test Environment</span>
12472ef3952d8e62b71baca176b3e17315a37facd34aquddusc          </a>
12482ef3952d8e62b71baca176b3e17315a37facd34aquddusc          </li>
12492ef3952d8e62b71baca176b3e17315a37facd34aquddusc          <li><a href="<?cs var:toroot ?>training/activity-testing/activity-basic-testing.html">
12502ef3952d8e62b71baca176b3e17315a37facd34aquddusc            <span class="en">Creating and Running a Test Case</span>
12512ef3952d8e62b71baca176b3e17315a37facd34aquddusc          </a>
12522ef3952d8e62b71baca176b3e17315a37facd34aquddusc          </li>
12532ef3952d8e62b71baca176b3e17315a37facd34aquddusc          <li><a href="<?cs var:toroot ?>training/activity-testing/activity-ui-testing.html">
12542ef3952d8e62b71baca176b3e17315a37facd34aquddusc            <span class="en">Testing UI Components</span>
12552ef3952d8e62b71baca176b3e17315a37facd34aquddusc          </a>
12562ef3952d8e62b71baca176b3e17315a37facd34aquddusc          </li>
12572ef3952d8e62b71baca176b3e17315a37facd34aquddusc          <li><a href="<?cs var:toroot ?>training/activity-testing/activity-unit-testing.html">
12582ef3952d8e62b71baca176b3e17315a37facd34aquddusc            <span class="en">Creating Unit Tests</span>
12592ef3952d8e62b71baca176b3e17315a37facd34aquddusc          </a>
12602ef3952d8e62b71baca176b3e17315a37facd34aquddusc          </li>
12612ef3952d8e62b71baca176b3e17315a37facd34aquddusc          <li><a href="<?cs var:toroot ?>training/activity-testing/activity-functional-testing.html">
12622ef3952d8e62b71baca176b3e17315a37facd34aquddusc            <span class="en">Creating Functional Tests</span>
12632ef3952d8e62b71baca176b3e17315a37facd34aquddusc          </a>
12642ef3952d8e62b71baca176b3e17315a37facd34aquddusc          </li>
12652ef3952d8e62b71baca176b3e17315a37facd34aquddusc        </ul>
12662ef3952d8e62b71baca176b3e17315a37facd34aquddusc      </li>
12672ef3952d8e62b71baca176b3e17315a37facd34aquddusc    </ul>
12682ef3952d8e62b71baca176b3e17315a37facd34aquddusc  </li>
12692ef3952d8e62b71baca176b3e17315a37facd34aquddusc  <!-- End best Testing -->
127050e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main
127122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <li class="nav-section">
127222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <div class="nav-section-header">
127322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <a href="<?cs var:toroot ?>training/distribute.html">
127422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      <span class="small">Using Google Play to</span><br/>
127522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main              Distribute &amp; Monetize
127622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main      </a>
127722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    </div>
127822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main    <ul>
1279768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong      <li class="nav-section">
1280768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong      <div class="nav-section-header"><a href="<?cs var:toroot ?>training/in-app-billing/index.html"
1281768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong         description="How to sell in-app products from your application using In-app Billing.">
1282768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong            Selling In-app Products
1283768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          </a></div>
1284768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong        <ul>
1285768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          <li><a href="<?cs var:toroot ?>training/in-app-billing/preparing-iab-app.html">
1286768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong            <span class="en">Preparing Your App</span>
1287768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          </a>
1288768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          </li>
1289768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          <li><a href="<?cs var:toroot ?>training/in-app-billing/list-iab-products.html">
1290768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong            <span class="en">Establishing Products for Sale</span>
1291768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          </a>
1292768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          </li>
1293768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          <li><a href="<?cs var:toroot ?>training/in-app-billing/purchase-iab-products.html">
1294768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong            <span class="en">Purchasing Products</span>
1295768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          </a>
1296768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          </li>
1297768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          <li><a href="<?cs var:toroot ?>training/in-app-billing/test-iab-app.html">
1298768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong            <span class="en">Testing Your App</span>
1299768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          </a>
1300768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong          </li>
1301768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong        </ul>
1302768dba6d8cd6ad56fb6d4e7e30b3260e0d5e0ffdQuddus Chong      </li>
13033ddba7ee37c02c071b6b7580cc21ad8007861ec9Joe Malin
1304969c243f17a785dbe697e2cbe09c320136f0d82aAlexander Lucas      <li class="nav-section">
130522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
130622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/multiple-apks/index.html"
130722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
130822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to publish your app on Google Play with separate APKs that target
130922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             different devices, while using a single app listing."
131022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Maintaining Multiple APKs</a>
131122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
1312969c243f17a785dbe697e2cbe09c320136f0d82aAlexander Lucas        <ul>
131322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/multiple-apks/api.html">
131422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Creating Multiple APKs for Different API Levels
1315969c243f17a785dbe697e2cbe09c320136f0d82aAlexander Lucas          </a>
1316969c243f17a785dbe697e2cbe09c320136f0d82aAlexander Lucas          </li>
131722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/multiple-apks/screensize.html">
131822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Creating Multiple APKs for Different Screen Sizes
1319969c243f17a785dbe697e2cbe09c320136f0d82aAlexander Lucas          </a>
1320969c243f17a785dbe697e2cbe09c320136f0d82aAlexander Lucas          </li>
132122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/multiple-apks/texture.html">
132222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Creating Multiple APKs for Different GL Textures
132322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </a>
132422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          </li>
132522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/multiple-apks/multiple.html">
132622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Creating Multiple APKs with 2+ Dimensions
1327969c243f17a785dbe697e2cbe09c320136f0d82aAlexander Lucas          </a>
1328969c243f17a785dbe697e2cbe09c320136f0d82aAlexander Lucas          </li>
1329969c243f17a785dbe697e2cbe09c320136f0d82aAlexander Lucas        </ul>
1330969c243f17a785dbe697e2cbe09c320136f0d82aAlexander Lucas      </li>
133150c2275cff28c4a216f6924584e43cd64b90a3bfJoe Malin      <li class="nav-section">
133222cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        <div class="nav-section-header">
133322cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <a href="<?cs var:toroot ?>training/monetization/index.html"
133422cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             description=
133522cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             "How to implement monetization strategies for your app without compromising
133622cc2764cc74e52888b043e0c6371594305bb5e9Scott Main             the user experience."
133722cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            >Monetizing Your App</a>
133822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main        </div>
133950c2275cff28c4a216f6924584e43cd64b90a3bfJoe Malin        <ul>
134022cc2764cc74e52888b043e0c6371594305bb5e9Scott Main          <li><a href="<?cs var:toroot ?>training/monetization/ads-and-ux.html">
134122cc2764cc74e52888b043e0c6371594305bb5e9Scott Main            Advertising without Compromising User Experience
134250c2275cff28c4a216f6924584e43cd64b90a3bfJoe Malin          </a>
134350c2275cff28c4a216f6924584e43cd64b90a3bfJoe Malin          </li>
134450c2275cff28c4a216f6924584e43cd64b90a3bfJoe Malin        </ul>
134550c2275cff28c4a216f6924584e43cd64b90a3bfJoe Malin      </li>
134622558d0be8210aee1a2ab64b374bb357d4123acdDirk Dougherty    </ul>
134722558d0be8210aee1a2ab64b374bb357d4123acdDirk Dougherty  </li>
134822cc2764cc74e52888b043e0c6371594305bb5e9Scott Main  <!-- End best Publishing -->
134922cc2764cc74e52888b043e0c6371594305bb5e9Scott Main
135050e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main</ul><!-- nav -->
135122558d0be8210aee1a2ab64b374bb357d4123acdDirk Dougherty<script type="text/javascript">
135222558d0be8210aee1a2ab64b374bb357d4123acdDirk Dougherty<!--
135322558d0be8210aee1a2ab64b374bb357d4123acdDirk Dougherty    buildToggleLists();
135422558d0be8210aee1a2ab64b374bb357d4123acdDirk Dougherty    changeNavLang(getLangPref());
135522558d0be8210aee1a2ab64b374bb357d4123acdDirk Dougherty//-->
135622558d0be8210aee1a2ab64b374bb357d4123acdDirk Dougherty</script>
1357