A Sample Android Project with Architecture Components & Modern Practices.
Cinema uses TMDB API.
- Data Binding: Utilizing data binding for connecting UI components with data sources in a declarative way.
- Lifecycles: Managing lifecycle-aware components to handle Android lifecycle events efficiently.
- LiveData: Implementing LiveData for observing data changes in a lifecycle-aware manner.
- Navigation: Utilizing Navigation component for managing navigation within the app.
- Paging: Implementing paging to load large sets of data gradually.
- Room: Integrating Room for local database storage.
- ViewModel: Utilizing ViewModel to manage UI-related data in a lifecycle-aware manner.
- Extension Functions: Writing extension functions for adding functionalities to existing classes without subclassing.
- Hilt (Dependency Injection): Implementing Hilt for dependency injection.
- Coroutines: Utilizing Kotlin Coroutines for asynchronous programming.
- MVVM (Model View ViewModel): Implementing MVVM architecture to separate concerns and improve testability.
- Custom Views: Creating custom views to enhance UI/UX and demonstrate custom UI components.
- Retrofit (Network): Integrating Retrofit for network requests and API interactions.
- Jetpack Compose: Exploring Jetpack Compose for modern UI development.
- Unit Testing: Implementing unit tests to ensure individual components of your app function correctly.
- UI Testing: Adding UI tests to verify the behavior and interactions of your app's user interface.
Note: This app's design is intentionally simple to emphasize architectural focus.