Concepts involved:
- Creating and using styles
- MVC project architecture
- Model: Track, Playlist
- Views: Fragments containing ListViews
- Controller(Service): Exposes the API of RestClient to the activities, and validates the callback
- Retrofit 2 integration to consume Restful APIs
- Thread managment
- Easy to write new calls becausee they are interfaces
- SQLite database for permanent storage on device
- Broadcast messages
- ListViews and ListAdapters to display the data on screen
- Picasso framework for displaying images
- Drawables for custom dialog icons
- Displaying progress and error dialogs
- Shared element animations transitioning from one activity to an other
- Custom app theme