TVShows-moviedb

Android TVShows-moviedb is a minimalist android TV Shows application built on top of TMDb API

Introduction This application uses pure Java, Android Jetpack and Google official libraries only.

Getting Started

This project uses the Gradle build system. To build this project, use the gradlew build command or use "Import Project" in Android Studio.

Application Architecture

Application implemented based on MVVM pattern and repository pattern. MVVM: (Model-View-ViewModel) pattern helps to completely separate the business and presentation logic from the UI, and the business logic and UI can be clearly separated for easier testing and easier maintenance.

Used Libraries

Architecture - A collection of libraries that help you design robust, testable, and maintainable apps. Start with classes for managing your UI component lifecycle and handling data persistence.

  • View Binding- is a new view access mechanism that was released in conjunction with Android Studio, In most cases, view binding replaces findViewById.
  • Lifecycles - Create a UI that automatically responds to lifecycle events.
  • LiveData - Build data objects that notify views when the underlying database changes.
  • Navigation - Handle everything needed for in-app navigation.
  • Room - Access your app's SQLite database with in-app objects and compile-time checks.
  • ViewModel - Store UI-related data that isn't destroyed on app rotations. Easily schedule asynchronous tasks for optimal execution.

UI: User Interface

  • activity- Access composable APIs built on top of Activity.
  • appcompat -Allows access to new APIs on older API versions of the platform (many using Material Design).
  • Fragment - A basic unit of composable UI.
  • cardview - Implement the Material Design card pattern with round corners and drop shadows.

Dependency injection - is a technique in which an object receives other objects that it depends on.

  • Koin- A pragmatic lightweight dependency injection framework for Kotlin developers. Written in pure Kotlin, using functional resolution only: no proxy, no code generation, no reflection..

Kotlin coroutines

Unit Testing

Screenshots

APK

Download APK (Latest TV Moves) Download APK (Popular TV Moves)