Skip to content

NicosNicolaou16/Pokedex_Compose_XR

Repository files navigation

Pokedex Compose XR

Linktree Static Badge X LinkedIn Medium Mastodon Bluesky Dev.to blog YouTube Static Badge

Pokedex Compose XR is an open-source project that blends the charm of the Pokédex with cutting-edge Extended Reality (XR) experiences, powered by Jetpack Compose. Built on top of the early-access AndroidX XR library, it showcases how immersive Pokémon data visualization can work across AR and VR devices.

✨ Key Features

  • Immersive Pokémon Browsing: View Pokémon models, stats, and details in a fully spatial environment.
  • Compose-Driven UI: Leverage the power of Jetpack Compose to create responsive, dynamic XR layouts.
  • Interaction Experiments: Test gesture controls, spatial navigation, and XR-native interface patterns.
  • Extensible Architecture: Designed to be easily adapted for other 3D catalog experiences by replacing datasets or integrating new XR hardware.

Pokedex Compose XR is both a showcase and a playground for developers interested in building XR apps with the AndroidX XR library, offering real-world examples to accelerate experimentation and learning.

🔧 How to Test

To run and experiment with Pokedex Compose XR, you’ll need:

  1. The latest Canary build of Android Studio (e.g., Android Studio Narwhal 3 Feature Drop | 2025.1.3 Canary 4).
  2. XR System Images for the Android Emulator to simulate an Extended Reality environment without physical hardware.
  3. Clone this repository, open it in Android Studio, and select an XR Emulator device profile to launch the app.

This setup ensures you can explore the project as intended in a full virtual XR environment.

🛠️ Tech Stack & Core Technologies

This project is built using modern, recommended technologies for creating spatial and immersive Android experiences.

  • UI & Spatialization:

    • Jetpack Compose for XR: A declarative UI toolkit for building native, spatial user interfaces in XR.
    • Palette API: Extracts prominent colors from Pokémon images to dynamically theme UI components.
    • Coil: A lightweight, modern image loading library for Android backed by Kotlin Coroutines.
  • Core Architecture & Language:

    • Kotlin: The primary programming language, offering concise, safe, and modern syntax.
    • Coroutines & KTX: For managing background threads and writing more expressive code.
    • MVVM Architecture: A clear separation of concerns between the UI, business logic, and data layers using a Repository pattern.
    • UI State Management: Manages UI state for loading, loaded, and error conditions.
  • Data & Networking:

    • Retrofit: A type-safe HTTP client for fetching data from the remote server.
    • Room Database: Provides an abstraction layer over SQLite for robust offline data access.
  • Dependency Injection & Build Tools:

    • Hilt: A dependency injection library that reduces the boilerplate of manual dependency injection.
    • KSP (Kotlin Symbol Processing): An API for creating lightweight, high-performance compiler plugins in Kotlin.
    • R8: A code shrinker that reduces your app's size by removing unused code and resources.
  • Custom Components:

🔧 Versioning

  • XR Compose version: 1.0.0-alpha10
  • XR Runtime version: 1.0.0-alpha10
  • Material3 XR Compose version: 1.0.0-alpha14
  • XR Extensions version: 1.2.0
  • Target SDK: 36
  • Minimum SDK: 29
  • Kotlin Version: 2.3.10
  • Gradle Version: 9.0.0

📚 References & Tutorials

Packages

 
 
 

Contributors

Languages