<ul id="nav"> <li class="nav-section"> <div class="nav-section-header"> <a href="<?cs var:toroot ?>training/index.html"> <span class="en">Get Started</span> </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> </div> <ul> <li><a href="<?cs var:toroot ?>training/basics/firstapp/creating-project.html"> <span class="en">Creating an Android Project</span> </a> </li> <li><a href="<?cs var:toroot ?>training/basics/firstapp/running-app.html"> <span class="en">Running Your Application</span> </a> </li> <li><a href="<?cs var:toroot ?>training/basics/firstapp/building-ui.html"> <span class="en">Building a Simple User Interface</span> </a> </li> <li><a href="<?cs var:toroot ?>training/basics/firstapp/starting-activity.html"> <span class="en">Starting Another Activity</span> </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> <ul> <li><a href="<?cs var:toroot ?>training/basics/activity-lifecycle/starting.html"> <span class="en">Starting an Activity</span> </a> </li> <li><a href="<?cs var:toroot ?>training/basics/activity-lifecycle/pausing.html"> <span class="en">Pausing and Resuming an Activity</span> </a> </li> <li><a href="<?cs var:toroot ?>training/basics/activity-lifecycle/stopping.html"> <span class="en">Stopping and Restarting an Activity</span> </a> </li> <li><a href="<?cs var:toroot ?>training/basics/activity-lifecycle/recreating.html"> <span class="en">Recreating an Activity</span> </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> <ul> <li><a href="<?cs var:toroot ?>training/basics/supporting-devices/languages.html"> <span class="en">Supporting Different Languages</span> </a> </li> <li><a href="<?cs var:toroot ?>training/basics/supporting-devices/screens.html"> <span class="en">Supporting Different Screens</span> </a> </li> <li><a href="<?cs var:toroot ?>training/basics/supporting-devices/platforms.html"> <span class="en">Supporting Different Platform Versions</span> </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> <ul> <li><a href="<?cs var:toroot ?>training/basics/fragments/support-lib.html"> <span class="en">Using the Support Library</span> </a> </li> <li><a href="<?cs var:toroot ?>training/basics/fragments/creating.html"> <span class="en">Creating a Fragment</span> </a> </li> <li><a href="<?cs var:toroot ?>training/basics/fragments/fragment-ui.html"> <span class="en">Building a Flexible UI</span> </a> </li> <li><a href="<?cs var:toroot ?>training/basics/fragments/communicating.html"> <span class="en">Communicating with Other Fragments</span> </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> <ul> <li><a href="<?cs var:toroot ?>training/basics/intents/sending.html"> <span class="en">Sending the User to Another App</span> </a> </li> <li><a href="<?cs var:toroot ?>training/basics/intents/result.html"> <span class="en">Getting a Result from the Activity</span> </a> </li> <li><a href="<?cs var:toroot ?>training/basics/intents/filters.html"> <span class="en">Allowing Other Apps to Start Your Activity</span> </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> <ul> <li><a href="<?cs var:toroot ?>training/basics/location/locationmanager.html"> <span class="en">Using the Location Manager</span> </a> </li> <li><a href="<?cs var:toroot ?>training/basics/location/currentlocation.html"> <span class="en">Obtaining the Current Location</span> </a> </li> <li><a href="<?cs var:toroot ?>training/basics/location/geocoding.html"> <span class="en">Displaying a Location Address</span> </a> </li> </ul> </li> <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> <ul> <li><a href="<?cs var:toroot ?>training/basics/network-ops/connecting.html"> <span class="en">Connecting to the Network</span> </a> </li> <li><a href="<?cs var:toroot ?>training/basics/network-ops/managing.html"> <span class="en">Managing Network Usage</span> </a> </li> <li><a href="<?cs var:toroot ?>training/basics/network-ops/xml.html"> <span class="en">Parsing XML Data</span> </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> <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> </a> </li> <li><a href="<?cs var:toroot ?>training/efficient-downloads/redundant_redundant.html"> <span class="en">Redundant Downloads are Redundant</span> </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> </a> </li> </ul> </li> <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> <ul> <li><a href="<?cs var:toroot ?>training/cloudsync/aesync.html"> <span class="en">Syncing with App Engine</span> </a> </li> <li><a href="<?cs var:toroot ?>training/cloudsync/backupapi.html"> <span class="en">Using the Backup API</span> </a> </li> </ul> </li> <li class="nav-section"> <div class="nav-section-header"><a href="<?cs var:toroot ?>training/multiscreen/index.html"> <span class="en">Designing for Multiple Screens</span> <span class="es">Cómo diseñar aplicaciones para varias pantallas</span> <span class="ja">複数画面のデザイン</span> <span class="ko">Designing for Multiple Screens</span> <span class="ru">Designing for Multiple Screens</span> <span class="zh-CN">针对多种屏幕进行设计</span> </a></div> <ul> <li><a href="<?cs var:toroot ?>training/multiscreen/screensizes.html"> <span class="en">Supporting Different Screen Sizes</span> <span class="es">Cómo admitir varios tamaños de pantalla</span> <span class="ja">さまざまな画面サイズのサポート</span> <span class="ko">다양한 화면 크기 지원</span> <span class="ru">Supporting Different Screen Sizes</span> <span class="zh-CN">支持各种屏幕尺寸</span> </a> </li> <li><a href="<?cs var:toroot ?>training/multiscreen/screendensities.html"> <span class="en">Supporting Different Screen Densities</span> <span class="es">Cómo admitir varias densidades de pantalla</span> <span class="ja">さまざまな画面密度のサポート</span> <span class="ko">Supporting Different Screen Densities</span> <span class="ru">Supporting Different Screen Densities</span> <span class="zh-CN">支持各种屏幕密度</span> </a> </li> <li><a href="<?cs var:toroot ?>training/multiscreen/adaptui.html"> <span class="en">Implementing Adaptive UI Flows</span> <span class="es">Cómo implementar interfaces de usuario adaptables</span> <span class="ja">順応性のある UI フローの実装</span> <span class="ko">Implementing Adaptive UI Flows</span> <span class="ru">Implementing Adaptive UI Flows</span> <span class="zh-CN">实施自适应用户界面流程</span> </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> </a> </li> <li><a href="<?cs var:toroot ?>training/improving-layouts/reusing-layouts.html"> <span class="en">Re-using Layouts with <include/></span> </a> </li> <li><a href="<?cs var:toroot ?>training/improving-layouts/loading-ondemand.html"> <span class="en">Loading Views On Demand</span> </a> </li> <li><a href="<?cs var:toroot ?>training/improving-layouts/smooth-scrolling.html"> <span class="en">Making ListView Scrolling Smooth</span> </a> </li> </ul> </li> <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> <ul> <li><a href="<?cs var:toroot ?>training/managing-audio/volume-playback.html"> <span class="en">Controlling Your App?s Volume and Playback</span> </a> </li> <li><a href="<?cs var:toroot ?>training/managing-audio/audio-focus.html"> <span class="en">Managing Audio Focus</span> </a> </li> <li><a href="<?cs var:toroot ?>training/managing-audio/audio-output.html"> <span class="en">Dealing with Audio Output Hardware</span> </a> </li> </ul> </li> <li class="nav-section"> <div class="nav-section-header"><a href="<?cs var:toroot ?>training/monitoring-device-state/index.html"> <span class="en">Optimizing Battery Life</span> <span class="es">Cómo optimizar la duración de la batería</span> <span class="ja">電池消費量の最適化</span> <span class="ko">Optimizing Battery Life</span> <span class="ru">Optimizing Battery Life</span> <span class="zh-CN">优化电池使用时间</span> </a></div> <ul> <li><a href="<?cs var:toroot ?>training/monitoring-device-state/battery-monitoring.html"> <span class="en">Monitoring the Battery Level and Charging State</span> <span class="es">Cómo controlar el nivel de batería y el estado de carga</span> <span class="ja">電池残量と充電状態の監視</span> <span class="ko">Monitoring the Battery Level and Charging State</span> <span class="ru">Monitoring the Battery Level and Charging State</span> <span class="zh-CN">监控电池电量和充电状态</span> </a> </li> <li><a href="<?cs var:toroot ?>training/monitoring-device-state/docking-monitoring.html"> <span class="en">Determining and Monitoring the Docking State and Type</span> <span class="es">Cómo determinar y controlar el tipo de conector y el estado de la conexión</span> <span class="ja">ホルダーの装着状態とタイプの特定と監視</span> <span class="ko">Determining and Monitoring the Docking State and Type</span> <span class="ru">Determining and Monitoring the Docking State and Type</span> <span class="zh-CN">确定和监控基座对接状态和类型</span> </a> </li> <li><a href="<?cs var:toroot ?>training/monitoring-device-state/connectivity-monitoring.html"> <span class="en">Determining and Monitoring the Connectivity Status</span> <span class="es">Cómo determinar y controlar el estado de la conectividad</span> <span class="ja">接続状態の特定と監視</span> <span class="ko">Determining and Monitoring the Connectivity Status</span> <span class="ru">Determining and Monitoring the Connectivity Status</span> <span class="zh-CN">确定和监控网络连接状态</span> </a> </li> <li><a href="<?cs var:toroot ?>training/monitoring-device-state/manifest-receivers.html"> <span class="en">Manipulating Broadcast Receivers On Demand</span> <span class="es">Cómo manipular los receptores de emisión bajo demanda</span> <span class="ja">オンデマンドでのブロードキャスト レシーバ操作</span> <span class="ko">Manipulating Broadcast Receivers On Demand</span> <span class="ru">Manipulating Broadcast Receivers On Demand</span> <span class="zh-CN">根据需要操作广播接收器</span> </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> <ul> <li><a href="<?cs var:toroot ?>training/custom-views/create-view.html"> <span class="en">Creating a Custom View Class</span> </a> </li> <li><a href="<?cs var:toroot ?>training/custom-views/custom-drawing.html"> <span class="en">Implementing Custom Drawing</span> </a> </li> <li><a href="<?cs var:toroot ?>training/custom-views/making-interactive.html"> <span class="en">Making the View Interactive</span> </a> </li> <li><a href="<?cs var:toroot ?>training/custom-views/optimizing-view.html"> <span class="en">Optimizing the View</span> </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> <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> </a> </li> <li><a href="<?cs var:toroot ?>training/search/backward-compat.html"> <span class="en">Remaining Backward Compatible</span> </a> </li> </ul> </li> <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> <ul> <li><a href="<?cs var:toroot ?>training/id-auth/identify.html"> <span class="en">Remembering Your User</span> </a> </li> <li><a href="<?cs var:toroot ?>training/id-auth/authenticate.html"> <span class="en">Authenticating to OAuth2 Services</span> </a> </li> <li><a href="<?cs var:toroot ?>training/id-auth/custom_auth.html"> <span class="en">Creating a Custom Account Type</span> </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> <ul> <li><a href="<?cs var:toroot ?>training/sharing/send.html"> <span class="en">Sending Content to Other Apps</span> </a> </li> <li><a href="<?cs var:toroot ?>training/sharing/receive.html"> <span class="en">Receiving Content from Other Apps</span> </a> </li> <li><a href="<?cs var:toroot ?>training/sharing/shareaction.html"> <span class="en">Adding an Easy Share Action</span> </a> </li> </ul> </li> <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> <ul> <li><a href="<?cs var:toroot ?>training/camera/photobasics.html"> <span class="en">Taking Photos Simply</span> </a> </li> <li><a href="<?cs var:toroot ?>training/camera/videobasics.html"> <span class="en">Recording Videos Simply</span> </a> </li> <li><a href="<?cs var:toroot ?>training/camera/cameradirect.html"> <span class="en">Controlling the Camera</span> </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> <ul> <li><a href="<?cs var:toroot ?>training/multiple-apks/api.html"> <span class="en">Creating Multiple APKs for Different API Levels</span> </a> </li> <li><a href="<?cs var:toroot ?>training/multiple-apks/screensize.html"> <span class="en">Creating Multiple APKs for Different Screen Sizes</span> </a> </li> <li><a href="<?cs var:toroot ?>training/multiple-apks/texture.html"> <span class="en">Creating Multiple APKs for Different GL Textures</span> </a> </li> <li><a href="<?cs var:toroot ?>training/multiple-apks/multiple.html"> <span class="en">Creating Multiple APKs with 2+ Dimensions</span> </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> <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> <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> <li><a href="<?cs var:toroot ?>training/backward-compatible-ui/using-component.html"> <span class="en">Using the Version-Aware Component</span> </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> <ul> <li><a href="<?cs var:toroot ?>training/enterprise/device-management-policy.html"> <span class="en">Enhancing Security with Device Management Policies</span> </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> <ul> <li><a href="<?cs var:toroot ?>training/monetization/ads-and-ux.html"> <span class="en">Advertising without Compromising User Experience</span> </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> <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> </a> </li> <li><a href="<?cs var:toroot ?>training/design-navigation/descendant-lateral.html"> <span class="en">Providing Descendant and Lateral Navigation</span> </a> </li> <li><a href="<?cs var:toroot ?>training/design-navigation/ancestral-temporal.html"> <span class="en">Providing Ancestral and Temporal Navigation</span> </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> </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> <ul> <li><a href="<?cs var:toroot ?>training/implementing-navigation/lateral.html"> <span class="en">Implementing Lateral Navigation</span> </a> </li> <li><a href="<?cs var:toroot ?>training/implementing-navigation/ancestral.html"> <span class="en">Implementing Ancestral Navigation</span> </a> </li> <li><a href="<?cs var:toroot ?>training/implementing-navigation/temporal.html"> <span class="en">Implementing Temporal Navigation</span> </a> </li> <li><a href="<?cs var:toroot ?>training/implementing-navigation/descendant.html"> <span class="en">Implementing Descendant Navigation</span> </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> <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> </a> </li> <li><a href="<?cs var:toroot ?>training/tv/unsupported-features-tv.html"> <span class="en">Handling Features Not Supported on TV</span> </a> </li> </ul> </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> <ul> <li><a href="<?cs var:toroot ?>training/displaying-bitmaps/load-bitmap.html"> <span class="en">Loading Large Bitmaps Efficiently</span> </a> </li> <li><a href="<?cs var:toroot ?>training/displaying-bitmaps/process-bitmap.html"> <span class="en">Processing Bitmaps Off the UI Thread</span> </a> </li> <li><a href="<?cs var:toroot ?>training/displaying-bitmaps/cache-bitmap.html"> <span class="en">Caching Bitmaps</span> </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> <ul> <li><a href="<?cs var:toroot ?>training/accessibility/accessible-app.html"> <span class="en">Developing Accessible Applications</span> </a> </li> <li><a href="<?cs var:toroot ?>training/accessibility/service.html"> <span class="en">Developing Accessibility Services</span> </a> </li> </ul> </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> <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> </a> </li> </ul> </li> </ul> </li> </ul><!-- nav --> <script type="text/javascript"> <!-- buildToggleLists(); changeNavLang(getLangPref()); //--> </script>