Introduction
Your first Android app
()
What you should know
()
1. Android Basics
Explore the history of Android
()
Explore the Android framework
()
Programming for Android with Kotlin
()
Install Android Studio on Mac
()
Install Android Studio on Windows
()
Manage Android Studio updates
()
Manage components in the SDK Manager
()
2. Getting Started
Create your first Android app
()
Explore Android Studio
()
Create virtual devices for testing
()
Install device drivers on Windows
()
Set up debugging on a physical device
()
Android command-line tools
()
Find answers in the documentation
()
3. Explore Android Projects
Check out the exercise files on GitHub
()
Explore the project structure
()
Introduction to Gradle
()
Manage Gradle build scripts
()
Using dependencies
()
Explore Jetpack components
()
Troubleshoot Android Studio projects
()
Challenge: Find the dependency
()
Solution: Find the dependency
()
4. Kotlin for Android Development
Quick look at Kotlin functions
()
Work with Kotlin variables and expressions
()
Work with Kotlin extension functions and properties
()
Understand lambdas
()
Define higher-order functions
()
Execute code asynchronously with Kotlin Coroutines
()
5. Define Screens with Composables
Define screens with Activities and Composables
()
Implement designs using Composables
()
Display UI elements with Column, Row, and Box
()
Units of measurement in Android
()
Use modifiers to customize your layout
()
Challenge: Laying it out
()
Solution: Laying it out
()
6. Create Themes and Styles
Define visual styles and themes
()
Configure Material Design theme colors
()
Use Material Design Components
()
7. Display and Collect Text
Manage string values as resources
()
Style the text in your app
()
Manage data entry with TextField
()
Use string resources with placeholders
()
Display snackbar messages
()
Challenge: Get to know you
()
Solution: Get to know you
()
8. Display Images
Display image resources
()
Load image resources at runtime
()
Reduce file size with WebP images
()
Use XML-based VectorDrawable images
()
Create icons in Android Studio
()
Challenge: Load a network image
()
Solution: Load a network image
()
9. 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?
()
10. Architecting Your Compose UI
Introduction to unidirectional data flow
()
Add a ViewModel to a composable
()
Store and publish data in a ViewModel
()
Challenge: Take my order
()
Solution: Take my order
()
11. Manage Navigation
Handle app communication with Intents
()
Share data with implicit Intents
()
Introduction to the Navigation component
()
Set up a navigation controller
()
Learn how to navigate between screens
()
12. Work with the Bottom Navigation Component
Add a bottom Navigation component
()
Handle navigation of navigation item events
()
Handle navigation with the back stack
()
Challenge: Badge of honor
()
Solution: Badge of honor
()
13. Package Static Data in JSON Files
Model an entity in a Kotlin data class
()
Read files from resources
()
Read files from assets
()
Parse JSON strings with Moshi
()
14. Get Data from a Web Service
Share data with StateFlow objects
()
Explore HTTP clients
()
Add Retrofit dependencies
()
Define a Retrofit interface
()
Retrieve remote data with Retrofit
()
15. Display Data in a LazyGrid
Explore lazy layouts in Compose
()
Add a LazyGrid to a composable screen
()
Create a grid item composable
()
Challenge: Random pics
()
Solution: Random pics
()
16. Display Selected Data Items
Handle lazy layout item click events
()
Navigate to a detail composable screen
()
Pass data in a ViewModel
()
Challenge: Lights, camera, action
()
Solution: Lights, camera, action
()
17. Read and Write Files
Manage storage on Android
()
Save files to internal storage
()
Read files from internal storage
()
Manage runtime permissions
()
Save files to external storage
()
18. Persist Data in DataStore
Explore Jetpack DataStore
()
Use the Preferences DataStore to manage user settings
()
Challenge: Read our newsletter
()
Solution: Read our newsletter
()
19. Manage Databases with Room
Manage data with Room
()
Define a database with Room
()
Define SQL operations in a DAO
()
Insert data with Room
()
Retrieve data with Room
()