Skip to content

BaVilius/learnontv

Repository files navigation

LearnOnTV

A personal sandbox Android TV app for exploring Android TV development with Jetpack Compose and Apollo GraphQL. Built to get hands-on experience with both technologies in a real app context.

What it does

LearnOnTV is a language-learning quiz app designed for TV screens.

Screens

Home — Displays a horizontal row of task group cards (e.g. "English Vocabulary", "Spanish Basics"). Cards with available content are tappable; empty placeholder cards show a "Coming soon" toast.

Task session — A sequential fill-in-the-missing-word quiz. Each task shows a sentence with a blank and four answer buttons. Answer buttons turn green (correct) or red (wrong), with the correct answer highlighted after a wrong pick. A Next/Finish button animates in after each answer.

Tech stack

Language Kotlin 2.1
UI Jetpack Compose + Material 3
GraphQL Apollo GraphQL 4.4
Async Kotlin Coroutines + viewModelScope
Min SDK 30 (Android TV)
Target SDK 35

Setup & launch

Prerequisites

  • Android Studio Meerkat (2025.1) or newer
  • Android SDK with API 30+ installed
  • An Android TV emulator (e.g. ADT-3 system image) or a physical Android TV device

Steps

  1. Clone the repo and open the root folder in Android Studio.
  2. Let Gradle sync complete — it will download dependencies and run Apollo code generation automatically.
  3. Create or verify local.properties in the project root contains the path to your Android SDK:
    sdk.dir=/path/to/your/Android/Sdk
    Android Studio creates this file automatically on first open.
  4. Select or create an Android TV AVD in the Device Manager (any API 30+ TV image works).
  5. Run the app configuration (Run > Run 'app' or Shift+F10).

The app uses mock data, so no network connection or backend is required.

Purpose

This project was created to experiment with:

  • Building a TV-native UI in Jetpack Compose with D-pad focus management and animated focus states
  • Integrating Apollo GraphQL in an Android app — schema design, code generation, query execution, and mocking with MapTestNetworkTransport

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages