Skip to content

An android app that fetches data from https://www.themoviedb.org/ API and uses MVVP architecture and android architecture components

Notifications You must be signed in to change notification settings

marios-codes/PopularMovies

Repository files navigation

PopularMovies

Please replace BuildConfig.ApiKey in public static final String API_KEY field constant, found in MainActivity.java, with your own api key from The MovieDB.

This app fetches two different movie lists according to the user sorting preference (Most Popular and Top Rated). It also lets the user save to their device a movie as favorite and access all their favorite movies offline. The user can also read reviews about a movie inside the movie's details activity and watch its trailer.

It was submitted to Udacity's Android Developer Nanodegree and passed successfully, which was tested among others in the following aspects:

  • Checks for Internet Connectivity (not just network connectivity) by pinging a server
  • Consume a RESTful API and populate a RecyclerView with data
  • Correct implementation of activity lifecycle and Saved Instance State on orientation changes
  • Minimize network calls during an orientation change and prevent app from crashing
  • MVVM architectural pattern

Libraries and Android Architecture Components Used:

  • Picasso for image handling
  • Retrofit for RESTful API consumption
  • Butterknife for View Injection
  • Room as an abstraction layer of sqlite database and data persistence
  • LiveData and Android Lifecycle Jetpack Libraries for best practice regarding lifecycle handling and network requests consumption

Screenshots

First Screen Movie Details Screen Details with Trailer and Reviews

About

An android app that fetches data from https://www.themoviedb.org/ API and uses MVVP architecture and android architecture components

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages