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!
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:
Viewinstances to create your app's user interface
The course materials include:
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.
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.
Lesson 4: Performance
Learn how to detect and analyze your app's performance using tools like these:
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.
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.
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
Last updated: October 2017
This work is licensed under a Creative Commons Attribution 4.0 International License