blob: d6561bb79388b29a2181ae9e9f96fe6aa20f9bf0 [file] [log] [blame]
Elliot Waite20d6d772016-03-15 18:58:55 -07001toc:
2- title: Getting Started
3 path: /training/index.html
4 section:
5 - title: Building Your First App
6 path: /training/basics/firstapp/index.html
Elliot Waite988248d2016-04-26 19:46:39 -07007 path_attributes:
8 - name: description
9 value: After you've installed the Android SDK, start with this class to learn the basics about Android app development.
Elliot Waite20d6d772016-03-15 18:58:55 -070010 section:
11 - title: Creating an Android Project
12 path: /training/basics/firstapp/creating-project.html
13 - title: Running Your Application
14 path: /training/basics/firstapp/running-app.html
15 - title: Building a Simple User Interface
16 path: /training/basics/firstapp/building-ui.html
17 - title: Starting Another Activity
18 path: /training/basics/firstapp/starting-activity.html
19 - title: Supporting Different Devices
20 path: /training/basics/supporting-devices/index.html
Elliot Waite988248d2016-04-26 19:46:39 -070021 path_attributes:
22 - name: description
23 value: How to build your app with alternative resources that provide an optimized user experience on multiple device form factors using a single APK.
Elliot Waite20d6d772016-03-15 18:58:55 -070024 section:
25 - title: Supporting Different Languages
26 path: /training/basics/supporting-devices/languages.html
27 - title: Supporting Different Screens
28 path: /training/basics/supporting-devices/screens.html
29 - title: Supporting Different Platform Versions
30 path: /training/basics/supporting-devices/platforms.html
31 - title: Managing the Activity Lifecycle
32 path: /training/basics/activity-lifecycle/index.html
Elliot Waite988248d2016-04-26 19:46:39 -070033 path_attributes:
34 - name: ja-lang
35 value: アクティビティのライフサイクル 管理
36 - name: ko-lang
37 value: 액티비티 수명 주기 관리하기
38 - name: pt-br-lang
39 value: Como gerenciar o ciclo de vida da atividade
40 - name: ru-lang
41 value: Управление жизненным циклом операций
42 - name: zh-cn-lang
43 value: 管理活动生命周期
44 - name: zh-tw-lang
45 value: 管理應用行為顯示生命週期
46 - name: description
47 value: How Android activities live and die and how to create a seamless user experience by implementing lifecycle callback methods.
Elliot Waite20d6d772016-03-15 18:58:55 -070048 section:
49 - title: Starting an Activity
50 path: /training/basics/activity-lifecycle/starting.html
Elliot Waite988248d2016-04-26 19:46:39 -070051 path_attributes:
52 - name: ja-lang
53 value: アクティビティを開始する
54 - name: ko-lang
55 value: 액티비티 시작하기
56 - name: pt-br-lang
57 value: Iniciando uma atividade
58 - name: ru-lang
59 value: Запуск операции
60 - name: zh-cn-lang
61 value: 开始活动
62 - name: zh-tw-lang
63 value: 啟動應用行為顯示
Elliot Waite20d6d772016-03-15 18:58:55 -070064 - title: Pausing and Resuming an Activity
65 path: /training/basics/activity-lifecycle/pausing.html
66 - title: Stopping and Restarting an Activity
67 path: /training/basics/activity-lifecycle/stopping.html
Elliot Waite988248d2016-04-26 19:46:39 -070068 path_attributes:
69 - name: ja-lang
70 value: アクティビティの一時停止と再開
71 - name: ko-lang
72 value: 액티비티 일시정지 및 재개하기
73 - name: pt-br-lang
74 value: Pausando e reiniciando uma atividade
75 - name: ru-lang
76 value: Приостановка и возобновление операции
77 - name: zh-cn-lang
78 value: 暂停和继续活动
79 - name: zh-tw-lang
80 value: 暫停並繼續應用行為顯示
Elliot Waite20d6d772016-03-15 18:58:55 -070081 - title: Recreating an Activity
82 path: /training/basics/activity-lifecycle/recreating.html
Elliot Waite988248d2016-04-26 19:46:39 -070083 path_attributes:
84 - name: ja-lang
85 value: アクティビティを再作成する
86 - name: ko-lang
87 value: 액티비티 재생성하기
88 - name: pt-br-lang
89 value: Recriando uma atividade
90 - name: ru-lang
91 value: Воссоздание операции
92 - name: zh-cn-lang
93 value: 重新创建活动
94 - name: zh-tw-lang
95 value: 重新建立應用行為顯示
Elliot Waite20d6d772016-03-15 18:58:55 -070096 - title: Building a Dynamic UI with Fragments
97 path: /training/basics/fragments/index.html
Elliot Waite988248d2016-04-26 19:46:39 -070098 path_attributes:
99 - name: description
100 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.
Elliot Waite20d6d772016-03-15 18:58:55 -0700101 section:
102 - title: Creating a Fragment
103 path: /training/basics/fragments/creating.html
104 - title: Building a Flexible UI
105 path: /training/basics/fragments/fragment-ui.html
Elliot Waite988248d2016-04-26 19:46:39 -0700106 path_attributes:
107 - name: zh-cn-lang
108 value: 构建灵活的界面
Elliot Waite20d6d772016-03-15 18:58:55 -0700109 - title: Communicating with Other Fragments
110 path: /training/basics/fragments/communicating.html
111 - title: Saving Data
112 path: /training/basics/data-storage/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700113 path_attributes:
114 - name: ja-lang
115 value: データの保存
116 - name: ko-lang
117 value: 데이터 저장하기
118 - name: pt-br-lang
119 value: Salvando dados
120 - name: ru-lang
121 value: Сохранение данных
122 - name: zh-cn-lang
123 value: 保存数据
124 - name: zh-tw-lang
125 value: 儲存資料
126 - name: description
127 value: How to save data on the device, whether it's temporary files, downloaded app assets, user media, structured data, or something else.
Elliot Waite20d6d772016-03-15 18:58:55 -0700128 section:
129 - title: Saving Key-Value Sets
130 path: /training/basics/data-storage/shared-preferences.html
Elliot Waite988248d2016-04-26 19:46:39 -0700131 path_attributes:
132 - name: ja-lang
133 value: キー値セットを保存する
134 - name: ko-lang
135 value: 키-값 세트 저장하기
136 - name: pt-br-lang
137 value: Salvando conjuntos de valor-chave
138 - name: ru-lang
139 value: Сохранение наборов "ключ-значение"
140 - name: zh-cn-lang
141 value: 保存键值集
142 - name: zh-tw-lang
143 value: 儲存索引鍵值組
Elliot Waite20d6d772016-03-15 18:58:55 -0700144 - title: Saving Files
145 path: /training/basics/data-storage/files.html
Elliot Waite988248d2016-04-26 19:46:39 -0700146 path_attributes:
147 - name: ja-lang
148 value: ファイルを保存する
149 - name: ko-lang
150 value: 파일 저장하기
151 - name: pt-br-lang
152 value: Salvando arquivos
153 - name: ru-lang
154 value: Сохранение файлов
155 - name: zh-cn-lang
156 value: 保存文件
157 - name: zh-tw-lang
158 value: 儲存檔案
Elliot Waite20d6d772016-03-15 18:58:55 -0700159 - title: Saving Data in SQL Databases
160 path: /training/basics/data-storage/databases.html
Elliot Waite988248d2016-04-26 19:46:39 -0700161 path_attributes:
162 - name: ja-lang
163 value: SQL データベースにデータを保存する
164 - name: ko-lang
165 value: SQL 데이터베이스에 데이터 저장하기
166 - name: pt-br-lang
167 value: Salvando dados em bancos de dados do SQL
168 - name: ru-lang
169 value: Сохранение данных в базах данных SQL
170 - name: zh-cn-lang
171 value: 在 SQL 数据库中保存数据
172 - name: zh-tw-lang
173 value: 在 SQL 資料庫中儲存資料
Elliot Waite20d6d772016-03-15 18:58:55 -0700174 - title: Interacting with Other Apps
175 path: /training/basics/intents/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700176 path_attributes:
177 - name: ja-lang
178 value: 他のアプリとの相互操作
179 - name: ko-lang
180 value: 액티비티 수명 주기 관리하기
181 - name: pt-br-lang
182 value: Interagindo com outros aplicativos
183 - name: ru-lang
184 value: Взаимодействие с другими приложениями
185 - name: zh-cn-lang
186 value: 与其他应用交互
187 - name: zh-tw-lang
188 value: 與其他應用程式互動
189 - name: description
190 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.
Elliot Waite20d6d772016-03-15 18:58:55 -0700191 section:
192 - title: Sending the User to Another App
193 path: /training/basics/intents/sending.html
Elliot Waite988248d2016-04-26 19:46:39 -0700194 path_attributes:
195 - name: ja-lang
196 value: 別のアプリにユーザーを送る
197 - name: ko-lang
198 value: 다른 앱으로 사용자 보내기
199 - name: pt-br-lang
200 value: Enviando o usuário para outro aplicativo
201 - name: ru-lang
202 value: Направление пользователя в другое приложение
203 - name: zh-cn-lang
204 value: 向另一个应用发送用户
205 - name: zh-tw-lang
206 value: 將使用者傳送至其他應用程式
Elliot Waite20d6d772016-03-15 18:58:55 -0700207 - title: Getting a Result from the Activity
208 path: /training/basics/intents/result.html
Elliot Waite988248d2016-04-26 19:46:39 -0700209 path_attributes:
210 - name: ja-lang
211 value: アクティビティから結果を取得する
212 - name: ko-lang
213 value: 액티비티로부터 결과 가져오기
214 - name: pt-br-lang
215 value: Obtendo resultados de uma atividade
216 - name: ru-lang
217 value: Получение результата операции
218 - name: zh-cn-lang
219 value: 获取活动的结果
220 - name: zh-tw-lang
221 value: 從應用行為顯示取得結果
Elliot Waite20d6d772016-03-15 18:58:55 -0700222 - title: Allowing Other Apps to Start Your Activity
223 path: /training/basics/intents/filters.html
Elliot Waite988248d2016-04-26 19:46:39 -0700224 path_attributes:
225 - name: ja-lang
226 value: 他のアプリからのアクティビティの開始を許可する
227 - name: ko-lang
228 value: 다른 앱이 자신의 액티비티를 시작하도록 허용하기
229 - name: pt-br-lang
230 value: Permitindo que outros aplicativos iniciem sua atividade
231 - name: ru-lang
232 value: Разрешение другим приложениям на запуск вашей операции
233 - name: zh-cn-lang
234 value: 允许其他应用开始您的活动
235 - name: zh-tw-lang
236 value: 允許其他應用程式啟動您的應用行為顯示
Elliot Waite20d6d772016-03-15 18:58:55 -0700237 - title: Working with System Permissions
238 path: /training/permissions/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700239 path_attributes:
240 - name: description
241 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.
Elliot Waite20d6d772016-03-15 18:58:55 -0700242 section:
243 - title: Declaring Permissions
244 path: /training/permissions/declaring.html
245 - title: Requesting Permissions at Run Time
246 path: /training/permissions/requesting.html
247 - title: Best Practices for Runtime Permissions
248 path: /training/permissions/best-practices.html
249
250- title: Building Apps with Content Sharing
251 path: /training/building-content-sharing.html
252 section:
253 - title: Sharing Simple Data
254 path: /training/sharing/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700255 path_attributes:
256 - name: description
257 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.
Elliot Waite20d6d772016-03-15 18:58:55 -0700258 section:
259 - title: Sending Simple Data to Other Apps
260 path: /training/sharing/send.html
261 - title: Receiving Simple Data from Other Apps
262 path: /training/sharing/receive.html
263 - title: Adding an Easy Share Action
264 path: /training/sharing/shareaction.html
265 - title: Sharing Files
266 path: /training/secure-file-sharing/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700267 path_attributes:
268 - name: description
269 value: How to provide secure access to a file associated with your app using a content URI and temporary access permissions.
Elliot Waite20d6d772016-03-15 18:58:55 -0700270 section:
271 - title: Setting Up File Sharing
272 path: /training/secure-file-sharing/setup-sharing.html
273 - title: Sharing a File
274 path: /training/secure-file-sharing/share-file.html
275 - title: Requesting a Shared File
276 path: /training/secure-file-sharing/request-file.html
277 - title: Retrieving File Information
278 path: /training/secure-file-sharing/retrieve-info.html
279 - title: Sharing Files with NFC
280 path: /training/beam-files/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700281 path_attributes:
282 - name: description
283 value: How to transfer files between devices using the NFC Android Beam feature.
Elliot Waite20d6d772016-03-15 18:58:55 -0700284 section:
285 - title: Sending Files to Another Device
286 path: /training/beam-files/send-files.html
287 - title: Receiving Files from Another Device
288 path: /training/beam-files/receive-files.html
289
290- title: Building Apps with Multimedia
291 path: /training/building-multimedia.html
292 section:
293 - title: Managing Audio Playback
294 path: /training/managing-audio/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700295 path_attributes:
296 - name: description
297 value: How to respond to hardware audio key presses, request audio focus when playing audio, and respond appropriately to changes in audio focus.
Elliot Waite20d6d772016-03-15 18:58:55 -0700298 section:
299 - title: Controlling Your App's Volume and Playback
300 path: /training/managing-audio/volume-playback.html
301 - title: Managing Audio Focus
302 path: /training/managing-audio/audio-focus.html
303 - title: Dealing with Audio Output Hardware
304 path: /training/managing-audio/audio-output.html
305 - title: Capturing Photos
306 path: /training/camera/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700307 path_attributes:
308 - name: description
309 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.
Elliot Waite20d6d772016-03-15 18:58:55 -0700310 section:
311 - title: Taking Photos Simply
312 path: /training/camera/photobasics.html
313 - title: Recording Videos Simply
314 path: /training/camera/videobasics.html
315 - title: Controlling the Camera
316 path: /training/camera/cameradirect.html
317 - title: Printing Content
318 path: /training/printing/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700319 path_attributes:
320 - name: description
321 value: How to print photos, HTML documents, and custom documents from your app.
Elliot Waite20d6d772016-03-15 18:58:55 -0700322 section:
323 - title: Photos
324 path: /training/printing/photos.html
325 - title: HTML Documents
326 path: /training/printing/html-docs.html
327 - title: Custom Documents
328 path: /training/printing/custom-docs.html
329
330- title: Building Apps with Graphics & Animation
331 path: /training/building-graphics.html
332 section:
333 - title: Displaying Bitmaps Efficiently
334 path: /training/displaying-bitmaps/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700335 path_attributes:
336 - name: description
337 value: How to load and process bitmaps while keeping your user interface responsive and avoid exceeding memory limits.
Elliot Waite20d6d772016-03-15 18:58:55 -0700338 section:
339 - title: Loading Large Bitmaps Efficiently
340 path: /training/displaying-bitmaps/load-bitmap.html
341 - title: Processing Bitmaps Off the UI Thread
342 path: /training/displaying-bitmaps/process-bitmap.html
343 - title: Caching Bitmaps
344 path: /training/displaying-bitmaps/cache-bitmap.html
345 - title: Managing Bitmap Memory
346 path: /training/displaying-bitmaps/manage-memory.html
347 - title: Displaying Bitmaps in Your UI
348 path: /training/displaying-bitmaps/display-bitmap.html
349 - title: Displaying Graphics with OpenGL ES
350 path: /training/graphics/opengl/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700351 path_attributes:
352 - name: description
353 value: How to create OpenGL graphics within the Android app framework and respond to touch input.
Elliot Waite20d6d772016-03-15 18:58:55 -0700354 section:
355 - title: Building an OpenGL ES Environment
356 path: /training/graphics/opengl/environment.html
357 - title: Defining Shapes
358 path: /training/graphics/opengl/shapes.html
359 - title: Drawing Shapes
360 path: /training/graphics/opengl/draw.html
361 - title: Applying Projection and Camera Views
362 path: /training/graphics/opengl/projection.html
363 - title: Adding Motion
364 path: /training/graphics/opengl/motion.html
365 - title: Responding to Touch Events
366 path: /training/graphics/opengl/touch.html
367 - title: Animating Views Using Scenes and Transitions
368 path: /training/transitions/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700369 path_attributes:
370 - name: description
371 value: How to animate state changes in a view hierarchy using transitions.
Elliot Waite20d6d772016-03-15 18:58:55 -0700372 section:
373 - title: The Transitions Framework
374 path: /training/transitions/overview.html
375 - title: Creating a Scene
376 path: /training/transitions/scenes.html
377 - title: Applying a Transition
378 path: /training/transitions/transitions.html
379 - title: Creating Custom Transitions
380 path: /training/transitions/custom-transitions.html
381 - title: Adding Animations
382 path: /training/animation/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700383 path_attributes:
384 - name: description
385 value: How to add transitional animations to your user interface.
Elliot Waite20d6d772016-03-15 18:58:55 -0700386 section:
387 - title: Crossfading Two Views
388 path: /training/animation/crossfade.html
389 - title: Using ViewPager for Screen Slide
390 path: /training/animation/screen-slide.html
391 - title: Displaying Card Flip Animations
392 path: /training/animation/cardflip.html
393 - title: Zooming a View
394 path: /training/animation/zoom.html
395 - title: Animating Layout Changes
396 path: /training/animation/layout.html
397
398- title: Building Apps with Connectivity & the Cloud
399 path: /training/building-connectivity.html
400 section:
401 - title: Connecting Devices Wirelessly
402 path: /training/connect-devices-wirelessly/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700403 path_attributes:
404 - name: description
405 value: How to find and connect to local devices using Network Service Discovery and how to create peer-to-peer connections with Wi-Fi.
Elliot Waite20d6d772016-03-15 18:58:55 -0700406 section:
407 - title: Using Network Service Discovery
408 path: /training/connect-devices-wirelessly/nsd.html
409 - title: Creating P2P Connections with Wi-Fi
410 path: /training/connect-devices-wirelessly/wifi-direct.html
411 - title: Using Wi-Fi P2P for Service Discovery
412 path: /training/connect-devices-wirelessly/nsd-wifi-direct.html
413 - title: Performing Network Operations
414 path: /training/basics/network-ops/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700415 path_attributes:
416 - name: description
417 value: How to create a network connection, monitor the connection for changes in connectivity, and perform transactions with XML data.
Elliot Waite20d6d772016-03-15 18:58:55 -0700418 section:
419 - title: Connecting to the Network
420 path: /training/basics/network-ops/connecting.html
421 - title: Managing Network Usage
422 path: /training/basics/network-ops/managing.html
423 - title: Parsing XML Data
424 path: /training/basics/network-ops/xml.html
425 - title: Transferring Data Without Draining the Battery
426 path: /training/efficient-downloads/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700427 path_attributes:
428 - name: description
429 value: How to minimize your app's impact on the battery when performing downloads and other network transactions.
Elliot Waite20d6d772016-03-15 18:58:55 -0700430 section:
431 - title: Optimizing Downloads for Efficient Network Access
432 path: /training/efficient-downloads/efficient-network-access.html
433 - title: Minimizing the Effect of Regular Updates
434 path: /training/efficient-downloads/regular_updates.html
435 - title: Redundant Downloads are Redundant
436 path: /training/efficient-downloads/redundant_redundant.html
437 - title: Modifying Patterns Based on the Connectivity Type
438 path: /training/efficient-downloads/connectivity_patterns.html
439 - title: Syncing to the Cloud
440 path: /training/backup/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700441 path_attributes:
442 - name: description
443 value: 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.
Elliot Waite20d6d772016-03-15 18:58:55 -0700444 section:
445 - title: Configuring Auto Backup
446 path: /training/backup/autosyncapi.html
447 - title: Using the Backup API
448 path: /training/backup/backupapi.html
449 - title: Resolving Cloud Save Conflicts
450 path: /training/cloudsave/conflict-res.html
Elliot Waite988248d2016-04-26 19:46:39 -0700451 path_attributes:
452 - name: description
453 value: How to design a robust conflict resolution strategy for apps that save data to the cloud.
Elliot Waite20d6d772016-03-15 18:58:55 -0700454 - title: Transferring Data Using Sync Adapters
455 path: /training/sync-adapters/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700456 path_attributes:
457 - name: description
458 value: How to transfer data between the cloud and the device using the Android sync adapter framework
Elliot Waite20d6d772016-03-15 18:58:55 -0700459 section:
460 - title: Creating a Stub Authenticator
461 path: /training/sync-adapters/creating-authenticator.html
462 - title: Creating a Stub Content Provider
463 path: /training/sync-adapters/creating-stub-provider.html
464 - title: Creating a Sync Adapter
465 path: /training/sync-adapters/creating-sync-adapter.html
466 - title: Running a Sync Adapter
467 path: /training/sync-adapters/running-sync-adapter.html
468 - title: Transmitting Network Data Using Volley
469 path: /training/volley/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700470 path_attributes:
471 - name: description
472 value: How to perform fast, scalable UI operations over the network using Volley
Elliot Waite20d6d772016-03-15 18:58:55 -0700473 section:
474 - title: Sending a Simple Request
475 path: /training/volley/simple.html
476 - title: Setting Up a RequestQueue
477 path: /training/volley/requestqueue.html
478 - title: Making a Standard Request
479 path: /training/volley/request.html
480 - title: Implementing a Custom Request
481 path: /training/volley/request-custom.html
482
483- title: Building Apps with Location & Maps
484 path: /training/building-location.html
485 section:
486 - title: Making Your App Location-Aware
487 path: /training/location/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700488 path_attributes:
489 - name: description
490 value: How to add location-aware features to your app by getting the user's current location.
Elliot Waite20d6d772016-03-15 18:58:55 -0700491 section:
492 - title: Getting the Last Known Location
493 path: /training/location/retrieve-current.html
494 - title: Changing Location Settings
495 path: /training/location/change-location-settings.html
496 - title: Receiving Location Updates
497 path: /training/location/receive-location-updates.html
498 - title: Displaying a Location Address
499 path: /training/location/display-address.html
500 - title: Creating and Monitoring Geofences
501 path: /training/location/geofencing.html
502 - title: Adding Maps
503 path: /training/maps/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700504 path_attributes:
505 - name: description
506 value: How to add maps and mapping information to your app.
Elliot Waite20d6d772016-03-15 18:58:55 -0700507
508- title: Building Apps with User Info & Sign-In
509 path: /training/building-userinfo.html
510 section:
511 - title: Accessing Contacts Data
512 path: /training/contacts-provider/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700513 path_attributes:
514 - name: description
515 value: How to use Android's central address book, the Contacts Provider, to display contacts and their details and modify contact information.
Elliot Waite20d6d772016-03-15 18:58:55 -0700516 section:
517 - title: Retrieving a List of Contacts
518 path: /training/contacts-provider/retrieve-names.html
519 - title: Retrieving Details for a Contact
520 path: /training/contacts-provider/retrieve-details.html
521 - title: Modifying Contacts Using Intents
522 path: /training/contacts-provider/modify-data.html
523 - title: Displaying the Quick Contact Badge
524 path: /training/contacts-provider/display-contact-badge.html
525 - title: Adding Sign-In
526 path: /training/sign-in/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700527 path_attributes:
528 - name: description
529 value: How to add user sign-in functionality to your app.
Elliot Waite20d6d772016-03-15 18:58:55 -0700530
531- title: Building Apps for Wearables
532 path: /training/building-wearables.html
533 section:
534 - title: Adding Wearable Features to Notifications
535 path: /training/wearables/notifications/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700536 path_attributes:
537 - name: description
538 value: How to build handheld notifications that are synced to and look great on wearables.
Elliot Waite20d6d772016-03-15 18:58:55 -0700539 section:
540 - title: Creating a Notification
541 path: /training/wearables/notifications/creating.html
542 - title: Receiving Voice Input in a Notification
543 path: /training/wearables/notifications/voice-input.html
544 - title: Adding Pages to a Notification
545 path: /training/wearables/notifications/pages.html
546 - title: Stacking Notifications
547 path: /training/wearables/notifications/stacks.html
548 - title: Creating Wearable Apps
549 path: /training/wearables/apps/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700550 path_attributes:
551 - name: description
552 value: How to build apps that run directly on wearables.
Elliot Waite20d6d772016-03-15 18:58:55 -0700553 section:
554 - title: Creating and Running a Wearable App
555 path: /training/wearables/apps/creating.html
556 - title: Creating Custom Layouts
557 path: /training/wearables/apps/layouts.html
558 - title: Keeping Your App Visible
559 path: /training/wearables/apps/always-on.html
560 - title: Adding Voice Capabilities
561 path: /training/wearables/apps/voice.html
562 - title: Packaging Wearable Apps
563 path: /training/wearables/apps/packaging.html
564 - title: Debugging over Bluetooth
565 path: /training/wearables/apps/bt-debugging.html
566 - title: Creating Custom UIs
567 path: /training/wearables/ui/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700568 path_attributes:
569 - name: description
570 value: How to create custom user interfaces for wearable apps.
Elliot Waite20d6d772016-03-15 18:58:55 -0700571 section:
572 - title: Defining Layouts
573 path: /training/wearables/ui/layouts.html
574 - title: Creating Cards
575 path: /training/wearables/ui/cards.html
576 - title: Creating Lists
577 path: /training/wearables/ui/lists.html
578 - title: Creating a 2D Picker
579 path: /training/wearables/ui/2d-picker.html
580 - title: Showing Confirmations
581 path: /training/wearables/ui/confirm.html
582 - title: Exiting Full-Screen Activities
583 path: /training/wearables/ui/exit.html
584 - title: Sending and Syncing Data
585 path: /training/wearables/data-layer/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700586 path_attributes:
587 - name: description
588 value: How to sync data between handhelds and wearables.
Elliot Waite20d6d772016-03-15 18:58:55 -0700589 section:
590 - title: Accessing the Wearable Data Layer
591 path: /training/wearables/data-layer/accessing.html
592 - title: Syncing Data Items
593 path: /training/wearables/data-layer/data-items.html
594 - title: Transferring Assets
595 path: /training/wearables/data-layer/assets.html
596 - title: Sending and Receiving Messages
597 path: /training/wearables/data-layer/messages.html
598 - title: Handling Data Layer Events
599 path: /training/wearables/data-layer/events.html
600 - title: Creating Watch Faces
601 path: /training/wearables/watch-faces/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700602 path_attributes:
603 - name: description
604 value: How to create watch faces for wearables.
Elliot Waite20d6d772016-03-15 18:58:55 -0700605 section:
606 - title: Designing Watch Faces
607 path: /training/wearables/watch-faces/designing.html
608 - title: Building a Watch Face Service
609 path: /training/wearables/watch-faces/service.html
610 - title: Drawing Watch Faces
611 path: /training/wearables/watch-faces/drawing.html
612 - title: Showing Information in Watch Faces
613 path: /training/wearables/watch-faces/information.html
614 - title: Creating Interactive Watch Faces
615 path: /training/wearables/watch-faces/interacting.html
616 - title: Providing Configuration Activities
617 path: /training/wearables/watch-faces/configuration.html
618 - title: Addressing Common Issues
619 path: /training/wearables/watch-faces/issues.html
620 - title: Optimizing Performance and Battery Life
621 path: /training/wearables/watch-faces/performance.html
622 - title: Detecting Location
623 path: /training/articles/wear-location-detection.html
Elliot Waite988248d2016-04-26 19:46:39 -0700624 path_attributes:
625 - name: description
626 value: How to detect location data on Android Wear devices.
Elliot Waite20d6d772016-03-15 18:58:55 -0700627 - title: Requesting Permissions
628 path: /training/articles/wear-permissions.html
Elliot Waite988248d2016-04-26 19:46:39 -0700629 path_attributes:
630 - name: description
631 value: How to request permissions on Android Wear devices.
Elliot Waite20d6d772016-03-15 18:58:55 -0700632 - title: Using the Speaker
633 path: /training/wearables/wearable-sounds.html
Elliot Waite988248d2016-04-26 19:46:39 -0700634 path_attributes:
635 - name: description
636 value: How to use the speaker on Android Wear devices.
Elliot Waite20d6d772016-03-15 18:58:55 -0700637
638- title: Building Apps for TV
639 path: /training/tv/index.html
640 section:
641 - title: Building TV Apps
642 path: /training/tv/start/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700643 path_attributes:
644 - name: ja-lang
645 value: TV アプリのビルド
646 - name: description
647 value: How to start building TV apps or extend your existing app to run on TV devices.
Elliot Waite20d6d772016-03-15 18:58:55 -0700648 section:
649 - title: Getting Started with TV Apps
650 path: /training/tv/start/start.html
Elliot Waite988248d2016-04-26 19:46:39 -0700651 path_attributes:
652 - name: ja-lang
653 value: TV アプリのビルドを開始する
Elliot Waite20d6d772016-03-15 18:58:55 -0700654 - title: Handling TV Hardware
655 path: /training/tv/start/hardware.html
Elliot Waite988248d2016-04-26 19:46:39 -0700656 path_attributes:
657 - name: ja-lang
658 value: TV ハードウェアを処理する
Elliot Waite20d6d772016-03-15 18:58:55 -0700659 - title: Building TV Layouts
660 path: /training/tv/start/layouts.html
Elliot Waite988248d2016-04-26 19:46:39 -0700661 path_attributes:
662 - name: ja-lang
663 value: TV 向けレイアウトをビルドする
Elliot Waite20d6d772016-03-15 18:58:55 -0700664 - title: Creating TV Navigation
665 path: /training/tv/start/navigation.html
Elliot Waite988248d2016-04-26 19:46:39 -0700666 path_attributes:
667 - name: ja-lang
668 value: TV 用のナビゲーションを作成する
Elliot Waite20d6d772016-03-15 18:58:55 -0700669 - title: Building TV Playback Apps
670 path: /training/tv/playback/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700671 path_attributes:
672 - name: ja-lang
673 value: TV 再生アプリのビルド
674 - name: description
675 value: How to build apps that provide media catalogs and play content.
Elliot Waite20d6d772016-03-15 18:58:55 -0700676 section:
677 - title: Creating a Catalog Browser
678 path: /training/tv/playback/browse.html
Elliot Waite988248d2016-04-26 19:46:39 -0700679 path_attributes:
680 - name: ja-lang
681 value: カタログ ブラウザを作成する
Elliot Waite20d6d772016-03-15 18:58:55 -0700682 - title: Providing a Card View
683 path: /training/tv/playback/card.html
684 - title: Building a Details View
685 path: /training/tv/playback/details.html
Elliot Waite988248d2016-04-26 19:46:39 -0700686 path_attributes:
687 - name: ja-lang
688 value: 詳細ビューをビルドする
Elliot Waite20d6d772016-03-15 18:58:55 -0700689 - title: Displaying a Now Playing Card
690 path: /training/tv/playback/now-playing.html
Elliot Waite988248d2016-04-26 19:46:39 -0700691 path_attributes:
692 - name: ja-lang
693 value: 再生中カードを表示する
Elliot Waite20d6d772016-03-15 18:58:55 -0700694 - title: Adding a Guided Step
695 path: /training/tv/playback/guided-step.html
696 - title: Enabling Background Playback
697 path: /training/tv/playback/options.html
698 - title: Helping Users Find Content on TV
699 path: /training/tv/discovery/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700700 path_attributes:
701 - name: description
702 value: How to help users discover content from your app.
Elliot Waite20d6d772016-03-15 18:58:55 -0700703 section:
704 - title: Recommending TV Content
705 path: /training/tv/discovery/recommendations.html
706 - title: Making TV Apps Searchable
707 path: /training/tv/discovery/searchable.html
708 - title: Searching within TV Apps
709 path: /training/tv/discovery/in-app-search.html
710 - title: Building TV Games
711 path: /training/tv/games/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700712 path_attributes:
713 - name: description
714 value: How to build games for TV.
Elliot Waite20d6d772016-03-15 18:58:55 -0700715 - title: Building TV Channels
716 path: /training/tv/tif/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700717 path_attributes:
718 - name: description
719 value: How to build channels for TV.
Elliot Waite20d6d772016-03-15 18:58:55 -0700720 section:
721 - title: Developing a TV Input Service
722 path: /training/tv/tif/tvinput.html
723 - title: Working with Channel Data
724 path: /training/tv/tif/channel.html
725 - title: Managing User Interaction
726 path: /training/tv/tif/ui.html
727 - title: TV Apps Checklist
728 path: /training/tv/publishing/checklist.html
Elliot Waite988248d2016-04-26 19:46:39 -0700729 path_attributes:
730 - name: description
731 value: An itemized list of requirements for TV apps.
Elliot Waite20d6d772016-03-15 18:58:55 -0700732
733- title: Building Apps for Auto
734 path: /training/auto/index.html
735 section:
736 - title: Getting Started with Auto
737 path: /training/auto/start/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700738 path_attributes:
739 - name: description
740 value: How to start building or extending apps that work with Auto devices.
Elliot Waite20d6d772016-03-15 18:58:55 -0700741 - title: Playing Audio for Auto
742 path: /training/auto/audio/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700743 path_attributes:
744 - name: description
745 value: How to extend audio apps to play content on Auto devices.
Elliot Waite20d6d772016-03-15 18:58:55 -0700746 - title: Messaging for Auto
747 path: /training/auto/messaging/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700748 path_attributes:
749 - name: description
750 value: How to extend text messaging apps to work with Auto devices.
sreevaniseb41bc02016-02-03 11:07:53 -0800751 - title: Testing for Auto
752 path: /training/auto/testing/index.html
753 path_attributes:
754 - name: description
755 value: How to use DHU to test Auto apps.
Elliot Waite20d6d772016-03-15 18:58:55 -0700756
Elliot Waite20d6d772016-03-15 18:58:55 -0700757- title: Best Practices for Interaction & Engagement
758 path: /training/best-ux.html
759 section:
760 - title: Designing Effective Navigation
761 path: /training/design-navigation/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700762 path_attributes:
763 - name: description
764 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.
Elliot Waite20d6d772016-03-15 18:58:55 -0700765 section:
766 - title: Planning Screens and Their Relationships
767 path: /training/design-navigation/screen-planning.html
768 - title: Planning for Multiple Touchscreen Sizes
769 path: /training/design-navigation/multiple-sizes.html
770 - title: Providing Descendant and Lateral Navigation
771 path: /training/design-navigation/descendant-lateral.html
772 - title: Providing Ancestral and Temporal Navigation
773 path: /training/design-navigation/ancestral-temporal.html
774 - title: "Putting it All Together: Wireframing the Example App"
775 path: /training/design-navigation/wireframing.html
776 - title: Implementing Effective Navigation
777 path: /training/implementing-navigation/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700778 path_attributes:
779 - name: description
780 value: How to implement various navigation patterns such as swipe views, a navigation drawer, and up navigation.
Elliot Waite20d6d772016-03-15 18:58:55 -0700781 section:
782 - title: Creating Swipe Views with Tabs
783 path: /training/implementing-navigation/lateral.html
784 - title: Creating a Navigation Drawer
785 path: /training/implementing-navigation/nav-drawer.html
786 - title: Providing Up Navigation
787 path: /training/implementing-navigation/ancestral.html
788 - title: Providing Proper Back Navigation
789 path: /training/implementing-navigation/temporal.html
790 - title: Implementing Descendant Navigation
791 path: /training/implementing-navigation/descendant.html
792 - title: Notifying the User
793 path: /training/notify-user/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700794 path_attributes:
795 - name: description
796 value: How to display messages called notifications outside of your application's UI.
Elliot Waite20d6d772016-03-15 18:58:55 -0700797 section:
798 - title: Building a Notification
799 path: /training/notify-user/build-notification.html
800 - title: Preserving Navigation when Starting an Activity
801 path: /training/notify-user/navigation.html
802 - title: Updating Notifications
803 path: /training/notify-user/managing.html
804 - title: Using Big View Styles
805 path: /training/notify-user/expanded.html
806 - title: Displaying Progress in a Notification
807 path: /training/notify-user/display-progress.html
808 - title: Supporting Swipe-to-Refresh
809 path: /training/swipe/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700810 path_attributes:
811 - name: description
812 value: How to modify your app's layout to support manual content updates triggered by the swipe-to-refresh gesture.
Elliot Waite20d6d772016-03-15 18:58:55 -0700813 section:
814 - title: Adding Swipe-to-Refresh To Your App
815 path: /training/swipe/add-swipe-interface.html
816 - title: Responding to a Refresh Gesture
817 path: /training/swipe/respond-refresh-request.html
818 - title: Adding Search Functionality
819 path: /training/search/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700820 path_attributes:
821 - name: description
822 value: How to properly add a search interface to your app and create a searchable database.
Elliot Waite20d6d772016-03-15 18:58:55 -0700823 section:
824 - title: Setting up the Search Interface
825 path: /training/search/setup.html
826 - title: Storing and Searching for Data
827 path: /training/search/search.html
828 - title: Remaining Backward Compatible
829 path: /training/search/backward-compat.html
830 - title: Making Your App Content Searchable by Google
831 path: /training/app-indexing/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700832 path_attributes:
833 - name: description
834 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.
Elliot Waite20d6d772016-03-15 18:58:55 -0700835 section:
836 - title: Enabling Deep Links for App Content
837 path: /training/app-indexing/deep-linking.html
838 - title: Specifying App Content for Indexing
839 path: /training/app-indexing/enabling-app-indexing.html
840 - title: Optimizing Content for the Assistant
841 path: /training/articles/assistant.html
Elliot Waite988248d2016-04-26 19:46:39 -0700842 path_attributes:
843 - name: description
844 value: Support contextually relevant actions through the Assist API.
Elliot Waite20d6d772016-03-15 18:58:55 -0700845 - title: Handling App Links
846 path: /training/app-links/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700847 path_attributes:
848 - name: description
849 value: How to enable the system to handle web requests by taking the user directly to your app instead of your website.
Elliot Waite20d6d772016-03-15 18:58:55 -0700850
851- title: Best Practices for User Interface
852 path: /training/best-ui.html
853 section:
854 - title: Designing for Multiple Screens
855 path: /training/multiscreen/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700856 path_attributes:
857 - name: es-lang
858 value: Cómo diseñar aplicaciones para varias pantallas
859 - name: ja-lang
860 value: 複数画面のデザイン
861 - name: zh-cn-lang
862 value: 针对多种屏幕进行设计
863 - name: description
864 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.
Elliot Waite20d6d772016-03-15 18:58:55 -0700865 section:
866 - title: Supporting Different Screen Sizes
867 path: /training/multiscreen/screensizes.html
Elliot Waite988248d2016-04-26 19:46:39 -0700868 path_attributes:
869 - name: es-lang
870 value: Cómo admitir varios tamaños de pantalla
871 - name: ja-lang
872 value: さまざまな画面サイズのサポート
873 - name: ko-lang
874 value: 다양한 화면 크기 지원
875 - name: zh-cn-lang
876 value: 支持各种屏幕尺寸
Elliot Waite20d6d772016-03-15 18:58:55 -0700877 - title: Supporting Different Screen Densities
878 path: /training/multiscreen/screendensities.html
Elliot Waite988248d2016-04-26 19:46:39 -0700879 path_attributes:
880 - name: es-lang
881 value: Cómo admitir varias densidades de pantalla
882 - name: ja-lang
883 value: さまざまな画面密度のサポート
884 - name: zh-cn-lang
885 value: 支持各种屏幕密度
Elliot Waite20d6d772016-03-15 18:58:55 -0700886 - title: Implementing Adaptive UI Flows
887 path: /training/multiscreen/adaptui.html
Elliot Waite988248d2016-04-26 19:46:39 -0700888 path_attributes:
889 - name: es-lang
890 value: Cómo implementar interfaces de usuario adaptables
891 - name: ja-lang
892 value: 順応性のある UI フローの実装
893 - name: zh-cn-lang
894 value: 实施自适应用户界面流程
Elliot Waite20d6d772016-03-15 18:58:55 -0700895 - title: Adding the App Bar
896 path: /training/appbar/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700897 path_attributes:
898 - name: description
899 value: How to use the support library's toolbar widget to implement an app bar that displays properly on a wide range of devices.
Elliot Waite20d6d772016-03-15 18:58:55 -0700900 section:
901 - title: Setting Up the App Bar
902 path: /training/appbar/setting-up.html
903 - title: Adding and Handling Actions
904 path: /training/appbar/actions.html
905 - title: Adding an Up Action
906 path: /training/appbar/up-action.html
907 - title: Action Views and Action Providers
908 path: /training/appbar/action-views.html
909 - title: Showing Pop-Up Messages
910 path: /training/snackbar/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700911 path_attributes:
912 - name: description
913 value: How to use the support library's Snackbar widget to display a brief pop-up message.
Elliot Waite20d6d772016-03-15 18:58:55 -0700914 section:
915 - title: Building and Displaying a Pop-Up Message
916 path: /training/snackbar/showing.html
917 - title: Adding an Action to a Message
918 path: /training/snackbar/action.html
919 - title: Creating Custom Views
920 path: /training/custom-views/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700921 path_attributes:
922 - name: description
923 value: How to build custom UI widgets that are interactive and smooth.
Elliot Waite20d6d772016-03-15 18:58:55 -0700924 section:
925 - title: Creating a Custom View Class
926 path: /training/custom-views/create-view.html
927 - title: Implementing Custom Drawing
928 path: /training/custom-views/custom-drawing.html
929 - title: Making the View Interactive
930 path: /training/custom-views/making-interactive.html
931 - title: Optimizing the View
932 path: /training/custom-views/optimizing-view.html
933 - title: Creating Backward-Compatible UIs
934 path: /training/backward-compatible-ui/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700935 path_attributes:
936 - name: description
937 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.
Elliot Waite20d6d772016-03-15 18:58:55 -0700938 section:
939 - title: Abstracting the New APIs
940 path: /training/backward-compatible-ui/abstracting.html
941 - title: Proxying to the New APIs
942 path: /training/backward-compatible-ui/new-implementation.html
943 - title: Creating an Implementation with Older APIs
944 path: /training/backward-compatible-ui/older-implementation.html
945 - title: Using the Version-Aware Component
946 path: /training/backward-compatible-ui/using-component.html
947 - title: Implementing Accessibility
948 path: /training/accessibility/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700949 path_attributes:
950 - name: description
951 value: How to make your app accessible to users with vision impairment or other physical disabilities.
Elliot Waite20d6d772016-03-15 18:58:55 -0700952 section:
953 - title: Developing Accessible Applications
954 path: /training/accessibility/accessible-app.html
955 - title: Developing Accessibility Services
956 path: /training/accessibility/service.html
957 - title: Accessibility Testing Checklist
958 path: /training/accessibility/testing.html
959 - title: Managing the System UI
960 path: /training/system-ui/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700961 path_attributes:
962 - name: description
963 value: How to hide and show status and navigation bars across different versions of Android, while managing the display of other screen components.
Elliot Waite20d6d772016-03-15 18:58:55 -0700964 section:
965 - title: Dimming the System Bars
966 path: /training/system-ui/dim.html
967 - title: Hiding the Status Bar
968 path: /training/system-ui/status.html
969 - title: Hiding the Navigation Bar
970 path: /training/system-ui/navigation.html
971 - title: Using Immersive Full-Screen Mode
972 path: /training/system-ui/immersive.html
973 - title: Responding to UI Visibility Changes
974 path: /training/system-ui/visibility.html
975 - title: Creating Apps with Material Design
976 path: /training/material/index.html
Elliot Waite988248d2016-04-26 19:46:39 -0700977 path_attributes:
978 - name: es-lang
979 value: Crear aplicaciones con Material Design
980 - name: in-lang
981 value: Desain Bahan untuk Pengembang
982 - name: ja-lang
983 value: マテリアル デザインでのアプリ作成
984 - name: ko-lang
985 value: 개발자를 위한 머티리얼 디자인
986 - name: pt-br-lang
987 value: Material Design para desenvolvedores
988 - name: ru-lang
989 value: Создание приложений с помощью Material Design
990 - name: vi-lang
991 value: Material Design cho Nhà phát triển
992 - name: zh-cn-lang
993 value: 面向开发者的材料设计
994 - name: zh-tw-lang
995 value: 開發人員材料設計
996 - name: description
997 value: How to implement material design on Android.
Elliot Waite20d6d772016-03-15 18:58:55 -0700998 section:
999 - title: Getting Started
1000 path: /training/material/get-started.html
Elliot Waite988248d2016-04-26 19:46:39 -07001001 path_attributes:
1002 - name: es-lang
1003 value: Comencemos
1004 - name: in-lang
1005 value: Memulai
1006 - name: ja-lang
1007 value: スタート ガイド
1008 - name: ko-lang
1009 value: 시작하기
1010 - name: pt-br-lang
1011 value: Como iniciar
1012 - name: ru-lang
1013 value: Начало работы
1014 - name: vi-lang
1015 value: Bắt đầu
1016 - name: zh-cn-lang
1017 value: 入门指南
1018 - name: zh-tw-lang
1019 value: 開始使用
Elliot Waite20d6d772016-03-15 18:58:55 -07001020 - title: Using the Material Theme
1021 path: /training/material/theme.html
Elliot Waite988248d2016-04-26 19:46:39 -07001022 path_attributes:
1023 - name: es-lang
1024 value: Usar el tema Material
1025 - name: in-lang
1026 value: Menggunakan Tema Bahan
1027 - name: ja-lang
1028 value: マテリアル テーマの使用
1029 - name: ko-lang
1030 value: 머티어리얼 테마 사용
1031 - name: pt-br-lang
1032 value: Como usar o tema do Material
1033 - name: ru-lang
1034 value: Использование темы Material Design
1035 - name: vi-lang
1036 value: Sử dụng Chủ đề Material
1037 - name: zh-cn-lang
1038 value: 使用材料主题
1039 - name: zh-tw-lang
1040 value: 使用材料設計風格
Elliot Waite20d6d772016-03-15 18:58:55 -07001041 - title: Creating Lists and Cards
1042 path: /training/material/lists-cards.html
Elliot Waite988248d2016-04-26 19:46:39 -07001043 path_attributes:
1044 - name: es-lang
1045 value: Crear listas y tarjetas
1046 - name: in-lang
1047 value: Membuat Daftar dan Kartu
1048 - name: ja-lang
1049 value: リストとカードの作成
1050 - name: ko-lang
1051 value: 목록 및 카드 생성
1052 - name: pt-br-lang
1053 value: Como criar listas e cartões
1054 - name: ru-lang
1055 value: Создание списков и подсказок
1056 - name: vi-lang
1057 value: Tạo Danh sách và Thẻ
1058 - name: zh-cn-lang
1059 value: 创建列表与卡片
1060 - name: zh-tw-lang
1061 value: 建立清單和卡片
Elliot Waite20d6d772016-03-15 18:58:55 -07001062 - title: Defining Shadows and Clipping Views
1063 path: /training/material/shadows-clipping.html
Elliot Waite988248d2016-04-26 19:46:39 -07001064 path_attributes:
1065 - name: es-lang
1066 value: Definir vistas de recorte y sombras
1067 - name: in-lang
1068 value: Mendefinisikan Bayangan dan Memangkas Tampilan
1069 - name: ja-lang
1070 value: シャドウとクリッピング ビューの定義
1071 - name: ko-lang
1072 value: 그림자 정의 및 뷰 클리핑
1073 - name: pt-br-lang
1074 value: Como definir sombras e recortar visualizações
1075 - name: ru-lang
1076 value: Определение теней и обрезка представлений
1077 - name: vi-lang
1078 value: Định nghĩa Đổ bóng và Dạng xem Cắt hình
1079 - name: zh-cn-lang
1080 value: 定义阴影与裁剪视图
1081 - name: zh-tw-lang
1082 value: 定義陰影和裁剪檢視
Elliot Waite20d6d772016-03-15 18:58:55 -07001083 - title: Working with Drawables
1084 path: /training/material/drawables.html
Elliot Waite988248d2016-04-26 19:46:39 -07001085 path_attributes:
1086 - name: es-lang
1087 value: Trabajar con interfaces dibujables
1088 - name: in-lang
1089 value: Bekerja dengan Drawable
1090 - name: ja-lang
1091 value: ドローアブルの使用
1092 - name: ko-lang
1093 value: Drawable 사용
1094 - name: pt-br-lang
1095 value: Como trabalhar com desenháveis
1096 - name: ru-lang
1097 value: Работа с элементами дизайна
1098 - name: vi-lang
1099 value: Làm việc với Nội dung vẽ được
1100 - name: zh-cn-lang
1101 value: 使用 Drawables
1102 - name: zh-tw-lang
1103 value: 使用可繪項目
Elliot Waite20d6d772016-03-15 18:58:55 -07001104 - title: Defining Custom Animations
1105 path: /training/material/animations.html
Elliot Waite988248d2016-04-26 19:46:39 -07001106 path_attributes:
1107 - name: es-lang
1108 value: Definir animaciones personalizadas
1109 - name: in-lang
1110 value: Mendefinisikan Animasi Custom
1111 - name: ja-lang
1112 value: カスタム アニメーションの定義
1113 - name: ko-lang
1114 value: 사용자지정 애니메이션 정의
1115 - name: pt-br-lang
1116 value: Como definir animações personalizadas
1117 - name: ru-lang
1118 value: Определение настраиваемой анимации
1119 - name: vi-lang
1120 value: Định nghĩa Hoạt hình Tùy chỉnh
1121 - name: zh-cn-lang
1122 value: 定义定制动画
1123 - name: zh-tw-lang
1124 value: 定義自訂動畫
Elliot Waite20d6d772016-03-15 18:58:55 -07001125 - title: Maintaining Compatibility
1126 path: /training/material/compatibility.html
Elliot Waite988248d2016-04-26 19:46:39 -07001127 path_attributes:
1128 - name: es-lang
1129 value: Mantener la compatibilidad
1130 - name: in-lang
1131 value: Mempertahankan Kompatibilitas
1132 - name: ja-lang
1133 value: 互換性の維持
1134 - name: ko-lang
1135 value: 호환성 유지
1136 - name: pt-br-lang
1137 value: Como manter a compatibilidade
1138 - name: ru-lang
1139 value: Обеспечение совместимости
1140 - name: vi-lang
1141 value: Duy trì Tính tương thích
1142 - name: zh-cn-lang
1143 value: 维护兼容性
1144 - name: zh-tw-lang
1145 value: 維持相容性
Elliot Waite20d6d772016-03-15 18:58:55 -07001146
1147- title: Best Practices for User Input
1148 path: /training/best-user-input.html
1149 section:
1150 - title: Using Touch Gestures
1151 path: /training/gestures/index.html
Elliot Waite988248d2016-04-26 19:46:39 -07001152 path_attributes:
1153 - name: description
1154 value: How to write apps that allow users to interact with the touch screen via touch gestures.
Elliot Waite20d6d772016-03-15 18:58:55 -07001155 section:
1156 - title: Detecting Common Gestures
1157 path: /training/gestures/detector.html
1158 - title: Tracking Movement
1159 path: /training/gestures/movement.html
1160 - title: Animating a Scroll Gesture
1161 path: /training/gestures/scroll.html
1162 - title: Handling Multi-Touch Gestures
1163 path: /training/gestures/multi.html
1164 - title: Dragging and Scaling
1165 path: /training/gestures/scale.html
1166 - title: Managing Touch Events in a ViewGroup
1167 path: /training/gestures/viewgroup.html
1168 - title: Handling Keyboard Input
1169 path: /training/keyboard-input/index.html
Elliot Waite988248d2016-04-26 19:46:39 -07001170 path_attributes:
1171 - name: description
1172 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.
Elliot Waite20d6d772016-03-15 18:58:55 -07001173 section:
1174 - title: Specifying the Input Method Type
1175 path: /training/keyboard-input/style.html
1176 - title: Handling Input Method Visibility
1177 path: /training/keyboard-input/visibility.html
1178 - title: Supporting Keyboard Navigation
1179 path: /training/keyboard-input/navigation.html
1180 - title: Handling Keyboard Actions
1181 path: /training/keyboard-input/commands.html
1182 - title: Supporting Game Controllers
1183 path: /training/game-controllers/index.html
Elliot Waite988248d2016-04-26 19:46:39 -07001184 path_attributes:
1185 - name: description
1186 value: How to write apps that support game controllers.
Elliot Waite20d6d772016-03-15 18:58:55 -07001187 section:
1188 - title: Handling Controller Actions
1189 path: /training/game-controllers/controller-input.html
1190 - title: Supporting Controllers Across Android Versions
1191 path: /training/game-controllers/compatibility.html
1192 - title: Supporting Multiple Game Controllers
1193 path: /training/game-controllers/multiple-controllers.html
1194
1195- title: Best Practices for Background Jobs
1196 path: /training/best-background.html
1197 section:
1198 - title: Running in a Background Service
1199 path: /training/run-background-service/index.html
Elliot Waite988248d2016-04-26 19:46:39 -07001200 path_attributes:
1201 - name: description
1202 value: How to improve UI performance and responsiveness by sending work to a Service running in the background
Elliot Waite20d6d772016-03-15 18:58:55 -07001203 section:
1204 - title: Creating a Background Service
1205 path: /training/run-background-service/create-service.html
1206 - title: Sending Work Requests to the Background Service
1207 path: /training/run-background-service/send-request.html
1208 - title: Reporting Work Status
1209 path: /training/run-background-service/report-status.html
1210 - title: Loading Data in the Background
1211 path: /training/load-data-background/index.html
Elliot Waite988248d2016-04-26 19:46:39 -07001212 path_attributes:
1213 - name: description
1214 value: How to use CursorLoader to query data without affecting UI responsiveness.
Elliot Waite20d6d772016-03-15 18:58:55 -07001215 section:
1216 - title: Running a Query with a CursorLoader
1217 path: /training/load-data-background/setup-loader.html
1218 - title: Handling the Results
1219 path: /training/load-data-background/handle-results.html
1220 - title: Managing Device Awake State
1221 path: /training/scheduling/index.html
Elliot Waite988248d2016-04-26 19:46:39 -07001222 path_attributes:
1223 - name: description
1224 value: How to use repeating alarms and wake locks to run background jobs.
Elliot Waite20d6d772016-03-15 18:58:55 -07001225 section:
1226 - title: Keeping the Device Awake
1227 path: /training/scheduling/wakelock.html
1228 - title: Scheduling Repeating Alarms
1229 path: /training/scheduling/alarms.html
1230
1231- title: Best Practices for Performance
1232 path: /training/best-performance.html
1233 section:
1234 - title: Managing Your App's Memory
1235 path: /training/articles/memory.html
Elliot Waite988248d2016-04-26 19:46:39 -07001236 path_attributes:
1237 - name: description
1238 value: How to keep your app's memory footprint small in order to improve performance on a variety of mobile devices.
Elliot Waite20d6d772016-03-15 18:58:55 -07001239 - title: Performance Tips
1240 path: /training/articles/perf-tips.html
Elliot Waite988248d2016-04-26 19:46:39 -07001241 path_attributes:
1242 - name: description
1243 value: How to optimize your app's performance in various ways to improve its responsiveness and battery efficiency.
Elliot Waite20d6d772016-03-15 18:58:55 -07001244 - title: Improving Layout Performance
1245 path: /training/improving-layouts/index.html
Elliot Waite988248d2016-04-26 19:46:39 -07001246 path_attributes:
1247 - name: description
1248 value: How to identify problems in your app's layout performance and improve the UI responsiveness.
Elliot Waite20d6d772016-03-15 18:58:55 -07001249 section:
1250 - title: Optimizing Layout Hierarchies
1251 path: /training/improving-layouts/optimizing-layout.html
1252 - title: Re-using Layouts with <include/>
1253 path: /training/improving-layouts/reusing-layouts.html
1254 - title: Loading Views On Demand
1255 path: /training/improving-layouts/loading-ondemand.html
1256 - title: Making ListView Scrolling Smooth
1257 path: /training/improving-layouts/smooth-scrolling.html
1258 - title: Optimizing Battery Life
1259 path: /training/monitoring-device-state/index.html
Elliot Waite988248d2016-04-26 19:46:39 -07001260 path_attributes:
1261 - name: es-lang
1262 value: Cómo optimizar la duración de la batería
1263 - name: ja-lang
1264 value: 電池消費量の最適化
1265 - name: zh-cn-lang
1266 value: 优化电池使用时间
1267 - name: description
1268 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.
Elliot Waite20d6d772016-03-15 18:58:55 -07001269 section:
1270 - title: Reducing Network Battery Drain
1271 path: /training/performance/battery/network/index.html
1272 section:
1273 - title: Collecting Network Traffic Data
1274 path: /training/performance/battery/network/gather-data.html
1275 - title: Analyzing Network Traffic Data
1276 path: /training/performance/battery/network/analyze-data.html
1277 - title: Optimizing User-Initiated Network Use
1278 path: /training/performance/battery/network/action-user-traffic.html
1279 - title: Optimizing App-Initiated Network Use
1280 path: /training/performance/battery/network/action-app-traffic.html
1281 - title: Optimizing Server-Initiated Network Use
1282 path: /training/performance/battery/network/action-server-traffic.html
1283 - title: Optimizing General Network Use
1284 path: /training/performance/battery/network/action-any-traffic.html
1285 - title: Optimizing for Doze and App Standby
1286 path: /training/monitoring-device-state/doze-standby.html
1287 - title: Monitoring the Battery Level and Charging State
1288 path: /training/monitoring-device-state/battery-monitoring.html
Elliot Waite988248d2016-04-26 19:46:39 -07001289 path_attributes:
1290 - name: es-lang
1291 value: Cómo controlar el nivel de batería y el estado de carga
1292 - name: ja-lang
1293 value: 電池残量と充電状態の監視
1294 - name: zh-cn-lang
1295 value: 监控电池电量和充电状态
Elliot Waite20d6d772016-03-15 18:58:55 -07001296 - title: Determining and Monitoring the Docking State and Type
1297 path: /training/monitoring-device-state/docking-monitoring.html
Elliot Waite988248d2016-04-26 19:46:39 -07001298 path_attributes:
1299 - name: es-lang
1300 value: Cómo determinar y controlar el tipo de conector y el estado de la conexión
1301 - name: ja-lang
1302 value: ホルダーの装着状態とタイプの特定と監視
1303 - name: zh-cn-lang
1304 value: 确定和监控基座对接状态和类型
Elliot Waite20d6d772016-03-15 18:58:55 -07001305 - title: Determining and Monitoring the Connectivity Status
1306 path: /training/monitoring-device-state/connectivity-monitoring.html
Elliot Waite988248d2016-04-26 19:46:39 -07001307 path_attributes:
1308 - name: es-lang
1309 value: Cómo determinar y controlar el estado de la conectividad
1310 - name: ja-lang
1311 value: 接続状態の特定と監視
1312 - name: zh-cn-lang
1313 value: 确定和监控网络连接状态
Elliot Waite20d6d772016-03-15 18:58:55 -07001314 - title: Manipulating Broadcast Receivers On Demand
1315 path: /training/monitoring-device-state/manifest-receivers.html
Elliot Waite988248d2016-04-26 19:46:39 -07001316 path_attributes:
1317 - name: es-lang
1318 value: Cómo manipular los receptores de emisión bajo demanda
1319 - name: ja-lang
1320 value: オンデマンドでのブロードキャスト レシーバ操作
1321 - name: zh-cn-lang
1322 value: 根据需要操作广播接收器
Elliot Waite20d6d772016-03-15 18:58:55 -07001323 - title: Sending Operations to Multiple Threads
1324 path: /training/multiple-threads/index.html
Elliot Waite988248d2016-04-26 19:46:39 -07001325 path_attributes:
1326 - name: description
1327 value: How to improve the performance and scalability of long-running operations by dispatching work to multiple threads.
Elliot Waite20d6d772016-03-15 18:58:55 -07001328 section:
1329 - title: Specifying the Code to Run on a Thread
1330 path: /training/multiple-threads/define-runnable.html
1331 - title: Creating a Manager for Multiple Threads
1332 path: /training/multiple-threads/create-threadpool.html
1333 - title: Running Code on a Thread Pool Thread
1334 path: /training/multiple-threads/run-code.html
1335 - title: Communicating with the UI Thread
1336 path: /training/multiple-threads/communicate-ui.html
1337 - title: Keeping Your App Responsive
1338 path: /training/articles/perf-anr.html
Elliot Waite988248d2016-04-26 19:46:39 -07001339 path_attributes:
1340 - name: description
1341 value: How to keep your app responsive to user interaction so the UI does not lock-up and display an "Application Not Responding" dialog.
Elliot Waite20d6d772016-03-15 18:58:55 -07001342 - title: JNI Tips
1343 path: /training/articles/perf-jni.html
Elliot Waite988248d2016-04-26 19:46:39 -07001344 path_attributes:
1345 - name: description
1346 value: How to efficiently use the Java Native Interface with the Android NDK.
Elliot Waite20d6d772016-03-15 18:58:55 -07001347 - title: SMP Primer for Android
1348 path: /training/articles/smp.html
Elliot Waite988248d2016-04-26 19:46:39 -07001349 path_attributes:
1350 - name: description
1351 value: Tips for coding Android apps on symmetric multiprocessor systems.
Elliot Waite20d6d772016-03-15 18:58:55 -07001352
1353- title: Best Practices for Security & Privacy
1354 path: /training/best-security.html
1355 section:
1356 - title: Security Tips
1357 path: /training/articles/security-tips.html
Elliot Waite988248d2016-04-26 19:46:39 -07001358 path_attributes:
1359 - name: description
1360 value: How to perform various tasks and keep your app's data and your user's data secure.
Elliot Waite20d6d772016-03-15 18:58:55 -07001361 - title: Security with HTTPS and SSL
1362 path: /training/articles/security-ssl.html
Elliot Waite988248d2016-04-26 19:46:39 -07001363 path_attributes:
1364 - name: description
1365 value: How to ensure that your app is secure when performing network transactions.
Elliot Waite20d6d772016-03-15 18:58:55 -07001366 - title: Updating Your Security Provider to Protect Against SSL Exploits
1367 path: /training/articles/security-gms-provider.html
Elliot Waite988248d2016-04-26 19:46:39 -07001368 path_attributes:
1369 - name: description
1370 value: How to use and update Google Play services security provider, to protect against SSL exploits.
Elliot Waite20d6d772016-03-15 18:58:55 -07001371 - title: Checking Device Compatibility with SafetyNet
1372 path: /training/safetynet/index.html
Elliot Waite988248d2016-04-26 19:46:39 -07001373 path_attributes:
1374 - name: description
1375 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.
Kevin Hufnaglec946f9d2016-07-20 14:14:55 -07001376 - title: Verifying Hardware-backed Key Pairs with Key Attestation
1377 path: /training/articles/security-key-attestation.html
1378 path_attributes:
1379 - name: description
1380 value: How to retrieve and verify the properties of a device's hardware-backed key pair.
Elliot Waite20d6d772016-03-15 18:58:55 -07001381 - title: Enhancing Security with Device Management Policies
Billy Lambertae1277eb2016-05-03 16:23:59 -07001382 path: /work/device-management-policy.html
Elliot Waite988248d2016-04-26 19:46:39 -07001383 path_attributes:
1384 - name: description
1385 value: How to create an application that enforces security policies on devices.
Elliot Waite20d6d772016-03-15 18:58:55 -07001386
1387- title: Best Practices for Permissions & Identifiers
1388 path: /training/best-permissions-ids.html
1389 section:
1390 - title: Permissions and User Data
1391 path: /training/articles/user-data-overview.html
Elliot Waite988248d2016-04-26 19:46:39 -07001392 path_attributes:
1393 - name: description
1394 value: Overview of app permissions on Android and how they affect your users.
Elliot Waite20d6d772016-03-15 18:58:55 -07001395 - title: Best Practices for App Permissions
1396 path: /training/articles/user-data-permissions.html
Elliot Waite988248d2016-04-26 19:46:39 -07001397 path_attributes:
1398 - name: description
1399 value: How to manage permissions the right way for users.
Elliot Waite20d6d772016-03-15 18:58:55 -07001400 - title: Best Practices for Unique Identifiers
1401 path: /training/articles/user-data-ids.html
Elliot Waite988248d2016-04-26 19:46:39 -07001402 path_attributes:
1403 - name: description
1404 value: Unique identifiers available and how to choose the right one for your use case.
Elliot Waite20d6d772016-03-15 18:58:55 -07001405
1406- title: Best Practices for Testing
1407 path: /training/testing/index.html
1408 section:
1409 - title: Getting Started with Testing
1410 path: /training/testing/start/index.html
Elliot Waite988248d2016-04-26 19:46:39 -07001411 path_attributes:
1412 - name: description
1413 value: How to get started with testing your Android applications.
Elliot Waite20d6d772016-03-15 18:58:55 -07001414 - title: Building Effective Unit Tests
1415 path: /training/testing/unit-testing/index.html
Elliot Waite988248d2016-04-26 19:46:39 -07001416 path_attributes:
1417 - name: description
1418 value: How to build effective unit tests for Android apps.
Elliot Waite20d6d772016-03-15 18:58:55 -07001419 section:
1420 - title: Building Local Unit Tests
1421 path: /training/testing/unit-testing/local-unit-tests.html
1422 - title: Building Instrumented Unit Tests
1423 path: /training/testing/unit-testing/instrumented-unit-tests.html
1424 - title: Automating UI Tests
1425 path: /training/testing/ui-testing/index.html
Elliot Waite988248d2016-04-26 19:46:39 -07001426 path_attributes:
1427 - name: description
1428 value: How to automate your user interface tests for Android apps.
Elliot Waite20d6d772016-03-15 18:58:55 -07001429 section:
1430 - title: Testing UI for a Single App
1431 path: /training/testing/ui-testing/espresso-testing.html
1432 - title: Testing UI for Multiple Apps
1433 path: /training/testing/ui-testing/uiautomator-testing.html
1434 - title: Testing App Component Integrations
1435 path: /training/testing/integration-testing/index.html
Elliot Waite988248d2016-04-26 19:46:39 -07001436 path_attributes:
1437 - name: description
1438 value: How to build effective integration tests for Android apps.
Elliot Waite20d6d772016-03-15 18:58:55 -07001439 section:
1440 - title: Testing Your Service
1441 path: /training/testing/integration-testing/service-testing.html
1442 - title: Testing Your Content Provider
1443 path: /training/testing/integration-testing/content-provider-testing.html
1444 - title: Testing Display Performance
1445 path: /training/testing/performance.html
Elliot Waite988248d2016-04-26 19:46:39 -07001446 path_attributes:
1447 - name: description
1448 value: How to automate UI performance testing.
Elliot Waite20d6d772016-03-15 18:58:55 -07001449
1450- title: Using Google Play to Distribute & Monetize
1451 path: /training/distribute.html
1452 section:
1453 - title: Selling In-app Products
1454 path: /training/in-app-billing/index.html
Elliot Waite988248d2016-04-26 19:46:39 -07001455 path_attributes:
1456 - name: description
1457 value: How to sell in-app products from your application using In-app Billing.
Elliot Waite20d6d772016-03-15 18:58:55 -07001458 section:
1459 - title: Preparing Your App
1460 path: /training/in-app-billing/preparing-iab-app.html
1461 - title: Establishing Products for Sale
1462 path: /training/in-app-billing/list-iab-products.html
1463 - title: Purchasing Products
1464 path: /training/in-app-billing/purchase-iab-products.html
1465 - title: Testing Your App
1466 path: /training/in-app-billing/test-iab-app.html
1467 - title: Maintaining Multiple APKs
1468 path: /training/multiple-apks/index.html
Elliot Waite988248d2016-04-26 19:46:39 -07001469 path_attributes:
1470 - name: description
1471 value: How to publish your app on Google Play with separate APKs that target different devices, while using a single app listing.
Elliot Waite20d6d772016-03-15 18:58:55 -07001472 section:
1473 - title: Creating Multiple APKs for Different API Levels
1474 path: /training/multiple-apks/api.html
1475 - title: Creating Multiple APKs for Different Screen Sizes
1476 path: /training/multiple-apks/screensize.html
1477 - title: Creating Multiple APKs for Different GL Textures
1478 path: /training/multiple-apks/texture.html
1479 - title: Creating Multiple APKs with 2+ Dimensions
1480 path: /training/multiple-apks/multiple.html