An simple Gallery to showcase images and videos available on the device
Built with ❤︎ by
Muhammad Usama Yasin
- Home Screen showing list of albums available on device
- Each albums shows thumbnail with respective folder name and file count.
- Detail Screen to show content of album
- Switch Layout from Grid to Linear and vice versa
- View Screen available if you click on Image/Video it will be presented to the user
- Built with Modern Android Development practices following up CLEAN architecture with MVVM
- Utilized Repository pattern for data.
- Includes valid Unit tests for Repository.
- Kotlin - First class and official programming language for Android development.
- Coroutines - For asynchronous and more..
- Flow - A cold asynchronous data stream that sequentially emits values and completes normally or with an exception.
- Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
- LiveData - Data objects that notify views when the underlying data changes.
- ViewModel - Stores UI-related data that isn't destroyed on UI changes.
- ViewBinding - Generates a binding class for each XML layout file present in that module and allows you to more easily write code that interacts with views.
- Dependency Injection
- Hilt - Easier way to incorporate Dagger DI into Android apps.
- Material Components for Android - Modular and customizable Material Design UI components for Android.
- Gradle Kotlin DSL - For writing Gradle build scripts using Kotlin.
- MockK - For Mocking and Unit Testing.
- Glide - Glide is a fast and efficient open source media management and image loading framework for Android.
- Can be done in Multi Module
- Add more Unit/UI Tests
- Build UI with Compose
- Add more error handling
- Android Studio:
- Build your project (Build -> Rebuild Project).
- Run your app (Run -> Run 'app').
- Android Studio:
- Right-click on a test class and select "Run 'test class name'".
- Use the test runner in the Android Studio toolbar.
- Command Line:
- ./gradlew testDebugUnitTest
- Unit Test Coverage Android Studio:
- Right-click on a test class and select "Run with Coverage".
- This will open a coverage report in the Android Studio window.
Muhammad Usama Yasin