Android Networking and Persistence samples using The Movie DB API
This is an Android demo application for displaying the latest box office movies using the The Movie DB API.
Overview
Purpose of this app is to demostrate usage of various networking and persistence libraries in Android
Nerworking libraries samples
-
HttpURLConnection and AsyncTask
- Follow Displaying Remote Images (The "Hard" Way) on our cliffnotes for a step-by-step tutorial.
-
AsyncHTTPClient - A Callback-Based Http Client Library for Android
- Follow Using Android Async Http Client on our cliffnotes for a step-by-step tutorial.
-
Picasso - For remote image loading third party library
- Follow Displaying Images with the Picasso Library on our cliffnotes for a step-by-step tutorial.
-
OkHttp - An HTTP & HTTP/2 client for Android
- Follow Using OkHttp on our cliffnotes for a step-by-step tutorial.
-
Volley - HTTP library that makes networking for Android apps easier and most importantly, faster.
- Follow Networking with the Volley Library on our cliffnotes for a step-by-step tutorial.
-
Retrofit - A type-safe HTTP client for Android
- Follow Consuming APIs with Retrofit on our cliffnotes for a step-by-step tutorial.
ORM libraries samples
- DBFlow - A robust, powerful, and very simple ORM android database library with annotation processing
- Follow DBFlow Guide on our cliffnotes for a step-by-step tutorial.
App features
- Fragment navgation drawer
- Use of Action bar
- Displays list of movies using RecyclerView
- Displays content using Fragments
- Demonstrates use of Creating Custom Listeners
Gif
Installation
Quick note is that you must provide your own API key for The Movie DB API in order to use this demo. To get an API key, you need to register for an account (or sign in). Once you have the key, put the key into the API_KEY
constant in the ./app/src/main/res/values/secrets.xml
file:
<resources>
<string name="api_key">XXXX</string>
</resources>
Once you've setup the key and imported the project into Android Studio, you should be all set.
Attribution
This code was created by Shrikant Pandhare in 2016 for use in CodePath sessions.