awesome-repositories.com
博客
MCP
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目MCP 服务器关于排名机制媒体报道
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
KunMinX avatar

KunMinX/Jetpack-MVVM-Best-Practice

0
View on GitHub↗
8,928 星标·1,650 分支·Java·3 次浏览

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 历史

kunminx/jetpack-mvvm-best-practice 的 Star 历史图表kunminx/jetpack-mvvm-best-practice 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

Jetpack MVVM Best Practice 的开源替代方案

相似的开源项目,按与 Jetpack MVVM Best Practice 的功能重合度排序。
  • android10/android-cleanarchitectureandroid10 的头像

    android10/Android-CleanArchitecture

    15,540在 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
    在 GitHub 上查看↗15,540
  • skydoves/pokedexskydoves 的头像

    skydoves/Pokedex

    8,334在 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
    在 GitHub 上查看↗8,334
  • goldze/mvvmhabitgoldze 的头像

    goldze/MVVMHabit

    7,701在 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
    在 GitHub 上查看↗7,701
  • android/architecture-samplesandroid 的头像

    android/architecture-samples

    45,719在 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
    在 GitHub 上查看↗45,719
查看 Jetpack MVVM Best Practice 的所有 30 个替代方案→

常见问题解答

kunminx/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.

kunminx/jetpack-mvvm-best-practice 的主要功能有哪些?

kunminx/jetpack-mvvm-best-practice 的主要功能包括:MVVM Architectures, Repository Patterns, Data Flow Orchestrators, Android Examples, UI Data Observers, UI Data Binding, Android Implementations, Domain Data Presentation Layers。

kunminx/jetpack-mvvm-best-practice 有哪些开源替代品?

kunminx/jetpack-mvvm-best-practice 的开源替代品包括: 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…