Introduction
Evolution of modern Android development
()
What you should know
()
Check out the exercise files on GitHub
()
1. Define Screens with Composables
Kotlin for Jetpack Compose
()
Define screens with activities and composables
()
Implement designs using composables
()
Display UI elements with Column, Row, and Box
()
Units of measurement with Compose
()
Use modifiers to customize your layout
()
Challenge: Bye-bye ConstraintLayout
()
Solution: Bye-bye ConstraintLayout
()
2. Create Themes and Styles
Theming in Compose
()
Configure Material Design theme colors
()
Manage Material Design colors in Compose
()
Support multiple Material Design themes
()
3. Manage Compose Lifecycle and State
Understand composable functions
()
Introduction to state in Compose
()
Understand state hoisting
()
Use the remember function
()
Challenge: What state are you in?
()
Solution: What state are you in?
()
4. Architecting Your Compose UI
Introduction to unidirectional data flow
()
Dependency injection with Koin
()
Add a ViewModel from a composable
()
Observe data in a ViewModel
()
Challenge: Save my favorites
()
Solution: Save my favorites
()
5. Navigating in Compose
Introduction to the Navigation component
()
Set up a navigation controller
()
Navigate between screens
()
Add a bottom navigation component
()
Handle navigation of navigation item events
()
6. Display Data in Lazy Layouts
Explore lazy layouts in Compose
()
Add a LazyGrid to a composable screen
()
Handle lazy layout item click events
()
Handle loading and empty states
()
Display snackbar messages
()
Pass data in a ViewModel
()
Challenge: Adding some polish
()
Solution: Adding some polish
()
7. Creating Adaptive Layouts
Introduction to adaptive layouts
()
Create adaptive grid layouts
()
Handle navigation dynamically using window size
()
Modify a composable’s layout with box constraints
()
8. Testing Compose Layouts
Create screenshot tests
()
Introduction to Semantics in Compose
()
Create a UI test with the ComposeTestRule
()
Write advanced UI tests with Semantics
()
Challenge: To the top
()
Solution: To the top
()
Conclusion
Develop your skills with Android Compose
()