CPS251
Android Development
Chapter 1: Setup & Basics
- Set Up Android Studio
- Set Up ADB
- Setting Up an Emulator
- Setting Up a Physical Device
- Android Studio Tour
- File and Folder Structure
- Starter Application
Chapter 2: Project Structure
Chapter 3: Kotlin Basics
- Introduction to Kotlin
- Kotlin Basics
- Kotlin Operators
- Kotlin Flow Control
- Kotlin Functions
- Kotlin OOP
- Kotlin Subclasses, Inheritance and Interfaces
Chapter 4: Compose Basics
Chapter 5: Compose UI Elements
Chapter 6: State Management
- Understanding State in Compose
- Stateless and Stateful Composables
- Launched Effect
- Recomposition and Redrawing
Chapter 7: User Input
Chapter 8: Lists & Selection
- Lazy Column
- Lazy Row
- Combining LazyColumn and LazyRow
- Handling Clicks and Selection
- Another Click Handling Example
Chapter 9: Navigation
- Introduction to Navigation
- Passing Arguments
- Managing the Back Stack
- Navigation UI Components
- Organizing Navigation with Multiple Files
Chapter 10: ViewModels & State
- What is a ViewModel?
- Hoisting State Up
- UI Separation: Logic vs View
- Sharing State Between Screens
- Using Coroutines in ViewModel for Background Work
Chapter 11: Data Persistence
- DataStore for Simple Storage
- Introduction to Room Database
- Creating Entities and DAOs
- Building the Database
- Building the Repository
- Bulding the ViewModel
- Building the NoteScreen
- Building the MainActivity
- Completed Application
Chapter 12: Networking
- REST API
- What is JSON
- Introduction to Retrofit
- Building a Weather App
- Building the WeatherAppScreen
- Building the WeatherViewModel
- Building the WeatherRepository
Chapter 13: Material Design & Theming
- Material Design
- Using MaterialTheme
- Typography, Color, and Shape
- Light and Dark Mode
- Customizing Material Components
- Theming for Different App Sections (Multiple Themes)
- Animations and Transitions in Material Design
- Theme Reference: ColorScheme, Typography, and Shapes
Chapter 14: Advanced UI Patterns
- Bottom Sheets and Dialogs
- Drawers and Tabs
- Complex List Patterns
- Custom Composable Components
- Gestures and Animations
Chapter 15: Videos and Images
Appendix: Compose Elements