Mark Lu 0109b0f83a Docs: Updates to backup documentation
am: f0968050f6

Change-Id: I6364318aca4e56dc72a049d20b5cab99190d7ed4
2016-09-30 21:49:23 +00:00

1483 lines
60 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

toc:
- title: Getting Started
path: /training/index.html
section:
- title: Building Your First App
path: /training/basics/firstapp/index.html
path_attributes:
- name: description
value: After you've installed the Android SDK, start with this class to learn the basics about Android app development.
section:
- title: Creating an Android Project
path: /training/basics/firstapp/creating-project.html
- title: Running Your Application
path: /training/basics/firstapp/running-app.html
- title: Building a Simple User Interface
path: /training/basics/firstapp/building-ui.html
- title: Starting Another Activity
path: /training/basics/firstapp/starting-activity.html
- title: Supporting Different Devices
path: /training/basics/supporting-devices/index.html
path_attributes:
- name: description
value: How to build your app with alternative resources that provide an optimized user experience on multiple device form factors using a single APK.
section:
- title: Supporting Different Languages
path: /training/basics/supporting-devices/languages.html
- title: Supporting Different Screens
path: /training/basics/supporting-devices/screens.html
- title: Supporting Different Platform Versions
path: /training/basics/supporting-devices/platforms.html
- title: Managing the Activity Lifecycle
path: /training/basics/activity-lifecycle/index.html
path_attributes:
- name: ja-lang
value: アクティビティのライフサイクル 管理
- name: ko-lang
value: 액티비티 수명 주기 관리하기
- name: pt-br-lang
value: Como gerenciar o ciclo de vida da atividade
- name: ru-lang
value: Управление жизненным циклом операций
- name: zh-cn-lang
value: 管理活动生命周期
- name: zh-tw-lang
value: 管理應用行為顯示生命週期
- name: description
value: How Android activities live and die and how to create a seamless user experience by implementing lifecycle callback methods.
section:
- title: Starting an Activity
path: /training/basics/activity-lifecycle/starting.html
path_attributes:
- name: ja-lang
value: アクティビティを開始する
- name: ko-lang
value: 액티비티 시작하기
- name: pt-br-lang
value: Iniciando uma atividade
- name: ru-lang
value: Запуск операции
- name: zh-cn-lang
value: 开始活动
- name: zh-tw-lang
value: 啟動應用行為顯示
- title: Pausing and Resuming an Activity
path: /training/basics/activity-lifecycle/pausing.html
- title: Stopping and Restarting an Activity
path: /training/basics/activity-lifecycle/stopping.html
path_attributes:
- name: ja-lang
value: アクティビティの一時停止と再開
- name: ko-lang
value: 액티비티 일시정지 및 재개하기
- name: pt-br-lang
value: Pausando e reiniciando uma atividade
- name: ru-lang
value: Приостановка и возобновление операции
- name: zh-cn-lang
value: 暂停和继续活动
- name: zh-tw-lang
value: 暫停並繼續應用行為顯示
- title: Recreating an Activity
path: /training/basics/activity-lifecycle/recreating.html
path_attributes:
- name: ja-lang
value: アクティビティを再作成する
- name: ko-lang
value: 액티비티 재생성하기
- name: pt-br-lang
value: Recriando uma atividade
- name: ru-lang
value: Воссоздание операции
- name: zh-cn-lang
value: 重新创建活动
- name: zh-tw-lang
value: 重新建立應用行為顯示
- title: Building a Dynamic UI with Fragments
path: /training/basics/fragments/index.html
path_attributes:
- name: description
value: 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—essential for building a single APK for both phones and tablets.
section:
- title: Creating a Fragment
path: /training/basics/fragments/creating.html
- title: Building a Flexible UI
path: /training/basics/fragments/fragment-ui.html
path_attributes:
- name: zh-cn-lang
value: 构建灵活的界面
- title: Communicating with Other Fragments
path: /training/basics/fragments/communicating.html
- title: Saving Data
path: /training/basics/data-storage/index.html
path_attributes:
- name: ja-lang
value: データの保存
- name: ko-lang
value: 데이터 저장하기
- name: pt-br-lang
value: Salvando dados
- name: ru-lang
value: Сохранение данных
- name: zh-cn-lang
value: 保存数据
- name: zh-tw-lang
value: 儲存資料
- name: description
value: How to save data on the device, whether it's temporary files, downloaded app assets, user media, structured data, or something else.
section:
- title: Saving Key-Value Sets
path: /training/basics/data-storage/shared-preferences.html
path_attributes:
- name: ja-lang
value: キー値セットを保存する
- name: ko-lang
value: 키-값 세트 저장하기
- name: pt-br-lang
value: Salvando conjuntos de valor-chave
- name: ru-lang
value: Сохранение наборов "ключ-значение"
- name: zh-cn-lang
value: 保存键值集
- name: zh-tw-lang
value: 儲存索引鍵值組
- title: Saving Files
path: /training/basics/data-storage/files.html
path_attributes:
- name: ja-lang
value: ファイルを保存する
- name: ko-lang
value: 파일 저장하기
- name: pt-br-lang
value: Salvando arquivos
- name: ru-lang
value: Сохранение файлов
- name: zh-cn-lang
value: 保存文件
- name: zh-tw-lang
value: 儲存檔案
- title: Saving Data in SQL Databases
path: /training/basics/data-storage/databases.html
path_attributes:
- name: ja-lang
value: SQL データベースにデータを保存する
- name: ko-lang
value: SQL 데이터베이스에 데이터 저장하기
- name: pt-br-lang
value: Salvando dados em bancos de dados do SQL
- name: ru-lang
value: Сохранение данных в базах данных SQL
- name: zh-cn-lang
value: 在 SQL 数据库中保存数据
- name: zh-tw-lang
value: 在 SQL 資料庫中儲存資料
- title: Interacting with Other Apps
path: /training/basics/intents/index.html
path_attributes:
- name: ja-lang
value: 他のアプリとの相互操作
- name: ko-lang
value: 액티비티 수명 주기 관리하기
- name: pt-br-lang
value: Interagindo com outros aplicativos
- name: ru-lang
value: Взаимодействие с другими приложениями
- name: zh-cn-lang
value: 与其他应用交互
- name: zh-tw-lang
value: 與其他應用程式互動
- name: description
value: 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.
section:
- title: Sending the User to Another App
path: /training/basics/intents/sending.html
path_attributes:
- name: ja-lang
value: 別のアプリにユーザーを送る
- name: ko-lang
value: 다른 앱으로 사용자 보내기
- name: pt-br-lang
value: Enviando o usuário para outro aplicativo
- name: ru-lang
value: Направление пользователя в другое приложение
- name: zh-cn-lang
value: 向另一个应用发送用户
- name: zh-tw-lang
value: 將使用者傳送至其他應用程式
- title: Getting a Result from the Activity
path: /training/basics/intents/result.html
path_attributes:
- name: ja-lang
value: アクティビティから結果を取得する
- name: ko-lang
value: 액티비티로부터 결과 가져오기
- name: pt-br-lang
value: Obtendo resultados de uma atividade
- name: ru-lang
value: Получение результата операции
- name: zh-cn-lang
value: 获取活动的结果
- name: zh-tw-lang
value: 從應用行為顯示取得結果
- title: Allowing Other Apps to Start Your Activity
path: /training/basics/intents/filters.html
path_attributes:
- name: ja-lang
value: 他のアプリからのアクティビティの開始を許可する
- name: ko-lang
value: 다른 앱이 자신의 액티비티를 시작하도록 허용하기
- name: pt-br-lang
value: Permitindo que outros aplicativos iniciem sua atividade
- name: ru-lang
value: Разрешение другим приложениям на запуск вашей операции
- name: zh-cn-lang
value: 允许其他应用开始您的活动
- name: zh-tw-lang
value: 允許其他應用程式啟動您的應用行為顯示
- title: Working with System Permissions
path: /training/permissions/index.html
path_attributes:
- name: description
value: How to declare that your app needs access to features and resources outside of its 'sandbox', and how to request those privileges at runtime.
section:
- title: Declaring Permissions
path: /training/permissions/declaring.html
- title: Requesting Permissions at Run Time
path: /training/permissions/requesting.html
- title: Best Practices for Runtime Permissions
path: /training/permissions/best-practices.html
- title: Building Apps with Content Sharing
path: /training/building-content-sharing.html
section:
- title: Sharing Simple Data
path: /training/sharing/index.html
path_attributes:
- name: description
value: 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.
section:
- title: Sending Simple Data to Other Apps
path: /training/sharing/send.html
- title: Receiving Simple Data from Other Apps
path: /training/sharing/receive.html
- title: Adding an Easy Share Action
path: /training/sharing/shareaction.html
- title: Sharing Files
path: /training/secure-file-sharing/index.html
path_attributes:
- name: description
value: How to provide secure access to a file associated with your app using a content URI and temporary access permissions.
section:
- title: Setting Up File Sharing
path: /training/secure-file-sharing/setup-sharing.html
- title: Sharing a File
path: /training/secure-file-sharing/share-file.html
- title: Requesting a Shared File
path: /training/secure-file-sharing/request-file.html
- title: Retrieving File Information
path: /training/secure-file-sharing/retrieve-info.html
- title: Sharing Files with NFC
path: /training/beam-files/index.html
path_attributes:
- name: description
value: How to transfer files between devices using the NFC Android Beam feature.
section:
- title: Sending Files to Another Device
path: /training/beam-files/send-files.html
- title: Receiving Files from Another Device
path: /training/beam-files/receive-files.html
- title: Building Apps with Multimedia
path: /training/building-multimedia.html
section:
- title: Managing Audio Playback
path: /training/managing-audio/index.html
path_attributes:
- name: description
value: How to respond to hardware audio key presses, request audio focus when playing audio, and respond appropriately to changes in audio focus.
section:
- title: Controlling Your App's Volume and Playback
path: /training/managing-audio/volume-playback.html
- title: Managing Audio Focus
path: /training/managing-audio/audio-focus.html
- title: Dealing with Audio Output Hardware
path: /training/managing-audio/audio-output.html
- title: Capturing Photos
path: /training/camera/index.html
path_attributes:
- name: description
value: 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.
section:
- title: Taking Photos Simply
path: /training/camera/photobasics.html
- title: Recording Videos Simply
path: /training/camera/videobasics.html
- title: Controlling the Camera
path: /training/camera/cameradirect.html
- title: Printing Content
path: /training/printing/index.html
path_attributes:
- name: description
value: How to print photos, HTML documents, and custom documents from your app.
section:
- title: Photos
path: /training/printing/photos.html
- title: HTML Documents
path: /training/printing/html-docs.html
- title: Custom Documents
path: /training/printing/custom-docs.html
- title: Building Apps with Graphics & Animation
path: /training/building-graphics.html
section:
- title: Displaying Bitmaps Efficiently
path: /training/displaying-bitmaps/index.html
path_attributes:
- name: description
value: How to load and process bitmaps while keeping your user interface responsive and avoid exceeding memory limits.
section:
- title: Loading Large Bitmaps Efficiently
path: /training/displaying-bitmaps/load-bitmap.html
- title: Processing Bitmaps Off the UI Thread
path: /training/displaying-bitmaps/process-bitmap.html
- title: Caching Bitmaps
path: /training/displaying-bitmaps/cache-bitmap.html
- title: Managing Bitmap Memory
path: /training/displaying-bitmaps/manage-memory.html
- title: Displaying Bitmaps in Your UI
path: /training/displaying-bitmaps/display-bitmap.html
- title: Displaying Graphics with OpenGL ES
path: /training/graphics/opengl/index.html
path_attributes:
- name: description
value: How to create OpenGL graphics within the Android app framework and respond to touch input.
section:
- title: Building an OpenGL ES Environment
path: /training/graphics/opengl/environment.html
- title: Defining Shapes
path: /training/graphics/opengl/shapes.html
- title: Drawing Shapes
path: /training/graphics/opengl/draw.html
- title: Applying Projection and Camera Views
path: /training/graphics/opengl/projection.html
- title: Adding Motion
path: /training/graphics/opengl/motion.html
- title: Responding to Touch Events
path: /training/graphics/opengl/touch.html
- title: Animating Views Using Scenes and Transitions
path: /training/transitions/index.html
path_attributes:
- name: description
value: How to animate state changes in a view hierarchy using transitions.
section:
- title: The Transitions Framework
path: /training/transitions/overview.html
- title: Creating a Scene
path: /training/transitions/scenes.html
- title: Applying a Transition
path: /training/transitions/transitions.html
- title: Creating Custom Transitions
path: /training/transitions/custom-transitions.html
- title: Adding Animations
path: /training/animation/index.html
path_attributes:
- name: description
value: How to add transitional animations to your user interface.
section:
- title: Crossfading Two Views
path: /training/animation/crossfade.html
- title: Using ViewPager for Screen Slide
path: /training/animation/screen-slide.html
- title: Displaying Card Flip Animations
path: /training/animation/cardflip.html
- title: Zooming a View
path: /training/animation/zoom.html
- title: Animating Layout Changes
path: /training/animation/layout.html
- title: Building Apps with Connectivity & the Cloud
path: /training/building-connectivity.html
section:
- title: Connecting Devices Wirelessly
path: /training/connect-devices-wirelessly/index.html
path_attributes:
- name: description
value: How to find and connect to local devices using Network Service Discovery and how to create peer-to-peer connections with Wi-Fi.
section:
- title: Using Network Service Discovery
path: /training/connect-devices-wirelessly/nsd.html
- title: Creating P2P Connections with Wi-Fi
path: /training/connect-devices-wirelessly/wifi-direct.html
- title: Using Wi-Fi P2P for Service Discovery
path: /training/connect-devices-wirelessly/nsd-wifi-direct.html
- title: Performing Network Operations
path: /training/basics/network-ops/index.html
path_attributes:
- name: description
value: How to create a network connection, monitor the connection for changes in connectivity, and perform transactions with XML data.
section:
- title: Connecting to the Network
path: /training/basics/network-ops/connecting.html
- title: Managing Network Usage
path: /training/basics/network-ops/managing.html
- title: Optimizing Network Data Usage
path: /training/basics/network-ops/data-saver.html
- title: Parsing XML Data
path: /training/basics/network-ops/xml.html
- title: Transferring Data Without Draining the Battery
path: /training/efficient-downloads/index.html
path_attributes:
- name: description
value: How to minimize your app's impact on the battery when performing downloads and other network transactions.
section:
- title: Optimizing Downloads for Efficient Network Access
path: /training/efficient-downloads/efficient-network-access.html
- title: Minimizing the Effect of Regular Updates
path: /training/efficient-downloads/regular_updates.html
- title: Redundant Downloads are Redundant
path: /training/efficient-downloads/redundant_redundant.html
- title: Modifying Patterns Based on the Connectivity Type
path: /training/efficient-downloads/connectivity_patterns.html
- title: Resolving Cloud Save Conflicts
path: /training/cloudsave/conflict-res.html
path_attributes:
- name: description
value: How to design a robust conflict resolution strategy for apps that save data to the cloud.
- title: Transferring Data Using Sync Adapters
path: /training/sync-adapters/index.html
path_attributes:
- name: description
value: How to transfer data between the cloud and the device using the Android sync adapter framework
section:
- title: Creating a Stub Authenticator
path: /training/sync-adapters/creating-authenticator.html
- title: Creating a Stub Content Provider
path: /training/sync-adapters/creating-stub-provider.html
- title: Creating a Sync Adapter
path: /training/sync-adapters/creating-sync-adapter.html
- title: Running a Sync Adapter
path: /training/sync-adapters/running-sync-adapter.html
- title: Transmitting Network Data Using Volley
path: /training/volley/index.html
path_attributes:
- name: description
value: How to perform fast, scalable UI operations over the network using Volley
section:
- title: Sending a Simple Request
path: /training/volley/simple.html
- title: Setting Up a RequestQueue
path: /training/volley/requestqueue.html
- title: Making a Standard Request
path: /training/volley/request.html
- title: Implementing a Custom Request
path: /training/volley/request-custom.html
- title: Building Apps with Location & Maps
path: /training/building-location.html
section:
- title: Making Your App Location-Aware
path: /training/location/index.html
path_attributes:
- name: description
value: How to add location-aware features to your app by getting the user's current location.
section:
- title: Getting the Last Known Location
path: /training/location/retrieve-current.html
- title: Changing Location Settings
path: /training/location/change-location-settings.html
- title: Receiving Location Updates
path: /training/location/receive-location-updates.html
- title: Displaying a Location Address
path: /training/location/display-address.html
- title: Creating and Monitoring Geofences
path: /training/location/geofencing.html
- title: Adding Maps
path: /training/maps/index.html
path_attributes:
- name: description
value: How to add maps and mapping information to your app.
- title: Building Apps with User Info & Sign-In
path: /training/building-userinfo.html
section:
- title: Accessing Contacts Data
path: /training/contacts-provider/index.html
path_attributes:
- name: description
value: How to use Android's central address book, the Contacts Provider, to display contacts and their details and modify contact information.
section:
- title: Retrieving a List of Contacts
path: /training/contacts-provider/retrieve-names.html
- title: Retrieving Details for a Contact
path: /training/contacts-provider/retrieve-details.html
- title: Modifying Contacts Using Intents
path: /training/contacts-provider/modify-data.html
- title: Displaying the Quick Contact Badge
path: /training/contacts-provider/display-contact-badge.html
- title: Adding Sign-In
path: /training/sign-in/index.html
path_attributes:
- name: description
value: How to add user sign-in functionality to your app.
- title: Building Apps for Wearables
path: /training/building-wearables.html
section:
- title: Adding Wearable Features to Notifications
path: /training/wearables/notifications/index.html
path_attributes:
- name: description
value: How to build handheld notifications that are synced to and look great on wearables.
section:
- title: Creating a Notification
path: /training/wearables/notifications/creating.html
- title: Receiving Voice Input in a Notification
path: /training/wearables/notifications/voice-input.html
- title: Adding Pages to a Notification
path: /training/wearables/notifications/pages.html
- title: Stacking Notifications
path: /training/wearables/notifications/stacks.html
- title: Creating Wearable Apps
path: /training/wearables/apps/index.html
path_attributes:
- name: description
value: How to build apps that run directly on wearables.
section:
- title: Creating and Running a Wearable App
path: /training/wearables/apps/creating.html
- title: Creating Custom Layouts
path: /training/wearables/apps/layouts.html
- title: Keeping Your App Visible
path: /training/wearables/apps/always-on.html
- title: Adding Voice Capabilities
path: /training/wearables/apps/voice.html
- title: Packaging Wearable Apps
path: /training/wearables/apps/packaging.html
- title: Debugging over Bluetooth
path: /training/wearables/apps/bt-debugging.html
- title: Creating Custom UIs
path: /training/wearables/ui/index.html
path_attributes:
- name: description
value: How to create custom user interfaces for wearable apps.
section:
- title: Defining Layouts
path: /training/wearables/ui/layouts.html
- title: Creating Cards
path: /training/wearables/ui/cards.html
- title: Creating Lists
path: /training/wearables/ui/lists.html
- title: Creating a 2D Picker
path: /training/wearables/ui/2d-picker.html
- title: Showing Confirmations
path: /training/wearables/ui/confirm.html
- title: Exiting Full-Screen Activities
path: /training/wearables/ui/exit.html
- title: Sending and Syncing Data
path: /training/wearables/data-layer/index.html
path_attributes:
- name: description
value: How to sync data between handhelds and wearables.
section:
- title: Accessing the Wearable Data Layer
path: /training/wearables/data-layer/accessing.html
- title: Syncing Data Items
path: /training/wearables/data-layer/data-items.html
- title: Transferring Assets
path: /training/wearables/data-layer/assets.html
- title: Sending and Receiving Messages
path: /training/wearables/data-layer/messages.html
- title: Handling Data Layer Events
path: /training/wearables/data-layer/events.html
- title: Creating Watch Faces
path: /training/wearables/watch-faces/index.html
path_attributes:
- name: description
value: How to create watch faces for wearables.
section:
- title: Designing Watch Faces
path: /training/wearables/watch-faces/designing.html
- title: Building a Watch Face Service
path: /training/wearables/watch-faces/service.html
- title: Drawing Watch Faces
path: /training/wearables/watch-faces/drawing.html
- title: Showing Information in Watch Faces
path: /training/wearables/watch-faces/information.html
- title: Creating Interactive Watch Faces
path: /training/wearables/watch-faces/interacting.html
- title: Providing Configuration Activities
path: /training/wearables/watch-faces/configuration.html
- title: Addressing Common Issues
path: /training/wearables/watch-faces/issues.html
- title: Optimizing Performance and Battery Life
path: /training/wearables/watch-faces/performance.html
- title: Detecting Location
path: /training/articles/wear-location-detection.html
path_attributes:
- name: description
value: How to detect location data on Android Wear devices.
- title: Requesting Permissions
path: /training/articles/wear-permissions.html
path_attributes:
- name: description
value: How to request permissions on Android Wear devices.
- title: Using the Speaker
path: /training/wearables/wearable-sounds.html
path_attributes:
- name: description
value: How to use the speaker on Android Wear devices.
- title: Building Apps for TV
path: /training/tv/index.html
section:
- title: Building TV Apps
path: /training/tv/start/index.html
path_attributes:
- name: ja-lang
value: TV アプリのビルド
- name: description
value: How to start building TV apps or extend your existing app to run on TV devices.
section:
- title: Getting Started with TV Apps
path: /training/tv/start/start.html
path_attributes:
- name: ja-lang
value: TV アプリのビルドを開始する
- title: Handling TV Hardware
path: /training/tv/start/hardware.html
path_attributes:
- name: ja-lang
value: TV ハードウェアを処理する
- title: Building TV Layouts
path: /training/tv/start/layouts.html
path_attributes:
- name: ja-lang
value: TV 向けレイアウトをビルドする
- title: Creating TV Navigation
path: /training/tv/start/navigation.html
path_attributes:
- name: ja-lang
value: TV 用のナビゲーションを作成する
- title: Building TV Playback Apps
path: /training/tv/playback/index.html
path_attributes:
- name: ja-lang
value: TV 再生アプリのビルド
- name: description
value: How to build apps that provide media catalogs and play content.
section:
- title: Creating a Catalog Browser
path: /training/tv/playback/browse.html
path_attributes:
- name: ja-lang
value: カタログ ブラウザを作成する
- title: Providing a Card View
path: /training/tv/playback/card.html
- title: Building a Details View
path: /training/tv/playback/details.html
path_attributes:
- name: ja-lang
value: 詳細ビューをビルドする
- title: Displaying a Now Playing Card
path: /training/tv/playback/now-playing.html
path_attributes:
- name: ja-lang
value: 再生中カードを表示する
- title: Adding a Guided Step
path: /training/tv/playback/guided-step.html
- title: Introducing First-time Users to Your App
path: /training/tv/playback/onboarding.html
- title: Enabling Background Playback
path: /training/tv/playback/options.html
- title: Adding Picture-in-picture
path: /training/tv/playback/picture-in-picture.html
- title: Helping Users Find Content on TV
path: /training/tv/discovery/index.html
path_attributes:
- name: description
value: How to help users discover content from your app.
section:
- title: Recommending TV Content
path: /training/tv/discovery/recommendations.html
- title: Making TV Apps Searchable
path: /training/tv/discovery/searchable.html
- title: Searching within TV Apps
path: /training/tv/discovery/in-app-search.html
- title: Building TV Games
path: /training/tv/games/index.html
path_attributes:
- name: description
value: How to build games for TV.
- title: Building TV Channels
path: /training/tv/tif/index.html
path_attributes:
- name: description
value: How to build channels for TV.
section:
- title: Developing a TV Input Service
path: /training/tv/tif/tvinput.html
- title: Working with Channel Data
path: /training/tv/tif/channel.html
- title: Managing User Interaction
path: /training/tv/tif/ui.html
- title: Supporting Content Recording
path: /training/tv/tif/content-recording.html
- title: TV Apps Checklist
path: /training/tv/publishing/checklist.html
path_attributes:
- name: description
value: An itemized list of requirements for TV apps.
- title: Building Apps for Auto
path: /training/auto/index.html
section:
- title: Getting Started with Auto
path: /training/auto/start/index.html
path_attributes:
- name: description
value: How to start building or extending apps that work with Auto devices.
- title: Playing Audio for Auto
path: /training/auto/audio/index.html
path_attributes:
- name: description
value: How to extend audio apps to play content on Auto devices.
- title: Messaging for Auto
path: /training/auto/messaging/index.html
path_attributes:
- name: description
value: How to extend text messaging apps to work with Auto devices.
- title: Testing for Auto
path: /training/auto/testing/index.html
path_attributes:
- name: description
value: How to use DHU to test Auto apps.
- title: Best Practices for Interaction & Engagement
path: /training/best-ux.html
section:
- title: Designing Effective Navigation
path: /training/design-navigation/index.html
path_attributes:
- name: description
value: 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.
section:
- title: Planning Screens and Their Relationships
path: /training/design-navigation/screen-planning.html
- title: Planning for Multiple Touchscreen Sizes
path: /training/design-navigation/multiple-sizes.html
- title: Providing Descendant and Lateral Navigation
path: /training/design-navigation/descendant-lateral.html
- title: Providing Ancestral and Temporal Navigation
path: /training/design-navigation/ancestral-temporal.html
- title: "Putting it All Together: Wireframing the Example App"
path: /training/design-navigation/wireframing.html
- title: Implementing Effective Navigation
path: /training/implementing-navigation/index.html
path_attributes:
- name: description
value: How to implement various navigation patterns such as swipe views, a navigation drawer, and up navigation.
section:
- title: Creating Swipe Views with Tabs
path: /training/implementing-navigation/lateral.html
- title: Creating a Navigation Drawer
path: /training/implementing-navigation/nav-drawer.html
- title: Providing Up Navigation
path: /training/implementing-navigation/ancestral.html
- title: Providing Proper Back Navigation
path: /training/implementing-navigation/temporal.html
- title: Implementing Descendant Navigation
path: /training/implementing-navigation/descendant.html
- title: Notifying the User
path: /training/notify-user/index.html
path_attributes:
- name: description
value: How to display messages called notifications outside of your application's UI.
section:
- title: Building a Notification
path: /training/notify-user/build-notification.html
- title: Preserving Navigation when Starting an Activity
path: /training/notify-user/navigation.html
- title: Updating Notifications
path: /training/notify-user/managing.html
- title: Using Big View Styles
path: /training/notify-user/expanded.html
- title: Displaying Progress in a Notification
path: /training/notify-user/display-progress.html
- title: Supporting Swipe-to-Refresh
path: /training/swipe/index.html
path_attributes:
- name: description
value: How to modify your app's layout to support manual content updates triggered by the swipe-to-refresh gesture.
section:
- title: Adding Swipe-to-Refresh To Your App
path: /training/swipe/add-swipe-interface.html
- title: Responding to a Refresh Gesture
path: /training/swipe/respond-refresh-request.html
- title: Adding Search Functionality
path: /training/search/index.html
path_attributes:
- name: description
value: How to properly add a search interface to your app and create a searchable database.
section:
- title: Setting up the Search Interface
path: /training/search/setup.html
- title: Storing and Searching for Data
path: /training/search/search.html
- title: Remaining Backward Compatible
path: /training/search/backward-compat.html
- title: Making Your App Content Searchable by Google
path: /training/app-indexing/index.html
path_attributes:
- name: description
value: How to enable deep linking and indexing of your application content so that users can open this content directly from their mobile search results.
section:
- title: Enabling Deep Links for App Content
path: /training/app-indexing/deep-linking.html
- title: Specifying App Content for Indexing
path: /training/app-indexing/enabling-app-indexing.html
- title: Optimizing Content for the Assistant
path: /training/articles/assistant.html
path_attributes:
- name: description
value: Support contextually relevant actions through the Assist API.
- title: Handling App Links
path: /training/app-links/index.html
path_attributes:
- name: description
value: How to enable the system to handle web requests by taking the user directly to your app instead of your website.
- title: Best Practices for User Interface
path: /training/best-ui.html
section:
- title: Designing for Multiple Screens
path: /training/multiscreen/index.html
path_attributes:
- name: es-lang
value: Cómo diseñar aplicaciones para varias pantallas
- name: ja-lang
value: 複数画面のデザイン
- name: zh-cn-lang
value: 针对多种屏幕进行设计
- name: description
value: 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.
section:
- title: Supporting Different Screen Sizes
path: /training/multiscreen/screensizes.html
path_attributes:
- name: es-lang
value: Cómo admitir varios tamaños de pantalla
- name: ja-lang
value: さまざまな画面サイズのサポート
- name: ko-lang
value: 다양한 화면 크기 지원
- name: zh-cn-lang
value: 支持各种屏幕尺寸
- title: Supporting Different Screen Densities
path: /training/multiscreen/screendensities.html
path_attributes:
- name: es-lang
value: Cómo admitir varias densidades de pantalla
- name: ja-lang
value: さまざまな画面密度のサポート
- name: zh-cn-lang
value: 支持各种屏幕密度
- title: Implementing Adaptive UI Flows
path: /training/multiscreen/adaptui.html
path_attributes:
- name: es-lang
value: Cómo implementar interfaces de usuario adaptables
- name: ja-lang
value: 順応性のある UI フローの実装
- name: zh-cn-lang
value: 实施自适应用户界面流程
- title: Build a Responsive UI with ConstraintLayout
path: /training/constraint-layout/index.html
path_attributes:
- name: description
value: How to build a layout using ConstraintLayout and the Android Studio Layout Editor.
- title: Adding the App Bar
path: /training/appbar/index.html
path_attributes:
- name: description
value: How to use the support library's toolbar widget to implement an app bar that displays properly on a wide range of devices.
section:
- title: Setting Up the App Bar
path: /training/appbar/setting-up.html
- title: Adding and Handling Actions
path: /training/appbar/actions.html
- title: Adding an Up Action
path: /training/appbar/up-action.html
- title: Action Views and Action Providers
path: /training/appbar/action-views.html
- title: Showing Pop-Up Messages
path: /training/snackbar/index.html
path_attributes:
- name: description
value: How to use the support library's Snackbar widget to display a brief pop-up message.
section:
- title: Building and Displaying a Pop-Up Message
path: /training/snackbar/showing.html
- title: Adding an Action to a Message
path: /training/snackbar/action.html
- title: Creating Custom Views
path: /training/custom-views/index.html
path_attributes:
- name: description
value: How to build custom UI widgets that are interactive and smooth.
section:
- title: Creating a Custom View Class
path: /training/custom-views/create-view.html
- title: Implementing Custom Drawing
path: /training/custom-views/custom-drawing.html
- title: Making the View Interactive
path: /training/custom-views/making-interactive.html
- title: Optimizing the View
path: /training/custom-views/optimizing-view.html
- title: Creating Backward-Compatible UIs
path: /training/backward-compatible-ui/index.html
path_attributes:
- name: description
value: How to use UI components and other APIs from the more recent versions of Android while remaining compatible with older versions of the platform.
section:
- title: Abstracting the New APIs
path: /training/backward-compatible-ui/abstracting.html
- title: Proxying to the New APIs
path: /training/backward-compatible-ui/new-implementation.html
- title: Creating an Implementation with Older APIs
path: /training/backward-compatible-ui/older-implementation.html
- title: Using the Version-Aware Component
path: /training/backward-compatible-ui/using-component.html
- title: Implementing Accessibility
path: /training/accessibility/index.html
path_attributes:
- name: description
value: How to make your app accessible to users with vision impairment or other physical disabilities.
section:
- title: Developing Accessible Applications
path: /training/accessibility/accessible-app.html
- title: Developing Accessibility Services
path: /training/accessibility/service.html
- title: Accessibility Testing Checklist
path: /training/accessibility/testing.html
- title: Managing the System UI
path: /training/system-ui/index.html
path_attributes:
- name: description
value: How to hide and show status and navigation bars across different versions of Android, while managing the display of other screen components.
section:
- title: Dimming the System Bars
path: /training/system-ui/dim.html
- title: Hiding the Status Bar
path: /training/system-ui/status.html
- title: Hiding the Navigation Bar
path: /training/system-ui/navigation.html
- title: Using Immersive Full-Screen Mode
path: /training/system-ui/immersive.html
- title: Responding to UI Visibility Changes
path: /training/system-ui/visibility.html
- title: Creating Apps with Material Design
path: /training/material/index.html
path_attributes:
- name: es-lang
value: Crear aplicaciones con Material Design
- name: in-lang
value: Desain Bahan untuk Pengembang
- name: ja-lang
value: マテリアル デザインでのアプリ作成
- name: ko-lang
value: 개발자를 위한 머티리얼 디자인
- name: pt-br-lang
value: Material Design para desenvolvedores
- name: ru-lang
value: Создание приложений с помощью Material Design
- name: vi-lang
value: Material Design cho Nhà phát triển
- name: zh-cn-lang
value: 面向开发者的材料设计
- name: zh-tw-lang
value: 開發人員材料設計
- name: description
value: How to implement material design on Android.
section:
- title: Getting Started
path: /training/material/get-started.html
path_attributes:
- name: es-lang
value: Comencemos
- name: in-lang
value: Memulai
- name: ja-lang
value: スタート ガイド
- name: ko-lang
value: 시작하기
- name: pt-br-lang
value: Como iniciar
- name: ru-lang
value: Начало работы
- name: vi-lang
value: Bắt đầu
- name: zh-cn-lang
value: 入门指南
- name: zh-tw-lang
value: 開始使用
- title: Using the Material Theme
path: /training/material/theme.html
path_attributes:
- name: es-lang
value: Usar el tema Material
- name: in-lang
value: Menggunakan Tema Bahan
- name: ja-lang
value: マテリアル テーマの使用
- name: ko-lang
value: 머티어리얼 테마 사용
- name: pt-br-lang
value: Como usar o tema do Material
- name: ru-lang
value: Использование темы Material Design
- name: vi-lang
value: Sử dụng Chủ đề Material
- name: zh-cn-lang
value: 使用材料主题
- name: zh-tw-lang
value: 使用材料設計風格
- title: Creating Lists and Cards
path: /training/material/lists-cards.html
path_attributes:
- name: es-lang
value: Crear listas y tarjetas
- name: in-lang
value: Membuat Daftar dan Kartu
- name: ja-lang
value: リストとカードの作成
- name: ko-lang
value: 목록 및 카드 생성
- name: pt-br-lang
value: Como criar listas e cartões
- name: ru-lang
value: Создание списков и подсказок
- name: vi-lang
value: Tạo Danh sách và Thẻ
- name: zh-cn-lang
value: 创建列表与卡片
- name: zh-tw-lang
value: 建立清單和卡片
- title: Defining Shadows and Clipping Views
path: /training/material/shadows-clipping.html
path_attributes:
- name: es-lang
value: Definir vistas de recorte y sombras
- name: in-lang
value: Mendefinisikan Bayangan dan Memangkas Tampilan
- name: ja-lang
value: シャドウとクリッピング ビューの定義
- name: ko-lang
value: 그림자 정의 및 뷰 클리핑
- name: pt-br-lang
value: Como definir sombras e recortar visualizações
- name: ru-lang
value: Определение теней и обрезка представлений
- name: vi-lang
value: Định nghĩa Đổ bóng và Dạng xem Cắt hình
- name: zh-cn-lang
value: 定义阴影与裁剪视图
- name: zh-tw-lang
value: 定義陰影和裁剪檢視
- title: Working with Drawables
path: /training/material/drawables.html
path_attributes:
- name: es-lang
value: Trabajar con interfaces dibujables
- name: in-lang
value: Bekerja dengan Drawable
- name: ja-lang
value: ドローアブルの使用
- name: ko-lang
value: Drawable 사용
- name: pt-br-lang
value: Como trabalhar com desenháveis
- name: ru-lang
value: Работа с элементами дизайна
- name: vi-lang
value: Làm việc với Nội dung vẽ được
- name: zh-cn-lang
value: 使用 Drawables
- name: zh-tw-lang
value: 使用可繪項目
- title: Defining Custom Animations
path: /training/material/animations.html
path_attributes:
- name: es-lang
value: Definir animaciones personalizadas
- name: in-lang
value: Mendefinisikan Animasi Custom
- name: ja-lang
value: カスタム アニメーションの定義
- name: ko-lang
value: 사용자지정 애니메이션 정의
- name: pt-br-lang
value: Como definir animações personalizadas
- name: ru-lang
value: Определение настраиваемой анимации
- name: vi-lang
value: Định nghĩa Hoạt hình Tùy chỉnh
- name: zh-cn-lang
value: 定义定制动画
- name: zh-tw-lang
value: 定義自訂動畫
- title: Maintaining Compatibility
path: /training/material/compatibility.html
path_attributes:
- name: es-lang
value: Mantener la compatibilidad
- name: in-lang
value: Mempertahankan Kompatibilitas
- name: ja-lang
value: 互換性の維持
- name: ko-lang
value: 호환성 유지
- name: pt-br-lang
value: Como manter a compatibilidade
- name: ru-lang
value: Обеспечение совместимости
- name: vi-lang
value: Duy trì Tính tương thích
- name: zh-cn-lang
value: 维护兼容性
- name: zh-tw-lang
value: 維持相容性
- title: Selecting Colors with the Palette API
path: /training/material/palette-colors.html
- title: Best Practices for User Input
path: /training/best-user-input.html
section:
- title: Using Touch Gestures
path: /training/gestures/index.html
path_attributes:
- name: description
value: How to write apps that allow users to interact with the touch screen via touch gestures.
section:
- title: Detecting Common Gestures
path: /training/gestures/detector.html
- title: Tracking Movement
path: /training/gestures/movement.html
- title: Animating a Scroll Gesture
path: /training/gestures/scroll.html
- title: Handling Multi-Touch Gestures
path: /training/gestures/multi.html
- title: Dragging and Scaling
path: /training/gestures/scale.html
- title: Managing Touch Events in a ViewGroup
path: /training/gestures/viewgroup.html
- title: Handling Keyboard Input
path: /training/keyboard-input/index.html
path_attributes:
- name: description
value: How to specify the appearance and behaviors of soft input methods (such as on-screen keyboards) and how to optimize the experience with hardware keyboards.
section:
- title: Specifying the Input Method Type
path: /training/keyboard-input/style.html
- title: Handling Input Method Visibility
path: /training/keyboard-input/visibility.html
- title: Supporting Keyboard Navigation
path: /training/keyboard-input/navigation.html
- title: Handling Keyboard Actions
path: /training/keyboard-input/commands.html
- title: Supporting Game Controllers
path: /training/game-controllers/index.html
path_attributes:
- name: description
value: How to write apps that support game controllers.
section:
- title: Handling Controller Actions
path: /training/game-controllers/controller-input.html
- title: Supporting Controllers Across Android Versions
path: /training/game-controllers/compatibility.html
- title: Supporting Multiple Game Controllers
path: /training/game-controllers/multiple-controllers.html
- title: Best Practices for Background Jobs
path: /training/best-background.html
section:
- title: Running in a Background Service
path: /training/run-background-service/index.html
path_attributes:
- name: description
value: How to improve UI performance and responsiveness by sending work to a Service running in the background
section:
- title: Creating a Background Service
path: /training/run-background-service/create-service.html
- title: Sending Work Requests to the Background Service
path: /training/run-background-service/send-request.html
- title: Reporting Work Status
path: /training/run-background-service/report-status.html
- title: Loading Data in the Background
path: /training/load-data-background/index.html
path_attributes:
- name: description
value: How to use CursorLoader to query data without affecting UI responsiveness.
section:
- title: Running a Query with a CursorLoader
path: /training/load-data-background/setup-loader.html
- title: Handling the Results
path: /training/load-data-background/handle-results.html
- title: Managing Device Awake State
path: /training/scheduling/index.html
path_attributes:
- name: description
value: How to use repeating alarms and wake locks to run background jobs.
section:
- title: Keeping the Device Awake
path: /training/scheduling/wakelock.html
- title: Scheduling Repeating Alarms
path: /training/scheduling/alarms.html
- title: Best Practices for Performance
path: /training/best-performance.html
section:
- title: Performance Tips
path: /training/articles/perf-tips.html
path_attributes:
- name: description
value: How to optimize your app's performance in various ways to improve its responsiveness and battery efficiency.
- title: Improving Layout Performance
path: /training/improving-layouts/index.html
path_attributes:
- name: description
value: How to identify problems in your app's layout performance and improve the UI responsiveness.
section:
- title: Optimizing Layout Hierarchies
path: /training/improving-layouts/optimizing-layout.html
- title: Re-using Layouts with <include/>
path: /training/improving-layouts/reusing-layouts.html
- title: Loading Views On Demand
path: /training/improving-layouts/loading-ondemand.html
- title: Making ListView Scrolling Smooth
path: /training/improving-layouts/smooth-scrolling.html
- title: Optimizing Battery Life
path: /training/monitoring-device-state/index.html
path_attributes:
- name: es-lang
value: Cómo optimizar la duración de la batería
- name: ja-lang
value: 電池消費量の最適化
- name: zh-cn-lang
value: 优化电池使用时间
- name: description
value: How to minimize the amount of power your app requires by adapting to current power conditions and performing power-hungry tasks at proper intervals.
section:
- title: Monitoring the Battery Level and Charging State
path: /training/monitoring-device-state/battery-monitoring.html
path_attributes:
- name: es-lang
value: Cómo controlar el nivel de batería y el estado de carga
- name: ja-lang
value: 電池残量と充電状態の監視
- name: zh-cn-lang
value: 监控电池电量和充电状态
- title: Determining and Monitoring the Docking State and Type
path: /training/monitoring-device-state/docking-monitoring.html
path_attributes:
- name: es-lang
value: Cómo determinar y controlar el tipo de conector y el estado de la conexión
- name: ja-lang
value: ホルダーの装着状態とタイプの特定と監視
- name: zh-cn-lang
value: 确定和监控基座对接状态和类型
- title: Determining and Monitoring the Connectivity Status
path: /training/monitoring-device-state/connectivity-monitoring.html
path_attributes:
- name: es-lang
value: Cómo determinar y controlar el estado de la conectividad
- name: ja-lang
value: 接続状態の特定と監視
- name: zh-cn-lang
value: 确定和监控网络连接状态
- title: Manipulating Broadcast Receivers On Demand
path: /training/monitoring-device-state/manifest-receivers.html
path_attributes:
- name: es-lang
value: Cómo manipular los receptores de emisión bajo demanda
- name: ja-lang
value: オンデマンドでのブロードキャスト レシーバ操作
- name: zh-cn-lang
value: 根据需要操作广播接收器
- title: Sending Operations to Multiple Threads
path: /training/multiple-threads/index.html
path_attributes:
- name: description
value: How to improve the performance and scalability of long-running operations by dispatching work to multiple threads.
section:
- title: Specifying the Code to Run on a Thread
path: /training/multiple-threads/define-runnable.html
- title: Creating a Manager for Multiple Threads
path: /training/multiple-threads/create-threadpool.html
- title: Running Code on a Thread Pool Thread
path: /training/multiple-threads/run-code.html
- title: Communicating with the UI Thread
path: /training/multiple-threads/communicate-ui.html
- title: Keeping Your App Responsive
path: /training/articles/perf-anr.html
path_attributes:
- name: description
value: How to keep your app responsive to user interaction so the UI does not lock-up and display an "Application Not Responding" dialog.
- title: JNI Tips
path: /training/articles/perf-jni.html
path_attributes:
- name: description
value: How to efficiently use the Java Native Interface with the Android NDK.
- title: SMP Primer for Android
path: /training/articles/smp.html
path_attributes:
- name: description
value: Tips for coding Android apps on symmetric multiprocessor systems.
- title: Best Practices for Security & Privacy
path: /training/best-security.html
section:
- title: Security Tips
path: /training/articles/security-tips.html
path_attributes:
- name: description
value: How to perform various tasks and keep your app's data and your user's data secure.
- title: Security with HTTPS and SSL
path: /training/articles/security-ssl.html
path_attributes:
- name: description
value: How to ensure that your app is secure when performing network transactions.
- title: Network Security Configuration
path: /training/articles/security-config.html
path_attributes:
- name: description
value: Customize the behavior of your app's secure network connections safely.
- title: Updating Your Security Provider to Protect Against SSL Exploits
path: /training/articles/security-gms-provider.html
path_attributes:
- name: description
value: How to use and update Google Play services security provider, to protect against SSL exploits.
- title: Checking Device Compatibility with SafetyNet
path: /training/safetynet/index.html
path_attributes:
- name: description
value: How to use the SafetyNet service to analyze a device where your app is running and get information about its compatibility with your app.
- title: Checking URLs with the Safe Browsing API
path: /training/safebrowsing/index.html
path_attributes:
- name: description
value: How to use the SafetyNet service to determine if a URL is designated as a known threat.
- title: Verifying Hardware-backed Key Pairs with Key Attestation
path: /training/articles/security-key-attestation.html
path_attributes:
- name: description
value: How to retrieve and verify the properties of a device's hardware-backed key pair.
- title: Enhancing Security with Device Management Policies
path: /work/device-management-policy.html
path_attributes:
- name: description
value: How to create an application that enforces security policies on devices.
- title: Supporting Direct Boot
path: /training/articles/direct-boot.html
path_attributes:
- name: description
value: How use device encrypted storage during Direct Boot mode.
- title: Using Scoped Directory Access
path: /training/articles/scoped-directory-access.html
path_attributes:
- name: description
value: How to use scoped directory access to request access to external storage directories.
- title: Best Practices for Permissions & Identifiers
path: /training/best-permissions-ids.html
section:
- title: Permissions and User Data
path: /training/articles/user-data-overview.html
path_attributes:
- name: description
value: Overview of app permissions on Android and how they affect your users.
- title: Best Practices for App Permissions
path: /training/articles/user-data-permissions.html
path_attributes:
- name: description
value: How to manage permissions the right way for users.
- title: Best Practices for Unique Identifiers
path: /training/articles/user-data-ids.html
path_attributes:
- name: description
value: Unique identifiers available and how to choose the right one for your use case.
- title: Best Practices for Testing
path: /training/testing/index.html
section:
- title: Getting Started with Testing
path: /training/testing/start/index.html
path_attributes:
- name: description
value: How to get started with testing your Android applications.
- title: Building Effective Unit Tests
path: /training/testing/unit-testing/index.html
path_attributes:
- name: description
value: How to build effective unit tests for Android apps.
section:
- title: Building Local Unit Tests
path: /training/testing/unit-testing/local-unit-tests.html
- title: Building Instrumented Unit Tests
path: /training/testing/unit-testing/instrumented-unit-tests.html
- title: Automating UI Tests
path: /training/testing/ui-testing/index.html
path_attributes:
- name: description
value: How to automate your user interface tests for Android apps.
section:
- title: Testing UI for a Single App
path: /training/testing/ui-testing/espresso-testing.html
- title: Testing UI for Multiple Apps
path: /training/testing/ui-testing/uiautomator-testing.html
- title: Testing App Component Integrations
path: /training/testing/integration-testing/index.html
path_attributes:
- name: description
value: How to build effective integration tests for Android apps.
section:
- title: Testing Your Service
path: /training/testing/integration-testing/service-testing.html
- title: Testing Your Content Provider
path: /training/testing/integration-testing/content-provider-testing.html
- title: Testing Display Performance
path: /training/testing/performance.html
path_attributes:
- name: description
value: How to automate UI performance testing.
- title: Using Google Play to Distribute & Monetize
path: /training/distribute.html
section:
- title: Selling In-app Products
path: /training/in-app-billing/index.html
path_attributes:
- name: description
value: How to sell in-app products from your application using In-app Billing.
section:
- title: Preparing Your App
path: /training/in-app-billing/preparing-iab-app.html
- title: Establishing Products for Sale
path: /training/in-app-billing/list-iab-products.html
- title: Purchasing Products
path: /training/in-app-billing/purchase-iab-products.html
- title: Testing Your App
path: /training/in-app-billing/test-iab-app.html
- title: Maintaining Multiple APKs
path: /training/multiple-apks/index.html
path_attributes:
- name: description
value: How to publish your app on Google Play with separate APKs that target different devices, while using a single app listing.
section:
- title: Creating Multiple APKs for Different API Levels
path: /training/multiple-apks/api.html
- title: Creating Multiple APKs for Different Screen Sizes
path: /training/multiple-apks/screensize.html
- title: Creating Multiple APKs for Different GL Textures
path: /training/multiple-apks/texture.html
- title: Creating Multiple APKs with 2+ Dimensions
path: /training/multiple-apks/multiple.html