This project is part of the Master Class: Android Kotlin 101 and demonstrates a simple example of structuring an Android application using the MVVM (Model-View-ViewModel) architecture. The goal is to provide a clear and practical understanding of how to implement MVVM in Android using Kotlin.
- MVVM Architecture: Separation of concerns between UI, business logic, and data handling.
- State Management: Use of
StateFlowfor reactive UI updates. - Dependency Injection: Integration with Koin for managing dependencies.
- Contains data classes representing the application's data.
- Example:
Movieclass for movie details.
- Handles business logic and exposes state to the UI.
- Example:
MovieViewModelfor managing movie data and search functionality.
- Composables and activities that observe the ViewModel and render the UI.
- Example:
MovieScreenandMovieItemcomposables.
- Abstracts data handling logic.
- Example:
MovieRepositoryfor managing local movie data.
- Kotlin: Programming language for Android development.
- Jetpack Compose: Modern UI toolkit for building declarative UIs.
- Koin: Dependency injection framework.
- StateFlow: Reactive state management.