java-android-architecture
Installation
SKILL.md
Java Android Clean Architecture & Modularization
Instructions
When designing or refactoring a Java-based Android app, follow Clean Architecture principles. Dependencies must flow inwards toward pure Java domain code. The repository standard is Java 17 with AndroidX + Hilt.
1. High-Level Layers
- Presentation Layer
- Responsibility: Rendering views and handling user input.
- Components:
Activity,Fragment,ViewModel(Jetpack),LiveData, adapters. - Dependencies: Domain interfaces only (UseCases or repository interfaces).
- Domain Layer (Pure Java)
- Responsibility: Business rules and domain entities.
- Components: UseCases (e.g.
GetArticles), immutable entities (preferrecords), repository interfaces. - Rule: MUST NOT import
android.*orandroidx.*. Keep under:domainmodule orcom.example.app.domain.
- Data Layer
- Responsibility: Fetching, caching, and persisting data.
- Components: Repository implementations, Retrofit services, Room DAOs, DTOs + mappers.