Popvie - All about movie
Created for Udacity Advanced Android Nanodegree Program - Project 2, Stage 1
Project Overview
Most of us can relate to kicking back on the couch and enjoying a movie with friends and family. In this project, I built an app to allow users to discover the most popular, top rated, now playing and upcoming movies. Development of this app is splitted in two stages. This is Stage 1.
In this stage I built the core experience of Popvie app.
Popvie will:
- Present the user with a grid arrangement of movie posters upon launch.
- Allow user to change sort order via either bottom navigation bar or option menu:
- There are four different sort orders: by most popular, by top-rated, by now playing and by upcoming
- Allow the user to tap on a movie poster and transition to a details screen with additional information such as:
- movie poster image
- original title
- A plot synopsis (called overview in the api)
- user rating (called vote_average in the api)
- popularity
- runtime
- genre
- tagline
- release date
- official site
- budget
- revenue
- production countries
- languages
- production companies
Why this Project?
To become an Android developer, you must know how to bring particular mobile experiences to life. Specifically, you need to know how to build clean and compelling user interfaces (UIs), fetch data from network services, and optimize the experience for various mobile devices. You will hone these fundamental skills in this project.
By building this app, you will demonstrate your understanding of the foundational elements of programming for Android. Your app will communicate with the Internet and provide a responsive and delightful user experience.
What did I learn after Stage 1?
- Fetch data from the Internet with theMovieDB API.
- Use adapters and custom list layouts to populate list views.
- Incorporate libraries to simplify the amount of code you need to write
- Design UI for different screen orientations (portrait and landscape)
- Creating custom actionbar
- Creating GridLayout with dynamic span count changes with screen density
Setup before running
Change API_KEY inside gradle.properties to be able to connect and fetch data.
#API KEY for TMDB access TheMovieDBApiKey="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
Dependencies
- 'com.android.support:appcompat-v7:27.1.0'
- 'com.android.support:cardview-v7:27.1.0'
- 'com.android.support:design:27.1.0'
- 'com.android.support.constraint:constraint-layout:1.0.2'
- 'com.android.support:transition:27.1.0'
- 'com.squareup.retrofit2:retrofit:2.3.0'
- 'com.squareup.retrofit2:converter-gson:2.3.0'
- 'com.squareup.picasso:picasso:2.5.2'
Popvie App Screenshots
License
Source code license: https://github.com/akndmr/PopvieApp/blob/master/LICENSE
Popvie logo & Popvie character license:
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.