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!
Prerequisites
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:
- 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 - Enable interaction through click handlers
- Create layouts using the Android Studio layout editor
- Create and use
RecyclerView
andAdapter
classes - Run tasks in the background
- Save data in Android shared preferences
- Save data in a 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
- Source code in GitHub for apps that you create during the practical exercises
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:
- Profile GPU Rendering
- Debug GPU Overdraw and Layout Inspector
- Systrace and dumpsys
- Memory Profiler
- Tools to improve the efficiency of your networking, battery use, and data compression
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
Last updated: October 2017
This work is licensed under a Creative Commons Attribution 4.0 International License