This app let's you search for movies. You can view movie details and save your favorites.
- Uses Activities
- Uses an external RESTful API
- Implements Localization
- Good Architecture
- Uses Local Storage
- Responsive layout
- Optional: Animations
The following activities are used:
- TrendingActivity (Home screen of the app, contains an overview today's trending movies)
- SearchActivity (Activity with an editbox implementend. Fires a new intent when submitting a search request)
- SearchResultActivity (Contains an overview of movies that are the result of a JSON search request by movie name)
- MovieDetailActivity (Shows detailed information about a selected movie)
- FavoritesActivity (Favorite movies of the user)
The app makes use of the TMDB API. The Movie Database (TMDb) is a community built movie and TV database. You can find more information on their website.
JSON request URL's are build within the NetworkUtils class.
Recyclerviews are used within the TrendingActivity (Movies), SearchResultActivity (Movies), FavoritesActivity (Movies) and MovieDetailActivity (Cast / Crew). Their adapters can be found within the adapter package.
The current languages are supported: English, German, Dutch. Localization is implementend by supporting different language xml string files. On top of that, the system's language is added to each JSON request so that these results are also localized.
Classes are devided into the following packages: activities, adapters, data, helpers, models.
The app uses SQLite to enable Local Storage functionality. Favorite movies are stored within an local database on the user's device. Local Storage functionality are realised within the FavoritesContract, FavoritesDbHelper and FavoritesActivity classes.
Response layout is implemented. For example, more movies are shown when the app is displayed in landscape mode.
There are some animations implemented within the MovieRecyclerView and MovieDetailActivity.