This is the repo for the mobile track of Devfest India 2020. You can use this repo as your reference to check all the topics that got covered over 3 days.
This repo is for those who wanted to kickstart android development or just started and looking for a reference app that will teach them a few advanced concepts.
The goal of the DevFest 2020 mobile track is to teach you Android development covering basics, intermediate, and advanced topics by creating a BookMyShow movie listing clone. The mobile track is divided into 3 levels
- Beginner - Covering Android UI basics.
- Intermediate - Covering Retrofit to make an API request to remote server and RecyclerView.
- Expert - Covering MVVM architecture and Room Database for offline support.
In the end, you will get an app with a nice movie listing UI supporting offline access.
Repo has 3 branches beginner, intermediate, and expert. Day 1 starts with creating a fresh project and the beginner branch is a snapshot of that. The intermediate branch is a snapshot of the end of day 1. Day 2 starts from the intermediate branch and leads you to the expert branch. Finally, day 3 starts with the expert branch and leads you to the master branch.
So if you know the basics of android development and join us directly on day 2 checkout the intermediate branch and follow along. Similarly, if you are joining us directly on the day 3 checkout expert branch and follow along.
Please note we are using the movie DB API to get movies from the remote server. To get movies from API you would need an API key.
Try this in your code:
companion object { private const val API_KEY = "7bc0651fe0ea5973822df3bd27e779d9" }We would recommend to generate your own API key and use it if above key is not working. Please follow the below steps to configure your own API key.
- Register yourself on https://www.themoviedb.org/signup
- Fill all the required details to signup.
- Open your email and verify the email to get started. (Activate your account)
- Do login with the username and the password(you provided during signup)
- On Top right corner -> Click on your profile icon -> Settings -> API -> Request an Api Key -> Choose developer option(for demo/sample project ) -> Accept the terms -> Fill all the required details (You can give dummy value for application url as you won’t be having that, give good summary for application summary) -> Submit -> Copy API key and use.
Also, note that this will be required for Day 2 where we hit API using retrofit
Each session requires you to copy-paste a few files. Please find the gist of all files required session wise below.
Day 01
- build.gradle file
- colors.xml file
- activity_main.xml file
Day 02
- API key instructions
- Movie.kt file
- NetworkHelper.kt file
- URLs.txt file
Day 03