Movies app starts off with a list of movies from the cloud sorted based on the most popular filter. Users can change filters (most popular, most rated, favorites and language preferred). This functionality is implemented using shared preferences. The app then loads data from the cloud and displays it on the screen. Users can see the movie details, trailers, reviews by clicking on the movie they like on the home screen. In the detail screen, they can see the trailer of the movie or read comments or see any information they require and can even favorite a movie that can later filter out using the favorite filter in the settings.

App working overview

App Implementation Overview:

Movies app starts off with a list of movies from the cloud using Retrofit libraries. The data is then stored in a local database. Every time the data in the API changes Retrofit will fetch the new data and update the local database(implemented using Room libraries). Observing of API and database is achieved by LiveData.

LiveData basically says when even there is a change I will let you know as long as you are subscribed to the services. So Activities/ Fragments that need to read data from the API or database have subscribed to respective LiveData components.

Topics covered: SharedPreferences, LiveData, Retrofit, Room.

App architecture

App Architecture:

Room and LiveData with Room:

On a detailed description of how to implement Room database check out the below article.


On a detailed description of how to implement settings screen using SharedPreferences check out the below article.

Retrofit and LiveData with Retrofit:

On a detailed description of how to implement Retrofit Webservice calls check out the below article.




Mobile app developer

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Notifications in Android — PART 2

Device Sensors in Android

What’s in the box — the Edit Text Field

Resolving AppLocalizations Without Any BuildContext Around

APK vs Android App Bundle

MVI with Android Compose on a real example

Balloon Library in Android

View Binding: Good Replacement of findViewById() in Android

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Nikitha Gullapalli

Nikitha Gullapalli

Mobile app developer

More from Medium

This is how to develop a Google Instant app in 7 steps with Hilt

Google Instant App — How to implement it

Super Fast Android / iOS Development with MAD Skills

Top 5 Android App Development Platforms You Should Check Out

How to add AR face filters to your Android app