An open API service indexing awesome lists of open source software.

https://github.com/nicosnicolaou16/sampleandroidtvapp

The project is a test implementation that uses Jetpack Compose for an Android TV OS app. It includes API requests to fetch a dynamic list, integrates Hilt for Dependency Injection, and utilizes Room Database for local data storage.
https://github.com/nicosnicolaou16/sampleandroidtvapp

android-application android-tv android-tv-app compose-android jetpack-compose mvvm repository-pattern room-database

Last synced: 10 months ago
JSON representation

The project is a test implementation that uses Jetpack Compose for an Android TV OS app. It includes API requests to fetch a dynamic list, integrates Hilt for Dependency Injection, and utilizes Room Database for local data storage.

Awesome Lists containing this project

README

          

# Sample Android TV App

The project is a test implementation that uses Jetpack Compose for an Android TV OS app. It includes
API requests to fetch a dynamic list, integrates Hilt for Dependency Injection, and utilizes Room
Database for local data storage.

# The Project Contain the following technologies

[Android TV OS]()https://developer.android.com/tv is a version of Android designed for smart TVs,
providing an optimized interface for streaming and apps.

The programming language is the [Kotlin](https://kotlinlang.org/docs/getting-started.html), it is a
modern, JVM-based programming language that is concise, safe, and interoperable with Java.

[Kotlin Coroutines](https://kotlinlang.org/docs/coroutines-overview.html) is used for asynchronous
tasks.

[Kotlin KTX](https://developer.android.com/kotlin/ktx) is a collection of Kotlin extensions that
offer more concise and expressive code for working with Android APIs and libraries.
The UI is build using [Jetpack Compose](https://developer.android.com/develop/ui/compose).

[Retrofit](https://square.github.io/retrofit/) is responsible for making requests and retrieving
data from the remote server. ([Repository](https://github.com/square/retrofit))

[Hilt Dependencies Injection](https://developer.android.com/training/dependency-injection/hilt-android)
is an Android library that simplifies dependency injection by using annotations to automatically
manage and provide dependencies across components, built on top of
Dagger. ([Documentation](https://dagger.dev/hilt/))

[Room Database](https://developer.android.com/training/data-storage/room) is responsible for saving
the retrieved data from the remote server, querying data from the local database, and supporting
offline functionality.

[MVVM](https://developer.android.com/topic/architecture#recommended-app-arch) with repository is an
architecture where the Repository manages data sources (e.g., network, database), the ViewModel
processes the data for the UI, and the View displays the UI, ensuring a clear separation of
concerns.

[KSP](https://developer.android.com/build/migrate-to-ksp) ("Kotlin Symbol Processing") is a tool for
efficient annotation processing in Kotlin, providing faster code generation and symbol manipulation
compared to KAPT. [Repository](https://github.com/google/ksp)

[R8](https://developer.android.com/build/shrink-code) enabled, is a code shrinker and obfuscator for
Android that optimizes and reduces the size of APKs by removing unused code and resources, while
also obfuscating the remaining code to improve security.

# Setup

## Setup in Manifest

```xml











```

> [!IMPORTANT]
> Check my article for the setup :point_right: [Android TV Application (Setup for Jetpack Compose and Flutter)- Medium](https://medium.com/@nicosnicolaou/android-tv-application-jetpack-compose-and-flutter-f4decfa765c6) :point_left:

> [!IMPORTANT]
> Similar project with (Dart Language) :point_right: [SampleFlutterTVApp](https://github.com/NicosNicolaou16/SampleFlutterTVApp) :point_left:

#Versioning

Target SDK version: 35

Minimum SDK version: 28

Kotlin version: 2.1.0

Gradle version: 8.7.3

# Feeds/Urls/End Point (parsing some data from response)

## (Links References for Ends Points)

https://github.com/r-spacex/SpaceX-API (GitHub)

https://docs.spacexdata.com/?version=latest (Postman)

# References/Tutorials Follow/For Manifest Setup

https://developer.android.com/training/tv/playback/compose

https://developer.android.com/jetpack/compose/touch-input/focus/react-to-focus

https://stackoverflow.com/questions/76281554/android-jetpack-compose-tv-focus-restoring