Welcome to the Advanced Android in Kotlin course, created by the Google Developers Training team. This course provides a series of codelabs that lead you through the advanced topics of building Android apps using Kotlin. In this course, you learn advanced Android Kotlin programming concepts and build various apps.
We recommend that you take the codelabs in sequence, but it's not a requirement. Each lesson includes a tutorial app with solution code in GitHub. See the course contents for a list of codelabs and their associated apps.
Prerequisites
To take the Advanced Android in Kotlin course, you must have Kotlin programming experience and know the fundamentals of how to build an Android app using the Kotlin language.
You should be familiar with all the concepts, tools, and vocabulary taught in the Kotlin Bootcamp for Programmers course as well as the Android Fundamentals in Kotlin course.
This course builds on skills taught in the Android Fundamentals in Kotlin course. Specifically, you should know how to do the following:
- Install and use Android Studio.
- Run apps from Android Studio on both a device and an emulator.
- Create and use activities and fragments in Android, and understand their lifecycles.
- Use views to create your app's user interface (UI) following Material Design guidelines.
- Enable UI through click handlers.
- Create layouts with ConstraintLayout using the Android Studio layout editor.
- Implement the recommended architecture with ViewModel, LiveData, and data binding.
- Create and use RecyclerViews with a Room database.
- Use coroutines and WorkManager for long-running and background tasks.
- Connect to the internet and get data.
- Save and restore app state.
What does the course cover?
Advanced Android in Kotlin includes six lessons:
- Lesson 1: Notifications
- Lesson 2: Advanced Graphics
- Lesson 3: Animation
- Lesson 4: Geo
- Lesson 5: Testing and Dependency Injection
- Lesson 6: Login
Lesson 1: Notifications
This codelab is part of a series that guides you through using in-app and push notifications.
Lesson 2: Advanced Graphics
This codelab is part of a series that guides you through building custom views, drawing on a canvas, clipping canvas objects, and using shaders for cool effects.
Lesson 3: Animation
This codelab is part of a series about Animation with Android.
Lesson 4: Geo
This codelab is part of a series that guides you through adding maps to your apps.
Lesson 5: Testing and Dependency Injection
This codelab is part of a series about writing and running tests for Android, including Test Driven Development, source sets, Robolectric, AndroidX, and testing ViewModels and LiveData. You'll also learn about dependency injection and test doubles.
Lesson 6: Login
This codelab is part of a series that guides you through supporting login for users.