Another Unsplash client, seriously? Well, I built this project to study the use of modern android architecture components with the MVVM architecture and Jetpack Library.
Caution: This project contains large amount of Code Smell. Use it at Your Own Risk.
- Foundation - Components for core system capabilities, Kotlin extensions and support for
multidex and automated testing.
- AppCompat - Degrade gracefully on older versions of Android.
- Android KTX - Write more concise, idiomatic Kotlin code.
- Architecture - A collection of libraries that help you design robust, testable, and
maintainable apps. Start with classes for managing your UI component lifecycle and handling data
persistence.
- Lifecycles - Create a UI that automatically responds to lifecycle events.
- LiveData - Build data objects that notify views when the underlying database changes.
- Navigation - Handle everything needed for in-app navigation.
- ViewModel - Store UI-related data that isn't destroyed on app rotations. Easily schedule asynchronous tasks for optimal execution.
- Third party and miscellaneous libraries
- Glide for image loading
- Hilt: for dependency injection
- Kotlin Coroutines for managing background threads with simplified code and reducing needs for callbacks
Picttr uses the Unsplash API to load pictures. To use the API, you will need to obtain a free developer API key. See the Unsplash API Documentation for instructions.
Once you have the key, add this line to the gradle.properties
file, either in your user home
directory (usually ~/.gradle/gradle.properties
on Linux and Mac) or in the project's root folder:
unsplash_access_key=<your Unsplash access key>