awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
KunMinX avatar

KunMinX/Jetpack-MVVM-Best-Practice

0
View on GitHub↗
8,928 stars·1,650 forks·Java·9 views

Jetpack MVVM Best Practice

This project is a reference implementation of the Model-View-ViewModel pattern using Android Jetpack components. It serves as an architecture template and layering guide, dividing application code into view, domain, and data layers to ensure a unidirectional flow of dependencies.

The implementation focuses on state management and configuration change handling. It demonstrates how to synchronize UI updates across multiple screens using shared state containers and preserves application state during transitions between portrait and landscape orientations.

The codebase covers a broad surface of Android architecture, including data flow management, the repository pattern for data abstraction, and the use of lifecycle-aware containers to maintain a single source of truth.

Features

  • MVVM Architectures - Provides a reference implementation of the MVVM architecture to separate UI layout from application logic.
  • Repository Patterns - Abstracts data sources into a single API to decouple business logic from network or local database implementations.
  • Data Flow Orchestrators - Manages the movement of data between layers to ensure a single source of truth.
  • Android Examples - Provides a reference implementation for synchronizing UI updates and exchanging data between screens using shared state containers.
  • UI Data Observers - Uses observable data holders to automatically notify and update the user interface when state changes.
  • UI Data Binding - Binds view components to data streams so the interface updates automatically upon source-of-truth changes.
  • Android Implementations - Demonstrates a clean architecture implementation for Android with separated domain, data, and presentation layers.
  • Domain Data Presentation Layers - Divides the application into view, domain, and data layers to enforce dependency inversion.
  • Lifecycle-Aware State Management - Integrates Jetpack ViewModel to manage UI state and data flow during configuration changes.
  • Layered Architectures - Organizes the codebase into distinct functional layers to separate concerns and ensure unidirectional data flow.
  • Lifecycle-Aware State Holders - Utilizes lifecycle-aware containers to preserve UI state during configuration changes like screen rotations.
  • Jetpack Navigation Components - Implements screen transitions and argument passing using the Jetpack Navigation component.
  • Shared State Containers - Passes information between different screens using shared state containers for reliable communication.
  • Cross-View State Synchronizations - Shares and updates information across multiple views and fragments to maintain interface consistency.
  • Layout Orientation Recalculation - Preserves application state and avoids errors when switching between portrait and landscape modes.
  • Screen Orientation Management - Manages display rotation and state preservation when switching between portrait and landscape orientations.
  • Orientation Change Restorations - Implements patterns to preserve application state during device orientation changes.
  • UI State Synchronization - Distributes updates across multiple views using a centralized data source to keep the interface consistent.

Star history

Star history chart for kunminx/jetpack-mvvm-best-practiceStar history chart for kunminx/jetpack-mvvm-best-practice

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Jetpack MVVM Best Practice

These projects share indexed features with Jetpack MVVM Best Practice. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • android10/android-cleanarchitectureandroid10 avatar

    android10/Android-CleanArchitecture

    15,540View on GitHub↗

    This is a reference implementation of Uncle Bob's clean architecture for Android, structured into distinct domain, data, and presentation layers. The project demonstrates how to organize an Android application around business use cases, keeping domain logic and entities free from framework dependencies. The architecture enforces dependency inversion through layered separation, where inner domain layers define interfaces that outer layers implement. This approach enables repository abstractions for data source switching, presenter-view separation for testable UI logic, and use-case composition

    Javaandroidandroid-applicationandroid-architecture
    View on GitHub↗15,540
  • skydoves/pokedexskydoves avatar

    skydoves/Pokedex

    8,334View on GitHub↗

    Pokedex is a reference implementation of an Android application that utilizes the MVVM architecture, Jetpack Compose for its declarative user interface, and Hilt for dependency injection. It serves as a sample project demonstrating a mobile application built with Android Jetpack and a Kotlin Coroutines network client to manage asynchronous data requests. The project implements a modular codebase to optimize build performance and enforce internal boundaries. It features a local persistence layer using the Room library to cache remote data on the device and utilizes Material Motion for fluid in

    Kotlinandroidcoroutineshilt
    View on GitHub↗8,334
  • goldze/mvvmhabitgoldze avatar

    goldze/MVVMHabit

    7,701View on GitHub↗

    MVVMHabit is an Android development framework and base library that implements the MVVM architecture using Android Architecture Components. It provides a pre-integrated foundation designed to decouple business logic from user interface rendering and lifecycle management. The project distinguishes itself by bundling a comprehensive set of architectural templates, including a reactive event bus for decoupled component communication, token-based data exchange between logic instances, and a single-activity fragment hosting system to reduce manifest overhead. The framework covers broad capability

    Javaaacdatabindingglide
    View on GitHub↗7,701
  • android/architecture-samplesandroid avatar

    android/architecture-samples

    45,719View on GitHub↗

    This project is a collection of reference implementations demonstrating recommended patterns for organizing code and managing data flow in Android applications. It provides structural examples of layered architecture, separating code into presentation, domain, and data layers to decouple business logic from data sources. The repository includes specific samples for implementing declarative user interfaces that automatically update their visual state based on underlying data changes. It further demonstrates how to manage object lifetimes and component dependencies to reduce boilerplate and sim

    Kotlinandroidandroid-architecturesamples
    View on GitHub↗45,719
Compare all 30 related projects→

Frequently asked questions

What does kunminx/jetpack-mvvm-best-practice do?

This project is a reference implementation of the Model-View-ViewModel pattern using Android Jetpack components. It serves as an architecture template and layering guide, dividing application code into view, domain, and data layers to ensure a unidirectional flow of dependencies.

What are the main features of kunminx/jetpack-mvvm-best-practice?

The main features of kunminx/jetpack-mvvm-best-practice are: MVVM Architectures, Repository Patterns, Data Flow Orchestrators, Android Examples, UI Data Observers, UI Data Binding, Android Implementations, Domain Data Presentation Layers.

Which projects share features with kunminx/jetpack-mvvm-best-practice?

Projects with overlapping indexed features include: android10/android-cleanarchitecture — This is a reference implementation of Uncle Bob's clean architecture for Android, structured into distinct domain,… skydoves/pokedex — Pokedex is a reference implementation of an Android application that utilizes the MVVM architecture, Jetpack Compose… reactivecocoa/reactivecocoa — ReactiveCocoa is a functional reactive programming framework and Cocoa UI binding layer. It provides a library for… android/architecture-samples — This project is a collection of reference implementations demonstrating recommended patterns for organizing code and… goldze/mvvmhabit — MVVMHabit is an Android development framework and base library that implements the MVVM architecture using Android… mvvmcross/mvvmcross — MvvmCross is a .NET MVVM framework designed for building cross-platform applications by separating business logic from…