Advanced Android Development - Practicals

Updated 3 hours ago

Advanced Android Development – Practicals

This is the hands-on practical workbook for Advanced Android Development , a training course created by the Google Developer Training team. This course builds on the skills you learned in the Android Developer Fundamentals course.

This course is intended to be taught in a classroom, but all the materials are available online, so if you like to learn by yourself, go ahead!


The Advanced Android Development course is intended for experienced developers who have Java programming experience and know the fundamentals of how to build an Android app using the Java language. In particular, this course assumes you have mastered the topics in Units 1 to 4 of the Android Developer Fundamentals course.

Specifically, this course assumes you know how to:

  • Install and use Android Studio.
  • Run apps from Android Studio on both a device and an emulator.
  • Create and use Activity instances.
  • Use View instances to create your app's user interface, and how to enable interaction through click handlers.
  • Create layouts using the Layout Editor.
  • Create and use RecyclerView and Adapter classes.
  • Run tasks in the background.
  • Save data as shared preferences.
  • Save data in the local SQL database.

Course materials

The course materials include:

  • This practical workbook, which guides you through creating Android apps to practice and perfect the skills you're learning.
  • A concept reference: Advanced Android Development—Concepts.
  • Slide decks (for optional use by instructors).
  • Code in github.

Get ready for this course

The practicals in this book assume that you are using the latest version of Android Studio. Some of the practicals require at least Android Studio 3.0.

See Setup chapter in the Appendix for details.

What topics are covered?

Unit 1: Expand the user experience

Chapter 1: Fragments

Create a fragment that has its own UI, and enable your activities to communicate with fragments.

Chapter 2: App Widgets

Create and update app widgets.

Chapter 3: Sensors

Learn how to work with sensor data, and build an app that detects and responds to device orientation.

Unit 2: Make your apps fast and small

Chapter 4: Performance

Learn how to use tools to detect and analyze your app's performance including:

  • Profile GPU Rendering
  • Debug GPU Overdraw and Layout Inspector
  • Systrace and dumpsys
  • Memory Profiler
  • Tools: Networking, Battery, Compression

Unit 3: Make your app accessible

Chapter 5: Localization

Use resources for different languages, and use the locale to format information.

Chapter 6: Accessibility

Explore Accessibility in Android, and learn how to make your app more usable for users who use TalkBack.

Unit 4: Add geo features to your app

Chapter 7: Location

Enable your app to detect and update the current location.

Chapter 8: Places

Use the Places API to detect the user's current place (are they at a school? a cafe? a library?) and to offer a picker showing local places.

Chapter 9: Mapping

Add a Google Map to Your App.

Unit 5: Advanced graphics and views

Chapter 10: Custom Views

Create a custom view based on an existing View class, then create a custom view from scratch.

Chapter 11: Canvas

Create a simple Canvas, then draw on a Canvas and apply clipping regions to it. Use a SurfaceView to draw to the screen outside of the main UI thread.

Chapter 12: Animations

Learn how use property animations to define an animation to change an object property.

Developed by the Google Developer Training Team

Last updated: October 2017

This work is licensed under a Creative Commons Attribution 4.0 International License