Skip to content

NicosNicolaou16/SampleAndroidTvApp

Repository files navigation

Sample Android TV App

Linktree Site X LinkedIn Medium Mastodon Bluesky Dev.to blog YouTube Google Developer Profile

A modern test implementation for Android TV OS using Jetpack Compose. This project demonstrates how to handle leanback navigation, remote API integration, and local data persistence.

Important

Check out the full setup guide here:
👉 Android TV Application Setup (Compose & Flutter) - Medium 👈

Important

Similar project (Dart/Flutter version):
👉 SampleFlutterTVApp 👈

✨ Key Features & Technologies

  • Android TV OS: Optimized interface specifically for smart TVs and streaming devices.
  • Jetpack Compose for TV: Modern toolkit for building native TV UIs with focus-aware components.
  • Hilt DI: Dependency injection for clean, testable architecture.
  • Room Database: Local caching and offline support.
  • Retrofit: Type-safe HTTP client for fetching SpaceX API data.
  • Kotlin Coroutines: Asynchronous task management.
  • MVVM Architecture: Separation of concerns using Repositories and ViewModels.
  • KSP: Efficient annotation processing for faster build times.

🛠️ Setup

Manifest Configuration

To support Android TV, you must declare that a touchscreen is not required and specify the Leanback launcher.

<manifest>

    <uses-feature android:name="android.software.leanback" android:required="false" />

    <uses-feature android:name="android.hardware.touchscreen" android:required="false" />

    <application android:banner="@mipmap/ic_launcher">
        <!--other code here-->
        <activity>
            <!--other code here-->
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
                <category android:name="android.intent.category.LEANBACK_LAUNCHER" />
            </intent-filter>
        </activity>
        <!--other code here-->
    </application>
</manifest>

🔧 Versioning

  • Target SDK: 36
  • Minimum SDK: 29
  • Kotlin Version: 2.3.20
  • Gradle Version: 9.1.0

📡 API Reference

This project parses data from the following endpoints:

📚 Resources & Tutorials

⭐ Stargazers

If you find this project useful, please give it a star! View Stargazers on GitHub

🙏 Support & Contributions

This project is a test implementation. Feedback, bug reports, and feature requests are welcome! Please feel free to open an issue or submit a pull request.

About

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.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages