-
Jetpack Compose basics - In this codelab, you will learn * What Compose is * How to build UIs with Compose * How to manage state in composable functions * Data flow principles in Compose.
-
Layouts in Jetpack Compose - In this codelab, you'll learn how to use Compose's highest level of UI abstraction, Material Design, as well as low-level composables like Layout that allows you to measure and place elements on the screen
-
Using State in Jetpack Compose - In this codelab you'll learn about the state and how it can be used and manipulated by Jetpack Compose.
-
Jetpack Compose Theming - In this codelab you will learn how to use Jetpack Compose's theming APIs to style your application. We'll see how to customize colors, shapes and typography so that they're used consistently throughout your application, supporting multiple themes such as light & dark theme.
-
Jetpack Compose Animation - In this codelab, you will learn how to use some Animation APIs in Jetpack Compose.
-
Jetpack Compose Navigation - Use the Jetpack Navigation component to navigate between screens in Jetpack Compose.
-
Testing in Jetpack Compose - In this codelab you'll learn about testing UIs created with Jetpack Compose. You will write your first tests while learning about testing in isolation, debugging tests, semantics trees and synchronization.
-
Accessibility in Jetpack Compose - In this codelab you will learn how to use Jetpack Compose to improve your app's accessibility. We will walk through several common use cases and improve a sample app step by step. We will cover touch target sizes, content descriptions, click labels, and more.
-
Migrating to Jetpack Compose - In this codelab, you'll be migrating parts of the Sunflower's plant details screen to Compose. We created a copy of the project for you to try out migrating a realistic app to Compose.
-
Advanced state and side effects in Jetpack Compose - In this codelab you will learn advanced concepts related to State and Side Effects APIs in Jetpack Compose. We'll see how to create a state holder for stateful composables whose logic isn't trivial, how to create coroutines and call suspend functions from Compose code, and how to trigger side effects to accomplish different use cases.
Dependency injection is a technique widely used in programming and well suited to Android development. By following the principles of dependency injection, you lay the groundwork for a good app architecture.
Implementing dependency injection provides you with the following advantages:
- Reusability of code.
- Ease of refactoring.
- Ease of testing.
- Experience with Kotlin syntax.
- You understand Dependency Injection and know what the benefits of using Dagger in your Android app.