Android Development with Kotlin

  1. Jetpack Compose: The Modern UI Toolkit
    1. Introduction to Compose
      1. Declarative vs. Imperative UI
        1. Differences in UI Paradigms
          1. Benefits of Declarative Approach
          2. Setting Up Compose
            1. Adding Compose Dependencies
              1. Compose Compiler Configuration
            2. Core Concepts of Compose
              1. Composable Functions
                1. @Composable Annotation
                  1. Function Declaration
                    1. Reusability and Composition
                      1. Composable Lifecycle
                      2. State and Recomposition
                        1. State Management Principles
                          1. remember
                            1. mutableStateOf
                              1. Recomposition Triggers
                                1. Smart Recomposition
                                2. Modifiers
                                  1. Layout Modifiers
                                    1. Styling Modifiers
                                      1. Interaction Modifiers
                                        1. Modifier Chaining
                                      2. Layouts in Compose
                                        1. Column
                                          1. Vertical Arrangement
                                            1. Alignment Options
                                            2. Row
                                              1. Horizontal Arrangement
                                                1. Alignment Options
                                                2. Box
                                                  1. Layering and Positioning
                                                    1. Content Alignment
                                                    2. Arrangement and Alignment
                                                      1. Horizontal and Vertical Alignment
                                                        1. Space Distribution
                                                        2. Lazy Lists
                                                          1. LazyColumn
                                                            1. LazyRow
                                                              1. LazyVerticalGrid
                                                                1. Item Keys and Performance
                                                                  1. Lazy List State
                                                                  2. Custom Layouts
                                                                    1. Layout Composable
                                                                      1. Intrinsic Measurements
                                                                    2. Basic Composables
                                                                      1. Text
                                                                        1. Text Display
                                                                          1. Styling and Formatting
                                                                            1. Text Selection
                                                                            2. Button
                                                                              1. Click Handling
                                                                                1. Button Variants
                                                                                  1. Custom Styling
                                                                                  2. Image
                                                                                    1. Loading and Displaying Images
                                                                                      1. Content Scale
                                                                                        1. Image Resources
                                                                                        2. TextField
                                                                                          1. User Input Handling
                                                                                            1. Input Validation
                                                                                              1. Keyboard Options
                                                                                              2. Icon
                                                                                                1. Vector Icons
                                                                                                  1. Icon Buttons
                                                                                                  2. Card
                                                                                                    1. Material Card Component
                                                                                                    2. Surface
                                                                                                      1. Material Surface
                                                                                                    3. State Management in Compose
                                                                                                      1. Local State
                                                                                                        1. remember and mutableStateOf
                                                                                                          1. State Hoisting
                                                                                                            1. Lifting State Up
                                                                                                              1. Stateless Composables
                                                                                                            2. ViewModel Integration
                                                                                                              1. Using ViewModel with Compose
                                                                                                                1. Observing ViewModel State
                                                                                                                2. Side Effects
                                                                                                                  1. LaunchedEffect
                                                                                                                    1. rememberCoroutineScope
                                                                                                                      1. DisposableEffect
                                                                                                                        1. SideEffect
                                                                                                                          1. rememberUpdatedState
                                                                                                                        2. Theming in Compose
                                                                                                                          1. MaterialTheme
                                                                                                                            1. Colors
                                                                                                                              1. Light and Dark Color Schemes
                                                                                                                              2. Typography
                                                                                                                                1. Text Styles
                                                                                                                                2. Shapes
                                                                                                                                  1. Component Shapes
                                                                                                                                3. Custom Themes
                                                                                                                                  1. Creating Custom Color Schemes
                                                                                                                                    1. Custom Typography
                                                                                                                                    2. Dark Theme Support
                                                                                                                                      1. Dynamic Theming
                                                                                                                                        1. System Theme Detection
                                                                                                                                      2. Animation in Compose
                                                                                                                                        1. Basic Animations
                                                                                                                                          1. animate*AsState APIs
                                                                                                                                            1. AnimatedVisibility
                                                                                                                                            2. Transition APIs
                                                                                                                                              1. updateTransition
                                                                                                                                                1. Transition Animations
                                                                                                                                                2. Custom Animations
                                                                                                                                                  1. Animatable
                                                                                                                                                    1. Animation Specs
                                                                                                                                                  2. Interoperability
                                                                                                                                                    1. Compose in View-based Apps
                                                                                                                                                      1. ComposeView
                                                                                                                                                      2. Views in Compose
                                                                                                                                                        1. AndroidView