M-OV-ies - An Android Application that helps users find where to stream their favorite movies

Related tags

App m-OV-ies
Overview

Stream-ON

Video Demo:

Description:

Final Project for CS50 - 2021: An Android Application that helps users find where to stream their favorite movies.

Select your streaming services and search for movies. Stream-ON will return results if the movie is available on one of your services. If you click on any of the movie results, it will also tell you where it is available.

Important Information:

The API that was used for this app is a Freemium API which means it has some limitations on the free version. Stream-ON can only do 100 requests per day and after that will return an error message. This means you will need to wait one day before you can continue the use of the App. Each service adds another request to the search. So for testing purposes I would recommend to only use 2-4 services.

API Used:

https://rapidapi.com/movie-of-the-night-movie-of-the-night-default/api/streaming-availability/

Created Kotlin Files

AuthenticationInterceptor.kt

Purpose: Authentication Interceptor holds the information about the API Authentication. This is needed to connect to the API.

MovieAPIInterface.kt

Purpose: API Interface that describes which API calls are available and which information is needed in order to call it. Only one API call is available: Basic Search

MovieAPIResponseClass.kt

Purpose: Response Class that describes how the returned JSON is designed. This class makes it possible to use the returned JSON.

AppModule.kt

Purpose: Helper Module in order to create a HTTP Client and an API Service, which is needed to make API calls

CardAdapter.kt

Purpose: Card Adapter binds each movie into a "card" on the Main Activity This is needed in order to use Android's Recycler View

CardViewHolder.kt

Purpose: Card View Holder is used to show what is inside of each card. The title and description and the image are bound to a "Card"

MainActivity.kt

Purpose: Activity for the home and search page. This is the Activity that is being started when the app opens. This Activity has the functionality to search and show movies. API Calls are being executed from here.

MovieClass.kt

Purpose: MovieClass is a description of my custom data class of a Movie. It describes what information is available / needed for each movie.

MovieClickListener.kt

Purpose: MovieClickListener is a simple custom click listener that tells my app which movie was clicked on exactly.

MovieDetailActivity.kt

Purpose: Activity for the detail page. This is the Activity that is being started when the user clicks on any movie. This Activity has the functionality to display movies. API Calls are NOT being executed from here.

MovieSettingsActivity.kt

Purpose: Activity for the settings page. This is the Activity that is being started when the user opens the app for the first time or when the user clicks on the settings icon in the nav bar. This Activity has the functionality to display and save the user's settings. API Calls are NOT being executed from here.

Created XML Files

strings.xml

Holds a list of all the used text in the Stream-ON Application

activity_main.xml

XML that describes how the main page of the application looks. It's a Linear Layout that shows the navigation bar with a settings icon. It also has the search bar with a search button and a Recycler View beneath it. The Recycler View is used to show movie cards. I have used the Recycler View as the movies that are being returned are dynamic and the number of returned movies can vary.

card_cell.xml

XML that describes how each card looks. It's a simple Linear Layout that can display an image and two TextViews (Title and description). This card is used inside of the Recycler View and can be displayed multiple times inside of it.

activity_movie_detail.xml

XML that describes how the detail page looks. Scrollview is used to show static data. It can display an image some text and a table of text to show the movie details.

activity_settings.xml

XML that describes how the settings pake looks. This page is a Linear Layout as it simply shows a group of radio buttons for the available countries and a group of checkboxes for the services.

You might also like...
Simple Application that helps individuals prioritize by directly comparing items in a list and ranking their importance to the individual

Analysis.Paralysis Simple Application that helps individuals prioritize by directly comparing items in a list and ranking their importance to them. Cu

Unicopy is an application for Android devices and helps users to copy useful special characters

Unicopy Android Application Unicopy is an application for Android 'Phone' Devices. This helps you to copy and paste some special and complicated Unico

An app that allows you to search for Github profiles of users and their repositories [d.light Android Engineer Test], for the Android Engineer Role
An app that allows you to search for Github profiles of users and their repositories [d.light Android Engineer Test], for the Android Engineer Role

An app that allows you to search for Github profiles of users and their repositories [d.light Android Engineer Test], for the Android Engineer Role

Cryptac - Mobile application to track your favorite cryptos information. 🚀
Cryptac - Mobile application to track your favorite cryptos information. 🚀

What is it? 🤔 Cryptac is a mobile application that allows you to track the main important information about your favorite cryptos. It is currently av

Cryptac is a mobile application that allows you to track the main important information about your favorite cryptos
Cryptac is a mobile application that allows you to track the main important information about your favorite cryptos

Cryptac is a mobile application that allows you to track the main important information about your favorite cryptos.

Readow - Readow RSS Reader application. It’s fast and clean, giving you the freedom to enjoy your favorite news
Readow - Readow RSS Reader application. It’s fast and clean, giving you the freedom to enjoy your favorite news

Readow Readow RSS Reader application. It’s fast and clean, giving you the freedo

An app allows the users to get top news about their countries
An app allows the users to get top news about their countries

News App This app allows the users to get top news about their countries. In the following figure, you can find the developed architecture: App consis

An Open Source App which enables users to drop all their professional handles and projects at one place.
An Open Source App which enables users to drop all their professional handles and projects at one place.

An Open Source App which enables users to drop all their professional handles and projects at one place. This is a Beginner Friendly Repository made for Open Source Enthusiasts who can contribute to the App during HacktoberFest 2021.

Changelog - a android library, it helps developers display the history of changes in their applications
Changelog - a android library, it helps developers display the history of changes in their applications

Changelog is a android library, it helps developers display the history of changes in their applications. Supports Locales, Layout direction

Owner
null
Android Application for a user’s favorite Movies, TV shows and Anime while keeping up to date with the latest releases.

Android Application for a user’s favorite Movies, TV shows and Anime while keeping up to date with the latest releases.

PEC ACM CSS 20 Dec 26, 2022
Find your new favorite wallpaper that looks just like you 🖌️

Wollpaper Find your new favorite wallpaper that looks just like you. Builds The pre-built app can be downloaded under "releases" on the right side of

Vinícius Resende 2 May 16, 2022
Android App CMS-1 IES IPS Academy Indore

Android App CMS-1 IES IPS Academy Indore

MOHIT GUPTA 7 Dec 10, 2022
Plannr is an organizational platform, in the form of an Android app, that helps university students coordinate their everyday routine, from schoolwork and expenses to their personal life.

Plannr Plannr is an organizational platform, in the form of an Android app, that helps university students coordinate their everyday routine, from sch

null 7 May 1, 2022
Movies-db-example - Sample Android application that loads movies data from a remote server

Movies Application Sample Android application that loads movies data from a remo

Bilal Ibrahim Hairab 0 Feb 8, 2022
Movies - Simple Application to show movies and advertisemnets

Movies Simple Application to show movies and advertisemnets Technologies This Ap

Reham Galal 0 Feb 3, 2022
A simple covid-19 response application to give users an idea of the severity of their covid-19 status and profer steps to take based on the severity.

COVID-19 Response ?? A simple covid-19 response application to give users an idea of the severity of their covid-19 status and profer steps to take ba

Samson Achiaga 5 Oct 4, 2022
HostelMate - A Need For Hosteler (An Android App that helps students to find the best resource like hostels and tiffin centers etc.)

Android-Study-Jams-Hostel-Mate HostelMate - A Need For Hosteler (An Android App that helps students to find the best resource like hostels and tiffin

null 2 Feb 28, 2022
Helps to find your surrounding's light value (for android only) using device light sensor

react-native-ambient-light-sensor Helps to find your surrounding's light value (in lux unit) (for android only) using device light sensor Installation

Shayan Chatterjee 4 Aug 26, 2022
IND appointment checker helps you to find some available slots in IND website.

IND Appointment Checker What is IND? The Immigration and Naturalisation Service (IND) assesses all residence permit applications from the people who w

Ufuk Halis 3 Oct 18, 2022