Advanced Android Development — Practicals

This is the hands-on practical workbook for Advanced Android Development, a training course created by the Google Developers 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!


Read Download PDF


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 programming language. 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:

Course materials

The course materials include:

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 Appendix: Setup for details.

What topics are covered?

Unit 1: Expand the user experience

Lesson 1: Fragments

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

Lesson 2: App widgets

Create and update app widgets.

Lesson 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

Lesson 4: Performance

Learn how to detect and analyze your app’s performance using tools like these:

Unit 3: Make your apps accessible

Lesson 5: Localization

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

Lesson 6: Accessibility

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

Unit 4: Add geo features to your apps

Lesson 7: Location

Enable your app to detect and update the device’s current location.

Lesson 8: Places

Use the Places API to detect the user’s location and offer a “picker” showing local places.

Lesson 9: Mapping

Add a Google Map to your app.

Unit 5: Advanced graphics and views

Lesson 10: Custom views

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

Lesson 11: Canvas

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

Lesson 12: Animations

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

Developed by the Google Developers Training Team

Advanced Android Development badge

Last updated: October 2017

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