summaryrefslogtreecommitdiffstats
path: root/docs/html/training/training_toc.cs
diff options
context:
space:
mode:
Diffstat (limited to 'docs/html/training/training_toc.cs')
-rw-r--r--docs/html/training/training_toc.cs960
1 files changed, 591 insertions, 369 deletions
diff --git a/docs/html/training/training_toc.cs b/docs/html/training/training_toc.cs
index 1c85ae8..ece5582 100644
--- a/docs/html/training/training_toc.cs
+++ b/docs/html/training/training_toc.cs
@@ -4,741 +4,963 @@
<li class="nav-section">
<div class="nav-section-header">
<a href="<?cs var:toroot ?>training/index.html">
- <span class="en">Get Started</span>
+ Getting Started
</a>
</div>
<ul>
<li class="nav-section">
<div class="nav-section-header">
- <a href="<?cs var:toroot ?>training/basics/firstapp/index.html">
- <span class="en">Building Your First App</span>
- </a>
+ <a href="<?cs var:toroot ?>training/basics/firstapp/index.html"
+ description=
+ "After you've installed the Android SDK, start with this class
+ to learn the basics about Android app development."
+ >Building Your First App</a>
</div>
<ul>
<li><a href="<?cs var:toroot ?>training/basics/firstapp/creating-project.html">
- <span class="en">Creating an Android Project</span>
+ Creating an Android Project
</a>
</li>
<li><a href="<?cs var:toroot ?>training/basics/firstapp/running-app.html">
- <span class="en">Running Your Application</span>
+ Running Your Application
</a>
</li>
<li><a href="<?cs var:toroot ?>training/basics/firstapp/building-ui.html">
- <span class="en">Building a Simple User Interface</span>
+ Building a Simple User Interface
</a>
</li>
<li><a href="<?cs var:toroot ?>training/basics/firstapp/starting-activity.html">
- <span class="en">Starting Another Activity</span>
+ Starting Another Activity
</a>
</li>
</ul>
</li>
<li class="nav-section">
- <div class="nav-section-header"><a href="<?cs var:toroot ?>training/basics/activity-lifecycle/index.html">
- <span class="en">Managing the Activity Lifecycle</span>
- </a></div>
+ <div class="nav-section-header">
+ <a href="<?cs var:toroot ?>training/basics/activity-lifecycle/index.html"
+ description=
+ "How Android activities live and die and how to create
+ a seamless user experience by implementing lifecycle callback methods."
+ >Managing the Activity Lifecycle</a>
+ </div>
<ul>
<li><a href="<?cs var:toroot ?>training/basics/activity-lifecycle/starting.html">
- <span class="en">Starting an Activity</span>
+ Starting an Activity
</a>
</li>
<li><a href="<?cs var:toroot ?>training/basics/activity-lifecycle/pausing.html">
- <span class="en">Pausing and Resuming an Activity</span>
+ Pausing and Resuming an Activity
</a>
</li>
<li><a href="<?cs var:toroot ?>training/basics/activity-lifecycle/stopping.html">
- <span class="en">Stopping and Restarting an Activity</span>
+ Stopping and Restarting an Activity
</a>
</li>
<li><a href="<?cs var:toroot ?>training/basics/activity-lifecycle/recreating.html">
- <span class="en">Recreating an Activity</span>
+ Recreating an Activity
</a>
</li>
</ul>
</li>
<li class="nav-section">
- <div class="nav-section-header"><a href="<?cs var:toroot ?>training/basics/supporting-devices/index.html">
- <span class="en">Supporting Different Devices</span>
- </a></div>
+ <div class="nav-section-header">
+ <a href="<?cs var:toroot ?>training/basics/supporting-devices/index.html"
+ description=
+ "How to build your app with alternative resources that provide an
+ optimized user experience on multiple device form factors using a single APK."
+ >Supporting Different Devices</a>
+ </div>
<ul>
<li><a href="<?cs var:toroot ?>training/basics/supporting-devices/languages.html">
- <span class="en">Supporting Different Languages</span>
+ Supporting Different Languages
</a>
</li>
<li><a href="<?cs var:toroot ?>training/basics/supporting-devices/screens.html">
- <span class="en">Supporting Different Screens</span>
+ Supporting Different Screens
</a>
</li>
<li><a href="<?cs var:toroot ?>training/basics/supporting-devices/platforms.html">
- <span class="en">Supporting Different Platform Versions</span>
+ Supporting Different Platform Versions
</a>
</li>
</ul>
</li>
<li class="nav-section">
- <div class="nav-section-header"><a href="<?cs var:toroot ?>training/basics/fragments/index.html">
- <span class="en">Building a Dynamic UI with Fragments</span>
- </a></div>
+ <div class="nav-section-header">
+ <a href="<?cs var:toroot ?>training/basics/fragments/index.html"
+ description=
+ "How to build a user interface for your app that is flexible enough
+ to present multiple UI components on large screens and a more constrained set of
+ UI components on smaller screens&mdash;essential for building a single APK for both
+ phones and tablets."
+ >Building a Dynamic UI with Fragments</a>
+ </div>
<ul>
<li><a href="<?cs var:toroot ?>training/basics/fragments/support-lib.html">
- <span class="en">Using the Support Library</span>
+ Using the Support Library
</a>
</li>
<li><a href="<?cs var:toroot ?>training/basics/fragments/creating.html">
- <span class="en">Creating a Fragment</span>
+ Creating a Fragment
</a>
</li>
<li><a href="<?cs var:toroot ?>training/basics/fragments/fragment-ui.html">
- <span class="en">Building a Flexible UI</span>
+ Building a Flexible UI
</a>
</li>
<li><a href="<?cs var:toroot ?>training/basics/fragments/communicating.html">
- <span class="en">Communicating with Other Fragments</span>
+ Communicating with Other Fragments
</a>
</li>
</ul>
</li>
<li class="nav-section">
- <div class="nav-section-header"><a href="<?cs var:toroot?>training/basics/data-storage/index.html">
- <span class="en">Saving Data</span>
- </a></div>
+ <div class="nav-section-header"><a href="<?cs var:toroot?>training/basics/data-storage/index.html"
+ description=
+ "How to save data on the device, whether it's temporary files, downloaded
+ app assets, user media, structured data, or something else."
+ >Saving Data</a>
+ </div>
<ul>
<li><a href="<?cs var:toroot ?>training/basics/data-storage/shared-preferences.html">
- <span class="en">Saving Key-Value Sets</span>
+ Saving Key-Value Sets
</a>
</li>
<li><a href="<?cs var:toroot ?>training/basics/data-storage/files.html">
- <span class="en">Saving Files</span>
+ Saving Files
</a>
</li>
<li><a href="<?cs var:toroot ?>training/basics/data-storage/databases.html">
- <span class="en">Saving Data in SQL Databases</span>
+ Saving Data in SQL Databases
</a>
</li>
</ul>
</li>
<li class="nav-section">
- <div class="nav-section-header"><a href="<?cs var:toroot ?>training/basics/intents/index.html">
- <span class="en">Interacting with Other Apps</span>
- </a></div>
+ <div class="nav-section-header">
+ <a href="<?cs var:toroot ?>training/basics/intents/index.html"
+ description=
+ "How to build a user experience that leverages other apps available
+ on the device to perform advanced user tasks, such as capture a photo or view
+ an address on a map."
+ >Interacting with Other Apps</a>
+ </div>
<ul>
<li><a href="<?cs var:toroot ?>training/basics/intents/sending.html">
- <span class="en">Sending the User to Another App</span>
+ Sending the User to Another App
</a>
</li>
<li><a href="<?cs var:toroot ?>training/basics/intents/result.html">
- <span class="en">Getting a Result from the Activity</span>
+ Getting a Result from the Activity
</a>
</li>
<li><a href="<?cs var:toroot ?>training/basics/intents/filters.html">
- <span class="en">Allowing Other Apps to Start Your Activity</span>
+ Allowing Other Apps to Start Your Activity
</a>
</li>
</ul>
</li>
-
- </ul>
- </li><!-- end basic training -->
- <li class="nav-section">
- <div class="nav-section-header">
- <a href="<?cs var:toroot ?>training/advanced.html">
- <span class="en">Advanced Training</span>
- </a>
- </div>
- <ul>
-
<li class="nav-section">
- <div class="nav-section-header"><a href="<?cs var:toroot ?>training/basics/location/index.html">
- <span class="en">Making Your App Location Aware</span>
- </a></div>
+ <div class="nav-section-header">
+ <a href="<?cs var:toroot ?>training/sharing/index.html"
+ description=
+ "How to take your app interaction to the next level by sharing
+ information with other apps, receive information back, and provide a simple and
+ scalable way to perform Share actions with user content."
+ >Sharing Content</a>
+ </div>
<ul>
- <li><a href="<?cs var:toroot ?>training/basics/location/locationmanager.html">
- <span class="en">Using the Location Manager</span>
+ <li><a href="<?cs var:toroot ?>training/sharing/send.html">
+ Sending Content to Other Apps
</a>
</li>
- <li><a href="<?cs var:toroot ?>training/basics/location/currentlocation.html">
- <span class="en">Obtaining the Current Location</span>
+ <li><a href="<?cs var:toroot ?>training/sharing/receive.html">
+ Receiving Content from Other Apps
</a>
</li>
- <li><a href="<?cs var:toroot ?>training/basics/location/geocoding.html">
- <span class="en">Displaying a Location Address</span>
+ <li><a href="<?cs var:toroot ?>training/sharing/shareaction.html">
+ Adding an Easy Share Action
</a>
</li>
</ul>
</li>
+ </ul>
+ </li><!-- end getting started -->
+
- <li class="nav-section">
- <div class="nav-section-header"><a href="<?cs var:toroot ?>training/basics/network-ops/index.html">
- <span class="en">Performing Network Operations</span>
- </a></div>
+ <li class="nav-section">
+ <div class="nav-section-header">
+ <a href="<?cs var:toroot ?>training/building-multimedia.html">
+ <span class="small">Building Apps with</span><br/>Multimedia
+ </a>
+ </div>
+ <ul>
+
+ <li class="nav-section">
+ <div class="nav-section-header">
+ <a href="<?cs var:toroot ?>training/managing-audio/index.html"
+ description=
+ "How to respond to hardware audio key presses, request audio focus
+ when playing audio, and respond appropriately to changes in audio focus."
+ >Managing Audio Playback</a>
+ </div>
<ul>
- <li><a href="<?cs var:toroot ?>training/basics/network-ops/connecting.html">
- <span class="en">Connecting to the Network</span>
+ <li><a href="<?cs var:toroot ?>training/managing-audio/volume-playback.html">
+ Controlling Your App's Volume and Playback
</a>
</li>
- <li><a href="<?cs var:toroot ?>training/basics/network-ops/managing.html">
- <span class="en">Managing Network Usage</span>
+ <li><a href="<?cs var:toroot ?>training/managing-audio/audio-focus.html">
+ Managing Audio Focus
</a>
</li>
- <li><a href="<?cs var:toroot ?>training/basics/network-ops/xml.html">
- <span class="en">Parsing XML Data</span>
+ <li><a href="<?cs var:toroot ?>training/managing-audio/audio-output.html">
+ Dealing with Audio Output Hardware
</a>
</li>
</ul>
</li>
<li class="nav-section">
- <div class="nav-section-header"><a href="<?cs var:toroot ?>training/efficient-downloads/index.html">
- <span class="en">Transferring Data Without Draining the Battery</span>
- </a></div>
+ <div class="nav-section-header">
+ <a href="<?cs var:toroot ?>training/camera/index.html"
+ description=
+ "How to leverage existing camera apps on the user's device to capture
+ photos or control the camera hardware directly and build your own camera app."
+ >Capturing Photos</a>
+ </div>
<ul>
- <li><a href="<?cs var:toroot ?>training/efficient-downloads/efficient-network-access.html">
- <span class="en">Optimizing Downloads for Efficient Network Access</span>
- </a>
- </li>
- <li><a href="<?cs var:toroot ?>training/efficient-downloads/regular_updates.html">
- <span class="en">Minimizing the Effect of Regular Updates</span>
+ <li><a href="<?cs var:toroot ?>training/camera/photobasics.html">
+ Taking Photos Simply
</a>
</li>
- <li><a href="<?cs var:toroot ?>training/efficient-downloads/redundant_redundant.html">
- <span class="en">Redundant Downloads are Redundant</span>
+ <li><a href="<?cs var:toroot ?>training/camera/videobasics.html">
+ Recording Videos Simply
</a>
</li>
- <li><a href="<?cs var:toroot ?>training/efficient-downloads/connectivity_patterns.html">
- <span class="en">Modifying Patterns Based on the Connectivity Type</span>
+ <li><a href="<?cs var:toroot ?>training/camera/cameradirect.html">
+ Controlling the Camera
</a>
</li>
</ul>
</li>
+ </ul>
+ </li>
+ <!-- End multimedia -->
+
+
+ <li class="nav-section">
+ <div class="nav-section-header">
+ <a href="<?cs var:toroot ?>training/building-graphics.html">
+ <span class="small">Building Apps with</span><br/>Graphics &amp; Animation
+ </a>
+ </div>
+ <ul>
+
<li class="nav-section">
- <div class="nav-section-header"><a href="<?cs var:toroot ?>training/cloudsync/index.html">
- <span class="en">Syncing to the Cloud</span>
- </a></div>
+ <div class="nav-section-header">
+ <a href="<?cs var:toroot ?>training/displaying-bitmaps/index.html"
+ description=
+ "How to load and process bitmaps while keeping your user interface
+ responsive and avoid exceeding memory limits."
+ >Displaying Bitmaps Efficiently</a>
+ </div>
<ul>
- <li><a href="<?cs var:toroot ?>training/cloudsync/backupapi.html">
- <span class="en">Using the Backup API</span>
+ <li><a href="<?cs var:toroot ?>training/displaying-bitmaps/load-bitmap.html">
+ Loading Large Bitmaps Efficiently
</a>
</li>
- <li><a href="<?cs var:toroot ?>training/cloudsync/gcm.html">
- <span class="en">Making the Most of Google Cloud Messaging</span>
+ <li><a href="<?cs var:toroot ?>training/displaying-bitmaps/process-bitmap.html">
+ Processing Bitmaps Off the UI Thread
+ </a>
+ </li>
+ <li><a href="<?cs var:toroot ?>training/displaying-bitmaps/cache-bitmap.html">
+ Caching Bitmaps
</a>
</li>
+ <li><a href="<?cs var:toroot ?>training/displaying-bitmaps/display-bitmap.html">
+ Displaying Bitmaps in Your UI
+ </a></li>
</ul>
</li>
<li class="nav-section">
- <div class="nav-section-header"><a href="<?cs var:toroot ?>training/multiscreen/index.html"
- zh-CN-lang="针对多种屏幕进行设计"
- ja-lang="複数画面のデザイン"
- es-lang="Cómo diseñar aplicaciones para varias pantallas"
- >Designing for Multiple Screens</a>
+ <div class="nav-section-header">
+ <a href="<?cs var:toroot?>training/graphics/opengl/index.html"
+ description=
+ "How to create OpenGL graphics within the Android app framework
+ and respond to touch input."
+ >Displaying Graphics with OpenGL ES</a>
</div>
<ul>
- <li><a href="<?cs var:toroot ?>training/multiscreen/screensizes.html"
- zh-CN-lang="支持各种屏幕尺寸"
- ko-lang="다양한 화면 크기 지원"
- ja-lang="さまざまな画面サイズのサポート"
- es-lang="Cómo admitir varios tamaños de pantalla"
- >Designing for Multiple Screens</a>
- </li>
- <li><a href="<?cs var:toroot ?>training/multiscreen/screendensities.html"
- zh-CN-lang="支持各种屏幕密度"
- ja-lang="さまざまな画面密度のサポート"
- es-lang="Cómo admitir varias densidades de pantalla"
- >Supporting Different Screen Densities</a>
+ <li><a href="<?cs var:toroot ?>training/graphics/opengl/environment.html">
+ Building an OpenGL ES Environment
+ </a>
</li>
- <li><a href="<?cs var:toroot ?>training/multiscreen/adaptui.html"
- zh-CN-lang="实施自适应用户界面流程"
- ja-lang="順応性のある UI フローの実装"
- es-lang="Cómo implementar interfaces de usuario adaptables"
- >Implementing Adaptive UI Flows</a>
+ <li><a href="<?cs var:toroot ?>training/graphics/opengl/shapes.html">
+ Defining Shapes
+ </a>
</li>
- </ul>
- </li>
-
- <li class="nav-section">
- <div class="nav-section-header"><a href="<?cs var:toroot ?>training/improving-layouts/index.html">
- <span class="en">Improving Layout Performance</span>
- </a></div>
- <ul>
- <li><a href="<?cs var:toroot ?>training/improving-layouts/optimizing-layout.html">
- <span class="en">Optimizing Layout Hierarchies</span>
+ <li><a href="<?cs var:toroot ?>training/graphics/opengl/draw.html">
+ Drawing Shapes
</a>
</li>
- <li><a href="<?cs var:toroot ?>training/improving-layouts/reusing-layouts.html">
- <span class="en">Re-using Layouts with &lt;include/&gt;</span>
+ <li><a href="<?cs var:toroot ?>training/graphics/opengl/projection.html">
+ Applying Projection and Camera Views
</a>
</li>
- <li><a href="<?cs var:toroot ?>training/improving-layouts/loading-ondemand.html">
- <span class="en">Loading Views On Demand</span>
+ <li><a href="<?cs var:toroot ?>training/graphics/opengl/motion.html">
+ Adding Motion
</a>
</li>
- <li><a href="<?cs var:toroot ?>training/improving-layouts/smooth-scrolling.html">
- <span class="en">Making ListView Scrolling Smooth</span>
+ <li><a href="<?cs var:toroot ?>training/graphics/opengl/touch.html">
+ Responding to Touch Events
</a>
</li>
</ul>
</li>
-
- <li class="nav-section">
- <div class="nav-section-header"><a href="<?cs var:toroot ?>training/animation/index.html">
- <span class="en">Adding Animations</span>
+ <li class="nav-section">
+ <div class="nav-section-header"><a href="<?cs var:toroot ?>training/animation/index.html"
+ description=
+ "How to add transitional animations to your user interface.">
+ Adding Animations
</a></div>
<ul>
<li><a href="<?cs var:toroot ?>training/animation/crossfade.html">
- <span class="en">Crossfading Two Views</span>
+ Crossfading Two Views
</a>
</li>
<li><a href="<?cs var:toroot ?>training/animation/screen-slide.html">
- <span class="en">Using ViewPager for Screen Slide</span>
+ Using ViewPager for Screen Slide
</a>
</li>
<li><a href="<?cs var:toroot ?>training/animation/cardflip.html">
- <span class="en">Displaying Card Flip Animations</span>
+ Displaying Card Flip Animations
</a>
</li>
<li><a href="<?cs var:toroot ?>training/animation/zoom.html">
- <span class="en">Zooming a View</span>
+ Zooming a View
</a>
</li>
<li><a href="<?cs var:toroot ?>training/animation/layout.html">
- <span class="en">Animating Layout Changes</span>
+ Animating Layout Changes
</a>
</li>
</ul>
</li>
+ </ul>
+ </li>
+ <!-- End graphics and animation -->
+
+ <li class="nav-section">
+ <div class="nav-section-header">
+ <a href="<?cs var:toroot ?>training/building-connectivity.html">
+ <span class="small">Building Apps with</span><br/>
+ Connectivity &amp; the Cloud
+ </a>
+ </div>
+ <ul>
+
+
<li class="nav-section">
- <div class="nav-section-header"><a href="<?cs var:toroot ?>training/managing-audio/index.html">
- <span class="en">Managing Audio Playback</span>
- </a></div>
+ <div class="nav-section-header">
+ <a href="<?cs var:toroot ?>training/connect-devices-wirelessly/index.html"
+ description=
+ "How to find and connect to local devices using Network Service
+ Discovery and Wi-Fi Direct in order to create peer-to-peer connections."
+ >Connecting Devices Wirelessly</a>
+ </div>
<ul>
- <li><a href="<?cs var:toroot ?>training/managing-audio/volume-playback.html">
- <span class="en">Controlling Your App?s Volume and Playback</span>
+ <li><a href="<?cs var:toroot ?>training/connect-devices-wirelessly/nsd.html">
+ Using Network Service Discovery
</a>
</li>
- <li><a href="<?cs var:toroot ?>training/managing-audio/audio-focus.html">
- <span class="en">Managing Audio Focus</span>
+ <li><a href="<?cs var:toroot ?>training/connect-devices-wirelessly/wifi-direct.html">
+ Connecting with Wi-Fi Direct
</a>
</li>
- <li><a href="<?cs var:toroot ?>training/managing-audio/audio-output.html">
- <span class="en">Dealing with Audio Output Hardware</span>
+ <li><a href="<?cs var:toroot ?>training/connect-devices-wirelessly/nsd-wifi-direct.html">
+ Using Wi-Fi Direct for Service Discovery
</a>
</li>
</ul>
</li>
-
- <li class="nav-section">
- <div class="nav-section-header"><a href="<?cs var:toroot ?>training/monitoring-device-state/index.html"
- zh-CN-lang="优化电池使用时间"
- ja-lang="電池消費量の最適化"
- es-lang="Cómo optimizar la duración de la batería"
- >Optimizing Battery Life</a>
+
+ <li class="nav-section">
+ <div class="nav-section-header">
+ <a href="<?cs var:toroot ?>training/basics/network-ops/index.html"
+ description=
+ "How to create a network connection, monitor the connection for changes
+ in connectivity, and perform transactions with XML data."
+ >Performing Network Operations</a>
</div>
<ul>
- <li><a href="<?cs var:toroot ?>training/monitoring-device-state/battery-monitoring.html"
- zh-CN-lang="监控电池电量和充电状态"
- ja-lang="電池残量と充電状態の監視"
- es-lang="Cómo controlar el nivel de batería y el estado de carga"
- >Monitoring the Battery Level and Charging State</a>
- </li>
- <li><a href="<?cs var:toroot ?>training/monitoring-device-state/docking-monitoring.html"
- zh-CN-lang="确定和监控基座对接状态和类型"
- ja-lang="ホルダーの装着状態とタイプの特定と監視"
- es-lang="Cómo determinar y controlar el tipo de conector y el estado de la conexión"
- >Determining and Monitoring the Docking State and Type</a>
+ <li><a href="<?cs var:toroot ?>training/basics/network-ops/connecting.html">
+ Connecting to the Network
+ </a>
</li>
- <li><a href="<?cs var:toroot ?>training/monitoring-device-state/connectivity-monitoring.html"
- zh-CN-lang="确定和监控网络连接状态"
- ja-lang="接続状態の特定と監視"
- es-lang="Cómo determinar y controlar el estado de la conectividad"
- >Determining and Monitoring the Connectivity Status</a>
+ <li><a href="<?cs var:toroot ?>training/basics/network-ops/managing.html">
+ Managing Network Usage
+ </a>
</li>
- <li><a href="<?cs var:toroot ?>training/monitoring-device-state/manifest-receivers.html"
- zh-CN-lang="根据需要操作广播接收器"
- ja-lang="オンデマンドでのブロードキャスト レシーバ操作"
- es-lang="Cómo manipular los receptores de emisión bajo demanda"
- >Manipulating Broadcast Receivers On Demand</a>
+ <li><a href="<?cs var:toroot ?>training/basics/network-ops/xml.html">
+ Parsing XML Data
+ </a>
</li>
</ul>
</li>
<li class="nav-section">
- <div class="nav-section-header"><a href="<?cs var:toroot ?>training/custom-views/index.html">
- <span class="en">Creating Custom Views</span>
- </a></div>
+ <div class="nav-section-header">
+ <a href="<?cs var:toroot ?>training/efficient-downloads/index.html"
+ description=
+ "How to minimize your app's impact on the battery when performing downloads
+ and other network transactions."
+ >Transferring Data Without Draining the Battery</a>
+ </div>
<ul>
- <li><a href="<?cs var:toroot ?>training/custom-views/create-view.html">
- <span class="en">Creating a Custom View Class</span>
+ <li><a href="<?cs var:toroot ?>training/efficient-downloads/efficient-network-access.html">
+ Optimizing Downloads for Efficient Network Access
</a>
</li>
- <li><a href="<?cs var:toroot ?>training/custom-views/custom-drawing.html">
- <span class="en">Implementing Custom Drawing</span>
+ <li><a href="<?cs var:toroot ?>training/efficient-downloads/regular_updates.html">
+ Minimizing the Effect of Regular Updates
</a>
</li>
- <li><a href="<?cs var:toroot ?>training/custom-views/making-interactive.html">
- <span class="en">Making the View Interactive</span>
+ <li><a href="<?cs var:toroot ?>training/efficient-downloads/redundant_redundant.html">
+ Redundant Downloads are Redundant
</a>
</li>
- <li><a href="<?cs var:toroot ?>training/custom-views/optimizing-view.html">
- <span class="en">Optimizing the View</span>
+ <li><a href="<?cs var:toroot ?>training/efficient-downloads/connectivity_patterns.html">
+ Modifying Patterns Based on the Connectivity Type
</a>
</li>
</ul>
</li>
<li class="nav-section">
- <div class="nav-section-header"><a href="<?cs var:toroot ?>training/search/index.html">
- <span class="en">Adding Search Functionality</span>
- </a>
+ <div class="nav-section-header">
+ <a href="<?cs var:toroot ?>training/cloudsync/index.html"
+ description=
+ "How to sync and back up app and user data to remote web services in the
+ cloud and how to restore the data back to multiple devices."
+ >Syncing to the Cloud</a>
</div>
<ul>
- <li><a href="<?cs var:toroot ?>training/search/setup.html">
- <span class="en">Setting up the Search Interface</span>
- </a>
- </li>
- <li><a href="<?cs var:toroot ?>training/search/search.html">
- <span class="en">Storing and Searching for Data</span>
+ <li><a href="<?cs var:toroot ?>training/cloudsync/backupapi.html">
+ Using the Backup API
</a>
</li>
- <li><a href="<?cs var:toroot ?>training/search/backward-compat.html">
- <span class="en">Remaining Backward Compatible</span>
+ <li><a href="<?cs var:toroot ?>training/cloudsync/gcm.html">
+ Making the Most of Google Cloud Messaging
</a>
</li>
</ul>
</li>
+ </ul>
+ </li>
+ <!-- End connectivity and cloud -->
+
+
+ <li class="nav-section">
+ <div class="nav-section-header">
+ <a href="<?cs var:toroot ?>training/building-userinfo.html">
+ <span class="small">Building Apps with</span><br/>
+ User Info &amp; Location
+ </a>
+ </div>
+ <ul>
+
<li class="nav-section">
- <div class="nav-section-header"><a href="<?cs var:toroot ?>training/id-auth/index.html">
- <span class="en">Remembering Users</span>
- </a></div>
+ <div class="nav-section-header">
+ <a href="<?cs var:toroot ?>training/id-auth/index.html"
+ description=
+ "How to remember the user by account, authenticate the user, acquire user permission
+ for the user's online data, and create custom accounts on the device."
+ >Remembering Users</a>
+ </div>
<ul>
<li><a href="<?cs var:toroot ?>training/id-auth/identify.html">
- <span class="en">Remembering Your User</span>
+ Remembering Your User
</a>
</li>
<li><a href="<?cs var:toroot ?>training/id-auth/authenticate.html">
- <span class="en">Authenticating to OAuth2 Services</span>
+ Authenticating to OAuth2 Services
</a>
</li>
<li><a href="<?cs var:toroot ?>training/id-auth/custom_auth.html">
- <span class="en">Creating a Custom Account Type</span>
+ Creating a Custom Account Type
</a>
</li>
</ul>
</li>
<li class="nav-section">
- <div class="nav-section-header"><a href="<?cs var:toroot ?>training/sharing/index.html">
- <span class="en">Sharing Content</span>
- </a></div>
+ <div class="nav-section-header">
+ <a href="<?cs var:toroot ?>training/basics/location/index.html"
+ description=
+ "How to add location-aware features to your app by aqcuiring the user's current
+ location."
+ >Making Your App Location Aware</a>
+ </div>
<ul>
- <li><a href="<?cs var:toroot ?>training/sharing/send.html">
- <span class="en">Sending Content to Other Apps</span>
+ <li><a href="<?cs var:toroot ?>training/basics/location/locationmanager.html">
+ Using the Location Manager
</a>
</li>
- <li><a href="<?cs var:toroot ?>training/sharing/receive.html">
- <span class="en">Receiving Content from Other Apps</span>
+ <li><a href="<?cs var:toroot ?>training/basics/location/currentlocation.html">
+ Obtaining the Current Location
</a>
</li>
- <li><a href="<?cs var:toroot ?>training/sharing/shareaction.html">
- <span class="en">Adding an Easy Share Action</span>
+ <li><a href="<?cs var:toroot ?>training/basics/location/geocoding.html">
+ Displaying a Location Address
</a>
</li>
</ul>
</li>
+ </ul>
+ </li>
+ <!-- End privacy and location -->
+
+
+
+ <li class="nav-section">
+ <div class="nav-section-header">
+ <a href="<?cs var:toroot ?>training/best-ux.html">
+ <span class="small">Best Practices for</span><br/>
+ User Experience &amp; UI
+ </a>
+ </div>
+ <ul>
<li class="nav-section">
- <div class="nav-section-header"><a href="<?cs var:toroot ?>training/camera/index.html">
- <span class="en">Capturing Photos</span>
- </a></div>
+ <div class="nav-section-header">
+ <a href="<?cs var:toroot ?>training/design-navigation/index.html"
+ description=
+ "How to plan your app's screen hierarchy and forms of navigation so users can
+ effectively and intuitively traverse your app content using various navigation
+ patterns."
+ >Designing Effective Navigation</a>
+ </div>
<ul>
- <li><a href="<?cs var:toroot ?>training/camera/photobasics.html">
- <span class="en">Taking Photos Simply</span>
+ <li><a href="<?cs var:toroot ?>training/design-navigation/screen-planning.html">
+ Planning Screens and Their Relationships
</a>
</li>
- <li><a href="<?cs var:toroot ?>training/camera/videobasics.html">
- <span class="en">Recording Videos Simply</span>
+ <li><a href="<?cs var:toroot ?>training/design-navigation/multiple-sizes.html">
+ Planning for Multiple Touchscreen Sizes
</a>
</li>
- <li><a href="<?cs var:toroot ?>training/camera/cameradirect.html">
- <span class="en">Controlling the Camera</span>
+ <li><a href="<?cs var:toroot ?>training/design-navigation/descendant-lateral.html">
+ Providing Descendant and Lateral Navigation
+ </a>
+ </li>
+ <li><a href="<?cs var:toroot ?>training/design-navigation/ancestral-temporal.html">
+ Providing Ancestral and Temporal Navigation
+ </a>
+ </li>
+ <li><a href="<?cs var:toroot ?>training/design-navigation/wireframing.html">
+ Putting it All Together: Wireframing the Example App
</a>
</li>
</ul>
</li>
<li class="nav-section">
- <div class="nav-section-header"><a href="<?cs var:toroot ?>training/multiple-apks/index.html">
- <span class="en">Maintaining Multiple APKs</span>
- </a></div>
+ <div class="nav-section-header">
+ <a href="<?cs var:toroot ?>training/implementing-navigation/index.html"
+ description=
+ "How to implement various navigation patterns such as swipe views and up navigation."
+ >Implementing Effective Navigation</a>
+ </div>
<ul>
- <li><a href="<?cs var:toroot ?>training/multiple-apks/api.html">
- <span class="en">Creating Multiple APKs for Different API Levels</span>
+ <li><a href="<?cs var:toroot ?>training/implementing-navigation/lateral.html">
+ Implementing Lateral Navigation
</a>
</li>
- <li><a href="<?cs var:toroot ?>training/multiple-apks/screensize.html">
- <span class="en">Creating Multiple APKs for Different Screen Sizes</span>
+ <li><a href="<?cs var:toroot ?>training/implementing-navigation/ancestral.html">
+ Implementing Ancestral Navigation
</a>
</li>
- <li><a href="<?cs var:toroot ?>training/multiple-apks/texture.html">
- <span class="en">Creating Multiple APKs for Different GL Textures</span>
+ <li><a href="<?cs var:toroot ?>training/implementing-navigation/temporal.html">
+ Implementing Temporal Navigation
</a>
</li>
- <li><a href="<?cs var:toroot ?>training/multiple-apks/multiple.html">
- <span class="en">Creating Multiple APKs with 2+ Dimensions</span>
+ <li><a href="<?cs var:toroot ?>training/implementing-navigation/descendant.html">
+ Implementing Descendant Navigation
</a>
</li>
</ul>
</li>
-
+
+
<li class="nav-section">
- <div class="nav-section-header"><a href="<?cs var:toroot ?>training/backward-compatible-ui/index.html">
- <span class="en">Creating Backward-Compatible UIs</span>
- </a></div>
+ <div class="nav-section-header">
+ <a href="/training/multiscreen/index.html"
+ zh-CN-lang="针对多种屏幕进行设计"
+ ja-lang="複数画面のデザイン"
+ es-lang="Cómo diseñar aplicaciones para varias pantallas"
+ description=
+ "How to build a user interface that's flexible enough to
+ fit perfectly on any screen and how to create different interaction
+ patterns that are optimized for different screen sizes."
+ >Designing for Multiple Screens</a>
+ </div>
<ul>
- <li><a href="<?cs var:toroot ?>training/backward-compatible-ui/abstracting.html">
- <span class="en">Abstracting the New APIs</span>
- </a>
- </li>
- <li><a href="<?cs var:toroot ?>training/backward-compatible-ui/new-implementation.html">
- <span class="en">Proxying to the New APIs</span>
- </a>
+ <li><a href="/training/multiscreen/screensizes.html"
+ zh-CN-lang="支持各种屏幕尺寸"
+ ko-lang="다양한 화면 크기 지원"
+ ja-lang="さまざまな画面サイズのサポート"
+ es-lang="Cómo admitir varios tamaños de pantalla"
+ >Supporting Different Screen Sizes</a>
</li>
- <li><a href="<?cs var:toroot ?>training/backward-compatible-ui/older-implementation.html">
- <span class="en">Creating an Implementation with Older APIs</span>
- </a>
+ <li><a href="/training/multiscreen/screendensities.html"
+ zh-CN-lang="支持各种屏幕密度"
+ ja-lang="さまざまな画面密度のサポート"
+ es-lang="Cómo admitir varias densidades de pantalla"
+ >Supporting Different Screen Densities</a>
</li>
- <li><a href="<?cs var:toroot ?>training/backward-compatible-ui/using-component.html">
- <span class="en">Using the Version-Aware Component</span>
- </a>
+ <li><a href="/training/multiscreen/adaptui.html"
+ zh-CN-lang="实施自适应用户界面流程"
+ ja-lang="順応性のある UI フローの実装"
+ es-lang="Cómo implementar interfaces de usuario adaptables"
+ >Implementing Adaptive UI Flows</a>
</li>
</ul>
</li>
<li class="nav-section">
- <div class="nav-section-header"><a href="<?cs var:toroot ?>training/enterprise/index.html">
- <span class="en">Developing for Enterprise</span>
- </a></div>
+ <div class="nav-section-header"><a href="<?cs var:toroot ?>training/tv/index.html"
+ description=
+ "How to optimize your app's user interface and user input for
+ the &quot;ten foot experience&quot; of a TV screen."
+ >Designing for TV</a>
+ </div>
<ul>
- <li><a href="<?cs var:toroot ?>training/enterprise/device-management-policy.html">
- <span class="en">Enhancing Security with Device Management Policies</span>
+ <li><a href="<?cs var:toroot ?>training/tv/optimizing-layouts-tv.html">
+ Optimizing Layouts for TV
+ </a>
+ </li>
+ <li><a href="<?cs var:toroot ?>training/tv/optimizing-navigation-tv.html">
+ Optimizing Navigation for TV
+ </a>
+ </li>
+ <li><a href="<?cs var:toroot ?>training/tv/unsupported-features-tv.html">
+ Handling Features Not Supported on TV
</a>
</li>
</ul>
</li>
<li class="nav-section">
- <div class="nav-section-header"><a href="<?cs var:toroot ?>training/monetization/index.html">
- <span class="en">Monetizing Your App</span>
- </a></div>
+ <div class="nav-section-header">
+ <a href="<?cs var:toroot ?>training/search/index.html"
+ description=
+ "How to properly add a search interface to your app and create a searchable database."
+ >Adding Search Functionality</a>
+ </div>
<ul>
- <li><a href="<?cs var:toroot ?>training/monetization/ads-and-ux.html">
- <span class="en">Advertising without Compromising User Experience</span>
+ <li><a href="<?cs var:toroot ?>training/search/setup.html">
+ Setting up the Search Interface
+ </a>
+ </li>
+ <li><a href="<?cs var:toroot ?>training/search/search.html">
+ Storing and Searching for Data
+ </a>
+ </li>
+ <li><a href="<?cs var:toroot ?>training/search/backward-compat.html">
+ Remaining Backward Compatible
</a>
</li>
</ul>
</li>
-
+
<li class="nav-section">
- <div class="nav-section-header"><a href="<?cs var:toroot ?>training/design-navigation/index.html">
- <span class="en">Designing Effective Navigation</span>
- </a></div>
+ <div class="nav-section-header">
+ <a href="<?cs var:toroot ?>training/custom-views/index.html"
+ description=
+ "How to build custom UI widgets that are interactive and smooth."
+ >Creating Custom Views</a>
+ </div>
<ul>
- <li><a href="<?cs var:toroot ?>training/design-navigation/screen-planning.html">
- <span class="en">Planning Screens and Their Relationships</span>
- </a>
- </li>
- <li><a href="<?cs var:toroot ?>training/design-navigation/multiple-sizes.html">
- <span class="en">Planning for Multiple Touchscreen Sizes</span>
+ <li><a href="<?cs var:toroot ?>training/custom-views/create-view.html">
+ Creating a Custom View Class
</a>
</li>
- <li><a href="<?cs var:toroot ?>training/design-navigation/descendant-lateral.html">
- <span class="en">Providing Descendant and Lateral Navigation</span>
+ <li><a href="<?cs var:toroot ?>training/custom-views/custom-drawing.html">
+ Implementing Custom Drawing
</a>
</li>
- <li><a href="<?cs var:toroot ?>training/design-navigation/ancestral-temporal.html">
- <span class="en">Providing Ancestral and Temporal Navigation</span>
+ <li><a href="<?cs var:toroot ?>training/custom-views/making-interactive.html">
+ Making the View Interactive
</a>
</li>
- <li><a href="<?cs var:toroot ?>training/design-navigation/wireframing.html">
- <span class="en">Putting it All Together: Wireframing the Example App</span>
+ <li><a href="<?cs var:toroot ?>training/custom-views/optimizing-view.html">
+ Optimizing the View
</a>
</li>
</ul>
</li>
<li class="nav-section">
- <div class="nav-section-header"><a href="<?cs var:toroot ?>training/implementing-navigation/index.html">
- <span class="en">Implementing Effective Navigation</span>
- </a></div>
+ <div class="nav-section-header">
+ <a href="<?cs var:toroot ?>training/backward-compatible-ui/index.html"
+ description=
+ "How to use UI components and other APIs from the more recent versions of Android
+ while remaining compatible with older versions of the platform."
+ >Creating Backward-Compatible UIs</a>
+ </div>
<ul>
- <li><a href="<?cs var:toroot ?>training/implementing-navigation/lateral.html">
- <span class="en">Implementing Lateral Navigation</span>
+ <li><a href="<?cs var:toroot ?>training/backward-compatible-ui/abstracting.html">
+ Abstracting the New APIs
</a>
</li>
- <li><a href="<?cs var:toroot ?>training/implementing-navigation/ancestral.html">
- <span class="en">Implementing Ancestral Navigation</span>
+ <li><a href="<?cs var:toroot ?>training/backward-compatible-ui/new-implementation.html">
+ Proxying to the New APIs
</a>
</li>
- <li><a href="<?cs var:toroot ?>training/implementing-navigation/temporal.html">
- <span class="en">Implementing Temporal Navigation</span>
+ <li><a href="<?cs var:toroot ?>training/backward-compatible-ui/older-implementation.html">
+ Creating an Implementation with Older APIs
</a>
</li>
- <li><a href="<?cs var:toroot ?>training/implementing-navigation/descendant.html">
- <span class="en">Implementing Descendant Navigation</span>
+ <li><a href="<?cs var:toroot ?>training/backward-compatible-ui/using-component.html">
+ Using the Version-Aware Component
</a>
</li>
</ul>
</li>
-
+
<li class="nav-section">
- <div class="nav-section-header"><a href="<?cs var:toroot ?>training/tv/index.html">
- <span class="en">Designing for TV</span>
- </a>
+ <div class="nav-section-header">
+ <a href="<?cs var:toroot ?>training/accessibility/index.html"
+ description=
+ "How to make your app accessible to users with vision
+ impairment or other physical disabilities."
+ >Implementing Accessibility</a>
</div>
<ul>
- <li><a href="<?cs var:toroot ?>training/tv/optimizing-layouts-tv.html">
- <span class="en">Optimizing Layouts for TV</span>
- </a>
- </li>
- <li><a href="<?cs var:toroot ?>training/tv/optimizing-navigation-tv.html">
- <span class="en">Optimizing Navigation for TV</span>
+ <li><a href="<?cs var:toroot ?>training/accessibility/accessible-app.html">
+ Developing Accessible Applications
</a>
</li>
- <li><a href="<?cs var:toroot ?>training/tv/unsupported-features-tv.html">
- <span class="en">Handling Features Not Supported on TV</span>
+ <li><a href="<?cs var:toroot ?>training/accessibility/service.html">
+ Developing Accessibility Services
</a>
</li>
</ul>
</li>
+
+ </ul>
+ </li>
+ <!-- End best UX and UI -->
+
+
+ <li class="nav-section">
+ <div class="nav-section-header">
+ <a href="<?cs var:toroot ?>training/best-performance.html">
+ <span class="small">Best Practices for</span><br/>
+ Performance
+ </a>
+ </div>
+ <ul>
+
+ <li>
+ <a href="<?cs var:toroot ?>training/perf-tips.html"
+ description=
+ "How to optimize your app's performance in various ways to improve its
+ responsiveness and battery efficiency."
+ >Performance Tips</a>
+ </li>
+
<li class="nav-section">
- <div class="nav-section-header"><a href="<?cs var:toroot ?>training/displaying-bitmaps/index.html">
- <span class="en">Displaying Bitmaps Efficiently</span>
- </a>
+ <div class="nav-section-header">
+ <a href="<?cs var:toroot ?>training/improving-layouts/index.html"
+ description=
+ "How to identify problems in your app's layout performance and improve the UI
+ responsiveness."
+ >Improving Layout Performance</a>
</div>
<ul>
- <li><a href="<?cs var:toroot ?>training/displaying-bitmaps/load-bitmap.html">
- <span class="en">Loading Large Bitmaps Efficiently</span>
+ <li><a href="<?cs var:toroot ?>training/improving-layouts/optimizing-layout.html">
+ Optimizing Layout Hierarchies
</a>
</li>
- <li><a href="<?cs var:toroot ?>training/displaying-bitmaps/process-bitmap.html">
- <span class="en">Processing Bitmaps Off the UI Thread</span>
+ <li><a href="<?cs var:toroot ?>training/improving-layouts/reusing-layouts.html">
+ Re-using Layouts with &lt;include/&gt;
</a>
</li>
- <li><a href="<?cs var:toroot ?>training/displaying-bitmaps/cache-bitmap.html">
- <span class="en">Caching Bitmaps</span>
+ <li><a href="<?cs var:toroot ?>training/improving-layouts/loading-ondemand.html">
+ Loading Views On Demand
+ </a>
+ </li>
+ <li><a href="<?cs var:toroot ?>training/improving-layouts/smooth-scrolling.html">
+ Making ListView Scrolling Smooth
</a>
</li>
- <li><a href="<?cs var:toroot ?>training/displaying-bitmaps/display-bitmap.html">
- <span class="en">Displaying Bitmaps in Your UI</span>
- </a></li>
</ul>
</li>
-
+
<li class="nav-section">
- <div class="nav-section-header"><a href="<?cs var:toroot ?>training/accessibility/index.html">
- <span class="en">Implementing Accessibility</span>
- </a></div>
+ <div class="nav-section-header">
+ <a href="/training/monitoring-device-state/index.html"
+ zh-CN-lang="优化电池使用时间"
+ ja-lang="電池消費量の最適化"
+ es-lang="Cómo optimizar la duración de la batería"
+ description=
+ "How to minimize the amount of power your app requires by adapting to current
+ power conditions and performing power-hungry tasks at proper intervals."
+ >Optimizing Battery Life</a>
+ </div>
<ul>
- <li><a href="<?cs var:toroot ?>training/accessibility/accessible-app.html">
- <span class="en">Developing Accessible Applications</span>
- </a>
+ <li><a href="/training/monitoring-device-state/battery-monitoring.html"
+ zh-CN-lang="监控电池电量和充电状态"
+ ja-lang="電池残量と充電状態の監視"
+ es-lang="Cómo controlar el nivel de batería y el estado de carga"
+ >Monitoring the Battery Level and Charging State</a>
</li>
- <li><a href="<?cs var:toroot ?>training/accessibility/service.html">
- <span class="en">Developing Accessibility Services</span>
- </a>
+ <li><a href="/training/monitoring-device-state/docking-monitoring.html"
+ zh-CN-lang="确定和监控基座对接状态和类型"
+ ja-lang="ホルダーの装着状態とタイプの特定と監視"
+ es-lang="Cómo determinar y controlar el tipo de conector y el estado de la conexión"
+ >Determining and Monitoring the Docking State and Type</a>
+ </li>
+ <li><a href="/training/monitoring-device-state/connectivity-monitoring.html"
+ zh-CN-lang="确定和监控网络连接状态"
+ ja-lang="接続状態の特定と監視"
+ es-lang="Cómo determinar y controlar el estado de la conectividad"
+ >Determining and Monitoring the Connectivity Status</a>
+ </li>
+ <li><a href="/training/monitoring-device-state/manifest-receivers.html"
+ zh-CN-lang="根据需要操作广播接收器"
+ ja-lang="オンデマンドでのブロードキャスト レシーバ操作"
+ es-lang="Cómo manipular los receptores de emisión bajo demanda"
+ >Manipulating Broadcast Receivers On Demand</a>
</li>
</ul>
</li>
+
+ <li>
+ <a href="<?cs var:toroot ?>training/perf-anr.html"
+ description=
+ "How to keep your app responsive to user interaction so the UI does not lock-up and
+ display an &quot;Application Not Responding&quot; dialog."
+ >Keeping Your App Responsive</a>
+ </li>
+
+ <li>
+ <a href="<?cs var:toroot ?>training/perf-jni.html"
+ description=
+ "How to efficiently use the Java Native Interface with the Android NDK."
+ >JNI Tips</a>
+ </li>
+ </ul>
+ </li> <!-- end of Performance -->
+
+
+ <li class="nav-section">
+ <div class="nav-section-header">
+ <a href="<?cs var:toroot ?>training/best-security.html">
+ <span class="small">Best Practices for</span><br/>
+ Security &amp; Privacy
+ </a>
+ </div>
+ <ul>
+ <li>
+ <a href="<?cs var:toroot ?>training/security-tips.html"
+ description=
+ "How to perform various tasks and keep your app's data and your user's data secure."
+ >Security Tips</a>
+ </li>
+
<li class="nav-section">
- <div class="nav-section-header"><a href="<?cs var:toroot
-?>training/graphics/opengl/index.html">
- <span class="en">Displaying Graphics with OpenGL ES</span>
- </a></div>
+ <div class="nav-section-header">
+ <a href="<?cs var:toroot ?>training/enterprise/index.html"
+ description=
+ "How to implement device management policies for enterprise-oriented apps."
+ >Developing for Enterprise</a>
+ </div>
<ul>
- <li><a href="<?cs var:toroot ?>training/graphics/opengl/environment.html">
- <span class="en">Building an OpenGL ES Environment</span>
- </a>
- </li>
- <li><a href="<?cs var:toroot ?>training/graphics/opengl/shapes.html">
- <span class="en">Defining Shapes</span>
- </a>
- </li>
- <li><a href="<?cs var:toroot ?>training/graphics/opengl/draw.html">
- <span class="en">Drawing Shapes</span>
- </a>
- </li>
- <li><a href="<?cs var:toroot ?>training/graphics/opengl/projection.html">
- <span class="en">Applying Projection and Camera Views</span>
- </a>
- </li>
- <li><a href="<?cs var:toroot ?>training/graphics/opengl/motion.html">
- <span class="en">Adding Motion</span>
- </a>
- </li>
- <li><a href="<?cs var:toroot ?>training/graphics/opengl/touch.html">
- <span class="en">Responding to Touch Events</span>
+ <li><a href="<?cs var:toroot ?>training/enterprise/device-management-policy.html">
+ Enhancing Security with Device Management Policies
</a>
</li>
</ul>
</li>
+ </ul>
+ </li>
+ <!-- End security and user info -->
+ <li class="nav-section">
+ <div class="nav-section-header">
+ <a href="<?cs var:toroot ?>training/distribute.html">
+ <span class="small">Using Google Play to</span><br/>
+ Distribute &amp; Monetize
+ </a>
+ </div>
+ <ul>
+
<li class="nav-section">
- <div class="nav-section-header"><a href="<?cs var:toroot ?>training/connect-devices-wirelessly/index.html">
- <span class="en">Connecting Devices Wirelessly</span>
- </a></div>
+ <div class="nav-section-header">
+ <a href="<?cs var:toroot ?>training/multiple-apks/index.html"
+ description=
+ "How to publish your app on Google Play with separate APKs that target
+ different devices, while using a single app listing."
+ >Maintaining Multiple APKs</a>
+ </div>
<ul>
- <li><a href="<?cs var:toroot ?>training/connect-devices-wirelessly/nsd.html">
- <span class="en">Using Network Service Discovery</span>
+ <li><a href="<?cs var:toroot ?>training/multiple-apks/api.html">
+ Creating Multiple APKs for Different API Levels
</a>
</li>
- <li><a href="<?cs var:toroot ?>training/connect-devices-wirelessly/wifi-direct.html">
- <span class="en">Connecting with Wi-Fi Direct</span>
+ <li><a href="<?cs var:toroot ?>training/multiple-apks/screensize.html">
+ Creating Multiple APKs for Different Screen Sizes
</a>
</li>
- <li><a href="<?cs var:toroot ?>training/connect-devices-wirelessly/nsd-wifi-direct.html">
- <span class="en">Using Wi-Fi Direct for Service Discovery</span>
+ <li><a href="<?cs var:toroot ?>training/multiple-apks/texture.html">
+ Creating Multiple APKs for Different GL Textures
+ </a>
+ </li>
+ <li><a href="<?cs var:toroot ?>training/multiple-apks/multiple.html">
+ Creating Multiple APKs with 2+ Dimensions
</a>
</li>
</ul>
</li>
-
+
+
<li class="nav-section">
- <div class="nav-section-header"><a href="<?cs var:toroot ?>training/load-data-background/index.html">
- <span class="en">Loading Data in the Background</span>
- </a></div>
+ <div class="nav-section-header">
+ <a href="<?cs var:toroot ?>training/monetization/index.html"
+ description=
+ "How to implement monetization strategies for your app without compromising
+ the user experience."
+ >Monetizing Your App</a>
+ </div>
<ul>
- <li><a href="<?cs var:toroot ?>training/load-data-background/setup-loader.html">
- <span class="en">Setting Up the Loader</span>
- </a>
- </li>
- <li><a href="<?cs var:toroot ?>training/load-data-background/define-launch-query.html">
- <span class="en">Defining and Launching the Query</span>
- </a>
- </li>
- <li><a href="<?cs var:toroot ?>training/load-data-background/handle-results.html">
- <span class="en">Handling the Results</span>
+ <li><a href="<?cs var:toroot ?>training/monetization/ads-and-ux.html">
+ Advertising without Compromising User Experience
</a>
</li>
</ul>
</li>
-
</ul>
</li>
+ <!-- End best Publishing -->
+
</ul><!-- nav -->
<script type="text/javascript">