This app is a client for a web service named “Movies” which you can find here. You can see what this app does in this GIF:
I developed this app with these goals in mind:
- Learn new technologies and libraries
- expand my knowledge of libraries and concepts I was already familiar with
- use what I’d learned over the years to develop an actual app
- engage in the complete process of developing an app, from design to deployment, so I can understand and experience the challenges better (All the billion things that can AND DO go wrong!)
- Java (+ Java 8 functional programming features)
- MVVM architecture
- Lifecycle Library:
- LiveData, MutableLiveData, MediatorLiveData (Transformations)
- ViewModel, ViewModelProvider
- Room ORM
- Retrofit Library
- Paging Library
- Glide Library
- Multithreading
- Animations
If a user presses the back button in the middle of downloading data of a specific genre’s movies, the download is immediately stopped and later resumed once the user clicks on that genre again