1<ul id="nav">
2
3
4  <li class="nav-section">
5    <div class="nav-section-header">
6      <a href="<?cs var:toroot ?>training/index.html">
7        Getting Started
8      </a>
9    </div>
10
11    <ul>
12      <li class="nav-section">
13        <div class="nav-section-header">
14          <a href="<?cs var:toroot ?>training/basics/firstapp/index.html"
15             description=
16             "After you've installed the Android SDK, start with this class
17             to learn the basics about Android app development."
18            >Building Your First App</a>
19        </div>
20        <ul>
21          <li><a href="<?cs var:toroot ?>training/basics/firstapp/creating-project.html">
22            Creating an Android Project
23          </a>
24          </li>
25          <li><a href="<?cs var:toroot ?>training/basics/firstapp/running-app.html">
26            Running Your Application
27          </a>
28          </li>
29          <li><a href="<?cs var:toroot ?>training/basics/firstapp/building-ui.html">
30            Building a Simple User Interface
31          </a>
32          </li>
33          <li><a href="<?cs var:toroot ?>training/basics/firstapp/starting-activity.html">
34            Starting Another Activity
35          </a>
36          </li>
37        </ul>
38      </li>
39
40      <li class="nav-section">
41        <div class="nav-section-header">
42          <a href="<?cs var:toroot ?>training/basics/actionbar/index.html"
43             description=
44             "The action bar is one of the most important design elements you can implement for your
45app's activities. Although first introduced with API level 11, you can use the Support Library to
46include the action bar on devices running Android 2.1 or higher."
47            >Adding the Action Bar</a>
48        </div>
49        <ul>
50          <li><a href="<?cs var:toroot ?>training/basics/actionbar/setting-up.html">
51            Setting Up the Action Bar
52          </a>
53          </li>
54          <li><a href="<?cs var:toroot ?>training/basics/actionbar/adding-buttons.html">
55            Adding Action Buttons
56          </a>
57          </li>
58          <li><a href="<?cs var:toroot ?>training/basics/actionbar/styling.html">
59            Styling the Action Bar
60          </a>
61          </li>
62          <li><a href="<?cs var:toroot ?>training/basics/actionbar/overlaying.html">
63            Overlaying the Action Bar
64          </a>
65          </li>
66        </ul>
67      </li>
68
69      <li class="nav-section">
70        <div class="nav-section-header">
71          <a href="<?cs var:toroot ?>training/basics/supporting-devices/index.html"
72             description=
73             "How to build your app with alternative resources that provide an
74             optimized user experience on multiple device form factors using a single APK."
75            >Supporting Different Devices</a>
76        </div>
77        <ul>
78          <li><a href="<?cs var:toroot ?>training/basics/supporting-devices/languages.html">
79            Supporting Different Languages
80          </a>
81          </li>
82          <li><a href="<?cs var:toroot ?>training/basics/supporting-devices/screens.html">
83            Supporting Different Screens
84          </a>
85          </li>
86          <li><a href="<?cs var:toroot ?>training/basics/supporting-devices/platforms.html">
87            Supporting Different Platform Versions
88          </a>
89          </li>
90        </ul>
91      </li>
92
93      <li class="nav-section">
94        <div class="nav-section-header">
95          <a href="<?cs var:toroot ?>training/basics/activity-lifecycle/index.html"
96             description=
97             "How Android activities live and die and how to create
98             a seamless user experience by implementing lifecycle callback methods."
99            >Managing the Activity Lifecycle</a>
100        </div>
101        <ul>
102          <li><a href="<?cs var:toroot ?>training/basics/activity-lifecycle/starting.html">
103            Starting an Activity
104          </a>
105          </li>
106          <li><a href="<?cs var:toroot ?>training/basics/activity-lifecycle/pausing.html">
107            Pausing and Resuming an Activity
108          </a>
109          </li>
110          <li><a href="<?cs var:toroot ?>training/basics/activity-lifecycle/stopping.html">
111            Stopping and Restarting an Activity
112          </a>
113          </li>
114          <li><a href="<?cs var:toroot ?>training/basics/activity-lifecycle/recreating.html">
115            Recreating an Activity
116          </a>
117          </li>
118        </ul>
119      </li>
120
121      <li class="nav-section">
122        <div class="nav-section-header">
123          <a href="<?cs var:toroot ?>training/basics/fragments/index.html"
124             description=
125             "How to build a user interface for your app that is flexible enough
126             to present multiple UI components on large screens and a more constrained set of
127             UI components on smaller screens&mdash;essential for building a single APK for both
128             phones and tablets."
129            >Building a Dynamic UI with Fragments</a>
130        </div>
131        <ul>
132          <li><a href="<?cs var:toroot ?>training/basics/fragments/creating.html">
133            Creating a Fragment
134          </a>
135          </li>
136          <li><a href="<?cs var:toroot ?>training/basics/fragments/fragment-ui.html">
137            Building a Flexible UI
138          </a>
139          </li>
140          <li><a href="<?cs var:toroot ?>training/basics/fragments/communicating.html">
141            Communicating with Other Fragments
142          </a>
143          </li>
144        </ul>
145      </li>
146
147      <li class="nav-section">
148        <div class="nav-section-header"><a href="<?cs var:toroot?>training/basics/data-storage/index.html"
149             description=
150             "How to save data on the device, whether it's temporary files, downloaded
151             app assets, user media, structured data, or something else."
152            >Saving Data</a>
153        </div>
154        <ul>
155          <li><a href="<?cs var:toroot ?>training/basics/data-storage/shared-preferences.html">
156            Saving Key-Value Sets
157          </a>
158          </li>
159          <li><a href="<?cs var:toroot ?>training/basics/data-storage/files.html">
160            Saving Files
161          </a>
162          </li>
163          <li><a href="<?cs var:toroot ?>training/basics/data-storage/databases.html">
164            Saving Data in SQL Databases
165          </a>
166          </li>
167        </ul>
168      </li>
169
170      <li class="nav-section">
171        <div class="nav-section-header">
172          <a href="<?cs var:toroot ?>training/basics/intents/index.html"
173             description=
174             "How to build a user experience that leverages other apps available
175             on the device to perform advanced user tasks, such as capture a photo or view
176             an address on a map."
177            >Interacting with Other Apps</a>
178        </div>
179        <ul>
180          <li><a href="<?cs var:toroot ?>training/basics/intents/sending.html">
181            Sending the User to Another App
182          </a>
183          </li>
184          <li><a href="<?cs var:toroot ?>training/basics/intents/result.html">
185            Getting a Result from the Activity
186          </a>
187          </li>
188          <li><a href="<?cs var:toroot ?>training/basics/intents/filters.html">
189            Allowing Other Apps to Start Your Activity
190          </a>
191          </li>
192        </ul>
193      </li>
194
195    </ul>
196  </li><!-- end getting started -->
197    <li class="nav-section">
198        <div class="nav-section-header">
199            <a href="<?cs var:toroot ?>training/building-content-sharing.html">
200            <span class="small">Building Apps with</span><br/>Content Sharing
201            </a>
202        </div>
203        <ul>
204            <li class="nav-section">
205                <div class="nav-section-header">
206                    <a href="<?cs var:toroot ?>training/sharing/index.html"
207                    description=
208                    "How to take your app interaction to the next level by sharing
209                    information with other apps, receive information back, and provide a simple and
210                    scalable way to perform Share actions with user content."
211                    >Sharing Simple Data</a>
212                </div>
213                <ul>
214                    <li>
215                        <a href="<?cs var:toroot ?>training/sharing/send.html">
216                        Sending Simple Data to Other Apps
217                        </a>
218                    </li>
219                    <li>
220                        <a href="<?cs var:toroot ?>training/sharing/receive.html">
221                        Receiving Simple Data from Other Apps
222                        </a>
223                    </li>
224                    <li>
225                        <a href="<?cs var:toroot ?>training/sharing/shareaction.html">
226                        Adding an Easy Share Action
227                        </a>
228                    </li>
229                </ul>
230            </li>
231            <li class="nav-section">
232                <div class="nav-section-header">
233                    <a href="<?cs var:toroot?>training/secure-file-sharing/index.html"
234                    description=
235                    "How to provide secure access to a file associated with your app using a content
236                    URI and temporary access permissions."
237                    >Sharing Files</a>
238                </div>
239                <ul>
240                    <li>
241                        <a href="<?cs var:toroot ?>training/secure-file-sharing/setup-sharing.html">
242                        Setting Up File Sharing
243                        </a>
244                    </li>
245                    <li>
246                        <a href="<?cs var:toroot ?>training/secure-file-sharing/share-file.html">
247                        Sharing a File
248                        </a>
249                    </li>
250                    <li>
251                        <a href="<?cs var:toroot ?>training/secure-file-sharing/request-file.html">
252                        Requesting a Shared File
253                        </a>
254                    </li>
255                    <li>
256                        <a href="<?cs var:toroot ?>training/secure-file-sharing/retrieve-info.html">
257                        Retrieving File Information
258                        </a>
259                    </li>
260                </ul>
261            </li>
262            <li class="nav-section">
263                <div class="nav-section-header">
264                    <a href="<?cs var:toroot ?>training/beam-files/index.html"
265                    description=
266                    "How to transfer files between devices using the NFC Android Beam feature."
267                    >Sharing Files with NFC</a>
268                </div>
269                <ul>
270                    <li>
271                        <a href="<?cs var:toroot ?>training/beam-files/send-files.html"
272                        >Sending Files to Another Device</a>
273                    </li>
274                    <li><a href="<?cs var:toroot ?>training/beam-files/receive-files.html"
275                    >Receiving Files from Another Device</a></li>
276                </ul>
277            </li>
278        </ul>
279    </li>
280
281
282
283  <li class="nav-section">
284    <div class="nav-section-header">
285      <a href="<?cs var:toroot ?>training/building-multimedia.html">
286      <span class="small">Building Apps with</span><br/>Multimedia
287      </a>
288    </div>
289    <ul>
290
291      <li class="nav-section">
292        <div class="nav-section-header">
293          <a href="<?cs var:toroot ?>training/managing-audio/index.html"
294             description=
295             "How to respond to hardware audio key presses, request audio focus
296             when playing audio, and respond appropriately to changes in audio focus."
297            >Managing Audio Playback</a>
298        </div>
299        <ul>
300          <li><a href="<?cs var:toroot ?>training/managing-audio/volume-playback.html">
301            Controlling Your App's Volume and Playback
302          </a>
303          </li>
304          <li><a href="<?cs var:toroot ?>training/managing-audio/audio-focus.html">
305            Managing Audio Focus
306          </a>
307          </li>
308          <li><a href="<?cs var:toroot ?>training/managing-audio/audio-output.html">
309            Dealing with Audio Output Hardware
310          </a>
311          </li>
312        </ul>
313      </li>
314
315      <li class="nav-section">
316        <div class="nav-section-header">
317          <a href="<?cs var:toroot ?>training/camera/index.html"
318             description=
319             "How to leverage existing camera apps on the user's device to capture
320             photos or control the camera hardware directly and build your own camera app."
321            >Capturing Photos</a>
322        </div>
323        <ul>
324          <li><a href="<?cs var:toroot ?>training/camera/photobasics.html">
325            Taking Photos Simply
326          </a>
327          </li>
328          <li><a href="<?cs var:toroot ?>training/camera/videobasics.html">
329            Recording Videos Simply
330          </a>
331          </li>
332          <li><a href="<?cs var:toroot ?>training/camera/cameradirect.html">
333            Controlling the Camera
334          </a>
335          </li>
336        </ul>
337      </li>
338
339      <li class="nav-section">
340        <div class="nav-section-header">
341          <a href="<?cs var:toroot ?>training/printing/index.html"
342             description=
343             "How to print photos, HTML documents, and custom documents from your app."
344            >Printing Content</a>
345        </div>
346        <ul>
347          <li><a href="<?cs var:toroot ?>training/printing/photos.html">
348            Photos
349          </a>
350          </li>
351          <li><a href="<?cs var:toroot ?>training/printing/html-docs.html">
352            HTML Documents
353          </a>
354          </li>
355          <li><a href="<?cs var:toroot ?>training/printing/custom-docs.html">
356            Custom Documents
357          </a>
358          </li>
359        </ul>
360      </li>
361
362    </ul>
363  </li>
364  <!-- End multimedia -->
365
366
367
368  <li class="nav-section">
369    <div class="nav-section-header">
370      <a href="<?cs var:toroot ?>training/building-graphics.html">
371      <span class="small">Building Apps with</span><br/>Graphics &amp; Animation
372      </a>
373    </div>
374    <ul>
375
376      <li class="nav-section">
377        <div class="nav-section-header">
378          <a href="<?cs var:toroot ?>training/displaying-bitmaps/index.html"
379             description=
380             "How to load and process bitmaps while keeping your user interface
381             responsive and avoid exceeding memory limits."
382            >Displaying Bitmaps Efficiently</a>
383        </div>
384        <ul>
385          <li><a href="<?cs var:toroot ?>training/displaying-bitmaps/load-bitmap.html">
386            Loading Large Bitmaps Efficiently
387          </a>
388          </li>
389          <li><a href="<?cs var:toroot ?>training/displaying-bitmaps/process-bitmap.html">
390            Processing Bitmaps Off the UI Thread
391          </a>
392          </li>
393          <li><a href="<?cs var:toroot ?>training/displaying-bitmaps/cache-bitmap.html">
394            Caching Bitmaps
395          </a>
396          </li>
397          <li><a href="<?cs var:toroot ?>training/displaying-bitmaps/manage-memory.html">
398            Managing Bitmap Memory
399          </a>
400          </li>
401          <li><a href="<?cs var:toroot ?>training/displaying-bitmaps/display-bitmap.html">
402            Displaying Bitmaps in Your UI
403          </a></li>
404        </ul>
405      </li>
406
407      <li class="nav-section">
408        <div class="nav-section-header">
409          <a href="<?cs var:toroot?>training/graphics/opengl/index.html"
410             description=
411             "How to create OpenGL graphics within the Android app framework
412             and respond to touch input."
413            >Displaying Graphics with OpenGL ES</a>
414        </div>
415        <ul>
416          <li><a href="<?cs var:toroot ?>training/graphics/opengl/environment.html">
417            Building an OpenGL ES Environment
418          </a>
419          </li>
420          <li><a href="<?cs var:toroot ?>training/graphics/opengl/shapes.html">
421            Defining Shapes
422          </a>
423          </li>
424          <li><a href="<?cs var:toroot ?>training/graphics/opengl/draw.html">
425            Drawing Shapes
426          </a>
427          </li>
428          <li><a href="<?cs var:toroot ?>training/graphics/opengl/projection.html">
429            Applying Projection and Camera Views
430          </a>
431          </li>
432          <li><a href="<?cs var:toroot ?>training/graphics/opengl/motion.html">
433            Adding Motion
434          </a>
435          </li>
436          <li><a href="<?cs var:toroot ?>training/graphics/opengl/touch.html">
437            Responding to Touch Events
438          </a>
439          </li>
440        </ul>
441      </li>
442      <li class="nav-section">
443        <div class="nav-section-header"><a href="<?cs var:toroot ?>training/animation/index.html"
444             description=
445             "How to add transitional animations to your user interface.">
446            Adding Animations
447          </a></div>
448        <ul>
449          <li><a href="<?cs var:toroot ?>training/animation/crossfade.html">
450            Crossfading Two Views
451          </a>
452          </li>
453          <li><a href="<?cs var:toroot ?>training/animation/screen-slide.html">
454            Using ViewPager for Screen Slide
455          </a>
456          </li>
457          <li><a href="<?cs var:toroot ?>training/animation/cardflip.html">
458            Displaying Card Flip Animations
459          </a>
460          </li>
461          <li><a href="<?cs var:toroot ?>training/animation/zoom.html">
462            Zooming a View
463          </a>
464          </li>
465          <li><a href="<?cs var:toroot ?>training/animation/layout.html">
466            Animating Layout Changes
467          </a>
468          </li>
469        </ul>
470      </li>
471    </ul>
472  </li>
473  <!-- End graphics and animation -->
474
475
476  <li class="nav-section">
477    <div class="nav-section-header">
478      <a href="<?cs var:toroot ?>training/building-connectivity.html">
479      <span class="small">Building Apps with</span><br/>
480              Connectivity &amp; the Cloud
481      </a>
482    </div>
483    <ul>
484
485      <li class="nav-section">
486        <div class="nav-section-header">
487          <a href="<?cs var:toroot ?>training/connect-devices-wirelessly/index.html"
488             description=
489             "How to find and connect to local devices using Network Service
490             Discovery and how to create peer-to-peer connections with Wi-Fi."
491             >Connecting Devices Wirelessly</a>
492        </div>
493        <ul>
494          <li><a href="<?cs var:toroot ?>training/connect-devices-wirelessly/nsd.html">
495            Using Network Service Discovery
496          </a>
497          </li>
498          <li><a href="<?cs var:toroot ?>training/connect-devices-wirelessly/wifi-direct.html">
499            Creating P2P Connections with Wi-Fi
500          </a>
501          </li>
502          <li><a href="<?cs var:toroot ?>training/connect-devices-wirelessly/nsd-wifi-direct.html">
503            Using Wi-Fi P2P for Service Discovery
504          </a>
505          </li>
506        </ul>
507      </li>
508       <li class="nav-section">
509        <div class="nav-section-header">
510          <a href="<?cs var:toroot ?>training/basics/network-ops/index.html"
511             description=
512             "How to create a network connection, monitor the connection for changes
513             in connectivity, and perform transactions with XML data."
514            >Performing Network Operations</a>
515        </div>
516        <ul>
517          <li><a href="<?cs var:toroot ?>training/basics/network-ops/connecting.html">
518            Connecting to the Network
519          </a>
520          </li>
521          <li><a href="<?cs var:toroot ?>training/basics/network-ops/managing.html">
522            Managing Network Usage
523          </a>
524          </li>
525          <li><a href="<?cs var:toroot ?>training/basics/network-ops/xml.html">
526            Parsing XML Data
527          </a>
528          </li>
529        </ul>
530      </li>
531      <li class="nav-section">
532        <div class="nav-section-header">
533          <a href="<?cs var:toroot ?>training/efficient-downloads/index.html"
534             description=
535             "How to minimize your app's impact on the battery when performing downloads
536             and other network transactions."
537            >Transferring Data Without Draining the Battery</a>
538        </div>
539        <ul>
540          <li><a href="<?cs var:toroot ?>training/efficient-downloads/efficient-network-access.html">
541            Optimizing Downloads for Efficient Network Access
542          </a>
543          </li>
544          <li><a href="<?cs var:toroot ?>training/efficient-downloads/regular_updates.html">
545            Minimizing the Effect of Regular Updates
546          </a>
547          </li>
548          <li><a href="<?cs var:toroot ?>training/efficient-downloads/redundant_redundant.html">
549            Redundant Downloads are Redundant
550          </a>
551          </li>
552          <li><a href="<?cs var:toroot ?>training/efficient-downloads/connectivity_patterns.html">
553            Modifying Patterns Based on the Connectivity Type
554          </a>
555          </li>
556        </ul>
557      </li>
558
559      <li class="nav-section">
560        <div class="nav-section-header">
561          <a href="<?cs var:toroot ?>training/cloudsync/index.html"
562             description=
563             "How to sync and back up app and user data to remote web services in the
564              cloud and how to restore the data back to multiple devices."
565            >Syncing to the Cloud</a>
566        </div>
567        <ul>
568          <li><a href="<?cs var:toroot ?>training/cloudsync/backupapi.html">
569            Using the Backup API
570          </a>
571          </li>
572          <li><a href="<?cs var:toroot ?>training/cloudsync/gcm.html">
573            Making the Most of Google Cloud Messaging
574          </a>
575          </li>
576        </ul>
577        <li><a href="<?cs var:toroot ?>training/cloudsave/conflict-res.html"
578           description=
579           "How to design a robust conflict resolution strategy for apps that save data to the cloud."
580           >Resolving Cloud Save Conflicts
581          </a>
582        </li>
583      </li>
584      <li class="nav-section">
585        <div class="nav-section-header">
586          <a href="<?cs var:toroot ?>training/sync-adapters/index.html"
587             description="How to transfer data between the cloud and the device using the Android
588             sync adapter framework"
589             >Transferring Data Using Sync Adapters</a>
590        </div>
591        <ul>
592            <li>
593                <a href="<?cs var:toroot ?>training/sync-adapters/creating-authenticator.html">
594                Creating a Stub Authenticator
595                </a>
596            </li>
597            <li>
598                <a href="<?cs var:toroot ?>training/sync-adapters/creating-stub-provider.html">
599                Creating a Stub Content Provider
600                </a>
601            </li>
602            <li>
603                <a href="<?cs var:toroot ?>training/sync-adapters/creating-sync-adapter.html">
604                Creating a Sync Adapter
605                </a>
606            </li>
607            <li>
608                <a href="<?cs var:toroot ?>training/sync-adapters/running-sync-adapter.html">
609                Running a Sync Adapter
610                </a>
611            </li>
612        </ul>
613      </li>
614
615    </ul>
616  </li>
617  <!-- End connectivity and cloud -->
618
619
620
621  <li class="nav-section">
622    <div class="nav-section-header">
623      <a href="<?cs var:toroot ?>training/building-userinfo.html">
624      <span class="small">Building Apps with</span><br/>
625              User Info &amp; Location
626      </a>
627    </div>
628    <ul>
629      <li class="nav-section">
630        <div class="nav-section-header">
631          <a href="<?cs var:toroot ?>training/contacts-provider/index.html"
632             description=
633             "How to use Android's central address book, the Contacts Provider, to
634             display contacts and their details and modify contact information.">
635          Accessing Contacts Data</a>
636        </div>
637        <ul>
638          <li>
639                <a href="<?cs var:toroot ?>training/contacts-provider/retrieve-names.html">
640                Retrieving a List of Contacts
641                </a>
642          </li>
643          <li>
644                <a href="<?cs var:toroot ?>training/contacts-provider/retrieve-details.html">
645                Retrieving Details for a Contact
646                </a>
647          </li>
648          <li>
649                <a href="<?cs var:toroot ?>training/contacts-provider/modify-data.html">
650                Modifying Contacts Using Intents
651                </a>
652          </li>
653          <li>
654                <a href="<?cs var:toroot ?>training/contacts-provider/display-contact-badge.html">
655                Displaying the Quick Contact Badge
656                </a>
657          </li>
658        </ul>
659      </li>
660
661      <li class="nav-section">
662        <div class="nav-section-header">
663          <a href="<?cs var:toroot ?>training/location/index.html"
664             description="How to add location-aware features to your app by getting the user's current location.">
665             Making Your App Location-Aware
666          </a>
667        </div>
668        <ul>
669          <li>
670            <a href="<?cs var:toroot ?>training/location/retrieve-current.html">
671            Retrieving the Current Location
672            </a>
673          </li>
674          <li>
675            <a href="<?cs var:toroot ?>training/location/receive-location-updates.html">
676            Receiving Location Updates
677            </a>
678          </li>
679          <li>
680            <a href="<?cs var:toroot ?>training/location/display-address.html">
681            Displaying a Location Address
682          </a>
683          </li>
684          <li><a href="<?cs var:toroot ?>training/location/geofencing.html">
685            Creating and Monitoring Geofences
686          </a>
687          </li>
688          <li><a href="<?cs var:toroot ?>training/location/activity-recognition.html">
689          Recognizing the User's Current Activity
690          </a>
691          </li>
692          <li><a href="<?cs var:toroot ?>training/location/location-testing.html">
693          Testing Using Mock Locations
694          </a>
695          </li>
696        </ul>
697      </li>
698    </ul>
699  </li>
700  <!-- End privacy and location -->
701
702
703
704  <li class="nav-section">
705    <div class="nav-section-header">
706      <a href="<?cs var:toroot ?>training/best-ux.html">
707      <span class="small">Best Practices for</span><br/>
708              User Experience &amp; UI
709      </a>
710    </div>
711    <ul>
712
713      <li class="nav-section">
714        <div class="nav-section-header">
715          <a href="<?cs var:toroot ?>training/design-navigation/index.html"
716             description=
717             "How to plan your app's screen hierarchy and forms of navigation so users can
718             effectively and intuitively traverse your app content using various navigation
719             patterns."
720            >Designing Effective Navigation</a>
721        </div>
722        <ul>
723          <li><a href="<?cs var:toroot ?>training/design-navigation/screen-planning.html">
724            Planning Screens and Their Relationships
725          </a>
726          </li>
727          <li><a href="<?cs var:toroot ?>training/design-navigation/multiple-sizes.html">
728            Planning for Multiple Touchscreen Sizes
729          </a>
730          </li>
731          <li><a href="<?cs var:toroot ?>training/design-navigation/descendant-lateral.html">
732            Providing Descendant and Lateral Navigation
733          </a>
734          </li>
735          <li><a href="<?cs var:toroot ?>training/design-navigation/ancestral-temporal.html">
736            Providing Ancestral and Temporal Navigation
737          </a>
738          </li>
739          <li><a href="<?cs var:toroot ?>training/design-navigation/wireframing.html">
740            Putting it All Together: Wireframing the Example App
741          </a>
742          </li>
743        </ul>
744      </li>
745
746      <li class="nav-section">
747        <div class="nav-section-header">
748          <a href="<?cs var:toroot ?>training/implementing-navigation/index.html"
749             description=
750             "How to implement various navigation patterns such as swipe views,
751             a navigation drawer, and up navigation."
752            >Implementing Effective Navigation</a>
753        </div>
754        <ul>
755          <li><a href="<?cs var:toroot ?>training/implementing-navigation/lateral.html">
756            Creating Swipe Views with Tabs
757          </a>
758          </li>
759          <li><a href="<?cs var:toroot ?>training/implementing-navigation/nav-drawer.html">
760            Creating a Navigation Drawer
761          </a>
762          </li>
763          <li><a href="<?cs var:toroot ?>training/implementing-navigation/ancestral.html">
764            Providing Up Navigation
765          </a>
766          </li>
767          <li><a href="<?cs var:toroot ?>training/implementing-navigation/temporal.html">
768            Providing Proper Back Navigation
769          </a>
770          </li>
771          <li><a href="<?cs var:toroot ?>training/implementing-navigation/descendant.html">
772            Implementing Descendant Navigation
773          </a>
774          </li>
775        </ul>
776      </li>
777
778      <li class="nav-section">
779          <div class="nav-section-header">
780              <a href="<?cs var:toroot ?>training/notify-user/index.html"
781                 description=
782                 "How to display messages called notifications outside of
783                 your application's UI."
784               >Notifying the User</a>
785          </div>
786          <ul>
787              <li>
788                  <a href="<?cs var:toroot ?>training/notify-user/build-notification.html">
789                  Building a Notification
790                  </a>
791              </li>
792              <li>
793                  <a href="<?cs var:toroot ?>training/notify-user/navigation.html">
794                  Preserving Navigation when Starting an Activity
795                  </a>
796              </li>
797              <li>
798                  <a href="<?cs var:toroot ?>training/notify-user/managing.html">
799                  Updating Notifications
800                  </a>
801              </li>
802              <li>
803                  <a href="<?cs var:toroot ?>training/notify-user/expanded.html">
804                  Using Big View Styles
805                  </a>
806              </li>
807              <li>
808                  <a href="<?cs var:toroot ?>training/notify-user/display-progress.html">
809                  Displaying Progress in a Notification
810                  </a>
811              </li>
812          </ul>
813      </li>
814
815      <li class="nav-section">
816        <div class="nav-section-header">
817          <a href="<?cs var:toroot ?>training/search/index.html"
818             description=
819             "How to properly add a search interface to your app and create a searchable database."
820            >Adding Search Functionality</a>
821        </div>
822        <ul>
823          <li><a href="<?cs var:toroot ?>training/search/setup.html">
824            Setting up the Search Interface
825          </a>
826          </li>
827          <li><a href="<?cs var:toroot ?>training/search/search.html">
828            Storing and Searching for Data
829          </a>
830          </li>
831          <li><a href="<?cs var:toroot ?>training/search/backward-compat.html">
832            Remaining Backward Compatible
833          </a>
834          </li>
835        </ul>
836      </li>
837
838
839      <li class="nav-section">
840        <div class="nav-section-header">
841          <a href="/training/multiscreen/index.html"
842             zh-cn-lang="针对多种屏幕进行设计"
843             ja-lang="複数画面のデザイン"
844             es-lang="Cómo diseñar aplicaciones para varias pantallas"
845             description=
846             "How to build a user interface that's flexible enough to
847             fit perfectly on any screen and how to create different interaction
848             patterns that are optimized for different screen sizes."
849            >Designing for Multiple Screens</a>
850        </div>
851        <ul>
852          <li><a href="/training/multiscreen/screensizes.html"
853            zh-cn-lang="支持各种屏幕尺寸"
854            ko-lang="다양한 화면 크기 지원"
855            ja-lang="さまざまな画面サイズのサポート"
856            es-lang="Cómo admitir varios tamaños de pantalla"
857            >Supporting Different Screen Sizes</a>
858          </li>
859          <li><a href="/training/multiscreen/screendensities.html"
860            zh-cn-lang="支持各种屏幕密度"
861            ja-lang="さまざまな画面密度のサポート"
862            es-lang="Cómo admitir varias densidades de pantalla"
863            >Supporting Different Screen Densities</a>
864          </li>
865          <li><a href="/training/multiscreen/adaptui.html"
866            zh-cn-lang="实施自适应用户界面流程"
867            ja-lang="順応性のある UI フローの実装"
868            es-lang="Cómo implementar interfaces de usuario adaptables"
869            >Implementing Adaptive UI Flows</a>
870          </li>
871        </ul>
872      </li>
873
874      <li class="nav-section">
875        <div class="nav-section-header"><a href="<?cs var:toroot ?>training/tv/index.html"
876             description=
877             "How to optimize your app's user interface and user input for
878             the &quot;ten foot experience&quot; of a TV screen."
879            >Designing for TV</a>
880        </div>
881        <ul>
882          <li><a href="<?cs var:toroot ?>training/tv/optimizing-layouts-tv.html">
883            Optimizing Layouts for TV
884          </a>
885          </li>
886          <li><a href="<?cs var:toroot ?>training/tv/optimizing-navigation-tv.html">
887            Optimizing Navigation for TV
888          </a>
889          </li>
890          <li><a href="<?cs var:toroot ?>training/tv/unsupported-features-tv.html">
891            Handling Features Not Supported on TV
892          </a>
893          </li>
894        </ul>
895      </li>
896
897      <li class="nav-section">
898        <div class="nav-section-header">
899          <a href="<?cs var:toroot ?>training/custom-views/index.html"
900             description=
901             "How to build custom UI widgets that are interactive and smooth."
902            >Creating Custom Views</a>
903        </div>
904        <ul>
905          <li><a href="<?cs var:toroot ?>training/custom-views/create-view.html">
906            Creating a Custom View Class
907          </a>
908          </li>
909          <li><a href="<?cs var:toroot ?>training/custom-views/custom-drawing.html">
910            Implementing Custom Drawing
911          </a>
912          </li>
913          <li><a href="<?cs var:toroot ?>training/custom-views/making-interactive.html">
914            Making the View Interactive
915          </a>
916          </li>
917          <li><a href="<?cs var:toroot ?>training/custom-views/optimizing-view.html">
918            Optimizing the View
919          </a>
920          </li>
921        </ul>
922      </li>
923
924      <li class="nav-section">
925        <div class="nav-section-header">
926          <a href="<?cs var:toroot ?>training/backward-compatible-ui/index.html"
927             description=
928             "How to use UI components and other APIs from the more recent versions of Android
929             while remaining compatible with older versions of the platform."
930            >Creating Backward-Compatible UIs</a>
931        </div>
932        <ul>
933          <li><a href="<?cs var:toroot ?>training/backward-compatible-ui/abstracting.html">
934            Abstracting the New APIs
935          </a>
936          </li>
937          <li><a href="<?cs var:toroot ?>training/backward-compatible-ui/new-implementation.html">
938            Proxying to the New APIs
939          </a>
940          </li>
941          <li><a href="<?cs var:toroot ?>training/backward-compatible-ui/older-implementation.html">
942            Creating an Implementation with Older APIs
943          </a>
944          </li>
945          <li><a href="<?cs var:toroot ?>training/backward-compatible-ui/using-component.html">
946            Using the Version-Aware Component
947          </a>
948          </li>
949        </ul>
950      </li>
951
952      <li class="nav-section">
953        <div class="nav-section-header">
954          <a href="<?cs var:toroot ?>training/accessibility/index.html"
955             description=
956             "How to make your app accessible to users with vision
957             impairment or other physical disabilities."
958            >Implementing Accessibility</a>
959        </div>
960        <ul>
961          <li><a href="<?cs var:toroot ?>training/accessibility/accessible-app.html">
962            Developing Accessible Applications
963          </a>
964          </li>
965          <li><a href="<?cs var:toroot ?>training/accessibility/service.html">
966            Developing Accessibility Services
967          </a>
968          </li>
969        </ul>
970      </li>
971
972      <li class="nav-section">
973        <div class="nav-section-header">
974          <a href="<?cs var:toroot ?>training/system-ui/index.html"
975             description=
976             "How to hide and show status and navigation bars across different versions of Android,
977              while managing the display of other screen components."
978            >Managing the System UI</a>
979        </div>
980        <ul>
981          <li><a href="<?cs var:toroot ?>training/system-ui/dim.html">
982            Dimming the System Bars
983          </a>
984          </li>
985          <li><a href="<?cs var:toroot ?>training/system-ui/status.html">
986            Hiding the Status Bar
987          </a>
988          </li>
989          <li><a href="<?cs var:toroot ?>training/system-ui/navigation.html">
990            Hiding the Navigation Bar
991          </a>
992          </li>
993          <li><a href="<?cs var:toroot ?>training/system-ui/visibility.html">
994            Responding to UI Visibility Changes
995          </a>
996          </li>
997        </ul>
998      </li>
999
1000    </ul>
1001  </li>
1002  <!-- End best UX and UI -->
1003
1004
1005  <li class="nav-section">
1006    <div class="nav-section-header">
1007      <a href="<?cs var:toroot ?>training/best-user-input.html">
1008      <span class="small">Best Practices for</span><br/>
1009              User Input
1010      </a>
1011    </div>
1012    <ul>
1013
1014      <li class="nav-section">
1015        <div class="nav-section-header">
1016          <a href="<?cs var:toroot ?>training/gestures/index.html"
1017             description=
1018             "How to write apps that allow users to interact with the touch screen via touch gestures."
1019            >Using Touch Gestures</a>
1020        </div>
1021        <ul>
1022          <li><a href="<?cs var:toroot ?>training/gestures/detector.html">
1023            Detecting Common Gestures
1024          </a>
1025          </li>
1026          <li><a href="<?cs var:toroot ?>training/gestures/movement.html">
1027            Tracking Movement
1028          </a>
1029          </li>
1030          <li><a href="<?cs var:toroot ?>training/gestures/scroll.html">
1031            Animating a Scroll Gesture
1032          </a>
1033          </li>
1034          <li><a href="<?cs var:toroot ?>training/gestures/multi.html">
1035            Handling Multi-Touch Gestures
1036          </a>
1037          </li>
1038          <li><a href="<?cs var:toroot ?>training/gestures/scale.html">
1039            Dragging and Scaling
1040          </a>
1041          </li>
1042          <li><a href="<?cs var:toroot ?>training/gestures/viewgroup.html">
1043            Managing Touch Events in a ViewGroup
1044          </a>
1045          </li>
1046        </ul>
1047      </li>
1048
1049      <li class="nav-section">
1050        <div class="nav-section-header">
1051          <a href="<?cs var:toroot ?>training/keyboard-input/index.html"
1052             description=
1053             "How to specify the appearance and behaviors of soft input methods (such
1054             as on-screen keyboards) and how to optimize the experience with
1055             hardware keyboards."
1056            >Handling Keyboard Input</a>
1057        </div>
1058        <ul>
1059          <li><a href="<?cs var:toroot ?>training/keyboard-input/style.html">
1060            Specifying the Input Method Type
1061          </a>
1062          </li>
1063          <li><a href="<?cs var:toroot ?>training/keyboard-input/visibility.html">
1064            Handling Input Method Visibility
1065          </a>
1066          </li>
1067          <li><a href="<?cs var:toroot ?>training/keyboard-input/navigation.html">
1068            Supporting Keyboard Navigation
1069          </a>
1070          </li>
1071          <li><a href="<?cs var:toroot ?>training/keyboard-input/commands.html">
1072            Handling Keyboard Actions
1073          </a>
1074          </li>
1075        </ul>
1076      </li>
1077    </ul>
1078  </li> <!-- end of User Input -->
1079
1080  <li class="nav-section">
1081    <div class="nav-section-header">
1082      <a href="<?cs var:toroot ?>training/best-background.html">
1083      <span class="small">Best Practices for</span><br/>
1084              Background Jobs
1085      </a>
1086    </div>
1087    <ul>
1088
1089      <li class="nav-section">
1090        <div class="nav-section-header">
1091          <a href="<?cs var:toroot ?>training/run-background-service/index.html"
1092             description=
1093             "How to improve UI performance and responsiveness by sending work to a
1094             Service running in the background"
1095            >Running in a Background Service</a>
1096        </div>
1097        <ul>
1098          <li><a href="<?cs var:toroot ?>training/run-background-service/create-service.html">
1099            Creating a Background Service
1100          </a>
1101          </li>
1102          <li><a href="<?cs var:toroot ?>training/run-background-service/send-request.html">
1103            Sending Work Requests to the Background Service
1104          </a>
1105          </li>
1106          <li><a href="<?cs var:toroot ?>training/run-background-service/report-status.html">
1107            Reporting Work Status
1108          </a>
1109          </li>
1110        </ul>
1111      </li>
1112
1113      <li class="nav-section">
1114        <div class="nav-section-header">
1115          <a href="<?cs var:toroot ?>training/load-data-background/index.html"
1116             description="How to use CursorLoader to query data without
1117             affecting UI responsiveness."
1118            >Loading Data in the Background</a>
1119        </div>
1120        <ul>
1121          <li><a href="<?cs var:toroot ?>training/load-data-background/setup-loader.html">
1122            Running a Query with a CursorLoader</a>
1123          </li>
1124          <li><a href="<?cs var:toroot ?>training/load-data-background/handle-results.html">
1125            Handling the Results</a>
1126          </li>
1127        </ul>
1128      </li>
1129
1130       <li class="nav-section">
1131        <div class="nav-section-header">
1132          <a href="<?cs var:toroot ?>training/scheduling/index.html"
1133             description="How to use repeating alarms and wake locks
1134             to run background jobs."
1135            >Managing Device Awake State</a>
1136        </div>
1137        <ul>
1138          <li><a href="<?cs var:toroot ?>training/scheduling/wakelock.html">
1139            Keeping the Device Awake</a>
1140          </li>
1141          <li><a href="<?cs var:toroot ?>training/scheduling/alarms.html">
1142            Scheduling Repeating Alarms</a>
1143          </li>
1144        </ul>
1145      </li>
1146    </ul>
1147  </li> <!-- end of Background Jobs -->
1148
1149  <li class="nav-section">
1150    <div class="nav-section-header">
1151      <a href="<?cs var:toroot ?>training/best-performance.html">
1152      <span class="small">Best Practices for</span><br/>
1153              Performance
1154      </a>
1155    </div>
1156    <ul>
1157
1158      <li>
1159        <a href="<?cs var:toroot ?>training/articles/memory.html"
1160           description=
1161           "How to keep your app's memory footprint small in order to improve performance
1162           on a variety of mobile devices."
1163          >Managing Your App's Memory</a>
1164      </li>
1165
1166      <li>
1167        <a href="<?cs var:toroot ?>training/articles/perf-tips.html"
1168           description=
1169           "How to optimize your app's performance in various ways to improve its
1170           responsiveness and battery efficiency."
1171          >Performance Tips</a>
1172      </li>
1173
1174      <li class="nav-section">
1175        <div class="nav-section-header">
1176          <a href="<?cs var:toroot ?>training/improving-layouts/index.html"
1177             description=
1178             "How to identify problems in your app's layout performance and improve the UI
1179             responsiveness."
1180            >Improving Layout Performance</a>
1181        </div>
1182        <ul>
1183          <li><a href="<?cs var:toroot ?>training/improving-layouts/optimizing-layout.html">
1184            Optimizing Layout Hierarchies
1185          </a>
1186          </li>
1187          <li><a href="<?cs var:toroot ?>training/improving-layouts/reusing-layouts.html">
1188            Re-using Layouts with &lt;include/&gt;
1189          </a>
1190          </li>
1191          <li><a href="<?cs var:toroot ?>training/improving-layouts/loading-ondemand.html">
1192            Loading Views On Demand
1193          </a>
1194          </li>
1195          <li><a href="<?cs var:toroot ?>training/improving-layouts/smooth-scrolling.html">
1196            Making ListView Scrolling Smooth
1197          </a>
1198          </li>
1199        </ul>
1200      </li>
1201
1202      <li class="nav-section">
1203        <div class="nav-section-header">
1204          <a href="/training/monitoring-device-state/index.html"
1205             zh-cn-lang="优化电池使用时间"
1206             ja-lang="電池消費量の最適化"
1207             es-lang="Cómo optimizar la duración de la batería"
1208             description=
1209             "How to minimize the amount of power your app requires by adapting to current
1210             power conditions and performing power-hungry tasks at proper intervals."
1211            >Optimizing Battery Life</a>
1212        </div>
1213        <ul>
1214          <li><a href="/training/monitoring-device-state/battery-monitoring.html"
1215            zh-cn-lang="监控电池电量和充电状态"
1216            ja-lang="電池残量と充電状態の監視"
1217            es-lang="Cómo controlar el nivel de batería y el estado de carga"
1218            >Monitoring the Battery Level and Charging State</a>
1219          </li>
1220          <li><a href="/training/monitoring-device-state/docking-monitoring.html"
1221            zh-cn-lang="确定和监控基座对接状态和类型"
1222            ja-lang="ホルダーの装着状態とタイプの特定と監視"
1223            es-lang="Cómo determinar y controlar el tipo de conector y el estado de la conexión"
1224            >Determining and Monitoring the Docking State and Type</a>
1225          </li>
1226          <li><a href="/training/monitoring-device-state/connectivity-monitoring.html"
1227            zh-cn-lang="确定和监控网络连接状态"
1228            ja-lang="接続状態の特定と監視"
1229            es-lang="Cómo determinar y controlar el estado de la conectividad"
1230            >Determining and Monitoring the Connectivity Status</a>
1231          </li>
1232          <li><a href="/training/monitoring-device-state/manifest-receivers.html"
1233            zh-cn-lang="根据需要操作广播接收器"
1234            ja-lang="オンデマンドでのブロードキャスト レシーバ操作"
1235            es-lang="Cómo manipular los receptores de emisión bajo demanda"
1236            >Manipulating Broadcast Receivers On Demand</a>
1237          </li>
1238        </ul>
1239      </li>
1240      <li class="nav-section">
1241        <div class="nav-section-header">
1242          <a href="<?cs var:toroot ?>training/multiple-threads/index.html"
1243             description=
1244             "How to improve the performance and scalability of long-running operations by
1245              dispatching work to multiple threads.">
1246             Sending Operations to Multiple Threads</a>
1247        </div>
1248        <ul>
1249          <li><a href="<?cs var:toroot ?>training/multiple-threads/define-runnable.html">
1250            Specifying the Code to Run on a Thread
1251          </a>
1252          </li>
1253          <li><a href="<?cs var:toroot ?>training/multiple-threads/create-threadpool.html">
1254            Creating a Manager for Multiple Threads
1255          </a>
1256          </li>
1257          <li><a href="<?cs var:toroot ?>training/multiple-threads/run-code.html">
1258            Running Code on a Thread Pool Thread
1259          </a>
1260          </li>
1261          <li><a href="<?cs var:toroot ?>training/multiple-threads/communicate-ui.html">
1262            Communicating with the UI Thread
1263          </a>
1264          </li>
1265        </ul>
1266      </li>
1267
1268      <li>
1269        <a href="<?cs var:toroot ?>training/articles/perf-anr.html"
1270           description=
1271           "How to keep your app responsive to user interaction so the UI does not lock-up and
1272           display an &quot;Application Not Responding&quot; dialog."
1273          >Keeping Your App Responsive</a>
1274      </li>
1275
1276      <li>
1277        <a href="<?cs var:toroot ?>training/articles/perf-jni.html"
1278           description=
1279           "How to efficiently use the Java Native Interface with the Android NDK."
1280          >JNI Tips</a>
1281      </li>
1282      <li>
1283        <a href="<?cs var:toroot ?>training/articles/smp.html"
1284           description=
1285           "Tips for coding Android apps on symmetric multiprocessor systems."
1286          >SMP Primer for Android</a>
1287      </li>
1288    </ul>
1289  </li> <!-- end of Performance -->
1290
1291
1292
1293  <li class="nav-section">
1294    <div class="nav-section-header">
1295      <a href="<?cs var:toroot ?>training/best-security.html">
1296      <span class="small">Best Practices for</span><br/>
1297              Security &amp; Privacy
1298      </a>
1299    </div>
1300    <ul>
1301      <li>
1302        <a href="<?cs var:toroot ?>training/articles/security-tips.html"
1303           description=
1304           "How to perform various tasks and keep your app's data and your user's data secure."
1305          >Security Tips</a>
1306      </li>
1307
1308      <li>
1309        <a href="<?cs var:toroot ?>training/articles/security-ssl.html"
1310           description=
1311           "How to ensure that your app is secure when performing network transactions."
1312          >Security with HTTPS and SSL</a>
1313      </li>
1314
1315      <li class="nav-section">
1316        <div class="nav-section-header">
1317          <a href="<?cs var:toroot ?>training/enterprise/index.html"
1318             description=
1319             "How to implement device management policies for enterprise-oriented apps."
1320            >Developing for Enterprise</a>
1321        </div>
1322        <ul>
1323          <li><a href="<?cs var:toroot ?>training/enterprise/device-management-policy.html">
1324            Enhancing Security with Device Management Policies
1325          </a>
1326          </li>
1327        </ul>
1328      </li>
1329    </ul>
1330  </li>
1331  <!-- End security and user info -->
1332
1333  <li class="nav-section">
1334    <div class="nav-section-header">
1335      <a href="<?cs var:toroot ?>training/testing.html">
1336      <span class="small">Best Practices for</span><br/>
1337              Testing
1338      </a>
1339    </div>
1340    <ul>
1341      <li class="nav-section">
1342      <div class="nav-section-header"><a href="<?cs var:toroot ?>training/activity-testing/index.html"
1343         description="How to test Activities in your Android applications.">
1344            Testing Your Activity
1345          </a></div>
1346        <ul>
1347          <li><a href="<?cs var:toroot ?>training/activity-testing/preparing-activity-testing.html">
1348            <span class="en">Setting Up Your Test Environment</span>
1349          </a>
1350          </li>
1351          <li><a href="<?cs var:toroot ?>training/activity-testing/activity-basic-testing.html">
1352            <span class="en">Creating and Running a Test Case</span>
1353          </a>
1354          </li>
1355          <li><a href="<?cs var:toroot ?>training/activity-testing/activity-ui-testing.html">
1356            <span class="en">Testing UI Components</span>
1357          </a>
1358          </li>
1359          <li><a href="<?cs var:toroot ?>training/activity-testing/activity-unit-testing.html">
1360            <span class="en">Creating Unit Tests</span>
1361          </a>
1362          </li>
1363          <li><a href="<?cs var:toroot ?>training/activity-testing/activity-functional-testing.html">
1364            <span class="en">Creating Functional Tests</span>
1365          </a>
1366          </li>
1367        </ul>
1368      </li>
1369    </ul>
1370  </li>
1371  <!-- End best Testing -->
1372
1373  <li class="nav-section">
1374    <div class="nav-section-header">
1375      <a href="<?cs var:toroot ?>training/distribute.html">
1376      <span class="small">Using Google Play to</span><br/>
1377              Distribute &amp; Monetize
1378      </a>
1379    </div>
1380    <ul>
1381      <li class="nav-section">
1382      <div class="nav-section-header"><a href="<?cs var:toroot ?>training/in-app-billing/index.html"
1383         description="How to sell in-app products from your application using In-app Billing.">
1384            Selling In-app Products
1385          </a></div>
1386        <ul>
1387          <li><a href="<?cs var:toroot ?>training/in-app-billing/preparing-iab-app.html">
1388            <span class="en">Preparing Your App</span>
1389          </a>
1390          </li>
1391          <li><a href="<?cs var:toroot ?>training/in-app-billing/list-iab-products.html">
1392            <span class="en">Establishing Products for Sale</span>
1393          </a>
1394          </li>
1395          <li><a href="<?cs var:toroot ?>training/in-app-billing/purchase-iab-products.html">
1396            <span class="en">Purchasing Products</span>
1397          </a>
1398          </li>
1399          <li><a href="<?cs var:toroot ?>training/in-app-billing/test-iab-app.html">
1400            <span class="en">Testing Your App</span>
1401          </a>
1402          </li>
1403        </ul>
1404      </li>
1405
1406      <li class="nav-section">
1407        <div class="nav-section-header">
1408          <a href="<?cs var:toroot ?>training/multiple-apks/index.html"
1409             description=
1410             "How to publish your app on Google Play with separate APKs that target
1411             different devices, while using a single app listing."
1412            >Maintaining Multiple APKs</a>
1413        </div>
1414        <ul>
1415          <li><a href="<?cs var:toroot ?>training/multiple-apks/api.html">
1416            Creating Multiple APKs for Different API Levels
1417          </a>
1418          </li>
1419          <li><a href="<?cs var:toroot ?>training/multiple-apks/screensize.html">
1420            Creating Multiple APKs for Different Screen Sizes
1421          </a>
1422          </li>
1423          <li><a href="<?cs var:toroot ?>training/multiple-apks/texture.html">
1424            Creating Multiple APKs for Different GL Textures
1425          </a>
1426          </li>
1427          <li><a href="<?cs var:toroot ?>training/multiple-apks/multiple.html">
1428            Creating Multiple APKs with 2+ Dimensions
1429          </a>
1430          </li>
1431        </ul>
1432      </li>
1433      <li class="nav-section">
1434        <div class="nav-section-header">
1435          <a href="<?cs var:toroot ?>training/monetization/index.html"
1436             description=
1437             "How to implement monetization strategies for your app without compromising
1438             the user experience."
1439            >Monetizing Your App</a>
1440        </div>
1441        <ul>
1442          <li><a href="<?cs var:toroot ?>training/monetization/ads-and-ux.html">
1443            Advertising without Compromising User Experience
1444          </a>
1445          </li>
1446        </ul>
1447      </li>
1448    </ul>
1449  </li>
1450  <!-- End best Publishing -->
1451
1452</ul><!-- nav -->
1453<script type="text/javascript">
1454<!--
1455    buildToggleLists();
1456    changeNavLang(getLangPref());
1457//-->
1458</script>
1459