一款 Android 应用,用于下载应用并应用 ReVanced 补丁进行定制,基于 ReVanced Patcher 构建。
android/architecture-samples
谷歌提供的 TODO 应用示例,通过多个分支对比 Android 架构模式、工具与测试方法。
- Star
- 45,879
- Fork
- 11,850
- 未关闭 Issue
- 228
- 最近提交
- 18小时前
这是什么?
本仓库收集了多个 Android 示例应用,它们用不同的架构方案实现同一个 TODO 应用,便于开发者比较同一功能的组织方式。
当前分支使用 Jetpack Compose 构建界面,采用单 Activity 架构并通过 Navigation Compose 导航。每个页面包含一个 Compose 视图和一个 ViewModel,异步操作由 Flow 与协程处理。数据层由仓库(Repository)统一管理本地 Room 数据库和模拟的远程数据源,依赖注入使用 Hilt,并定义了 `mock` 与 `prod` 两种产品风味。
项目包含单元测试、集成测试和端到端测试,其中共享测试可在模拟器或真机上运行。它主要用于学习和参考,界面刻意保持简单,并不是可直接套用的模板或生产级应用。
核心功能
- 01基于 Jetpack Compose 的界面,采用单 Activity 架构与 Navigation Compose
- 02每个页面配备 ViewModel,使用 Flow 与协程管理响应式状态
- 03仓库层结合 Room 本地存储与模拟远程数据源
- 04使用 Hilt 进行依赖注入
- 05提供 mock 与 prod 两种产品风味
- 06包含单元、集成和端到端测试,其中有可在设备上运行的共享测试
适用场景
- 学习如何用 Compose、ViewModel 和仓库层组织 Android 应用
- 通过不同分支对比同一应用的多种架构方案
- 参考其测试配置编写单元测试和设备端测试
快速上手
- 1
克隆仓库
git clone git@github.com:android/architecture-samples.git - 2
在 Android Studio 中打开 architecture-samples/ 目录
使用前须知
- 需要使用 Android Studio 来构建和运行应用。
- 每种架构方案位于不同分支,需要先检出你想要的分支。
标签
常见问题
- architecture-samples 是什么?
- 谷歌提供的 TODO 应用示例,通过多个分支对比 Android 架构模式、工具与测试方法。 本仓库收集了多个 Android 示例应用,它们用不同的架构方案实现同一个 TODO 应用,便于开发者比较同一功能的组织方式。
- architecture-samples 可以免费使用吗?用的什么许可证?
- architecture-samples 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- architecture-samples 还在维护吗?
- 活跃维护中。architecture-samples 最近一次提交是在 2026年10月20日。
- architecture-samples 适合用来做什么?
- 学习如何用 Compose、ViewModel 和仓库层组织 Android 应用 通过不同分支对比同一应用的多种架构方案 参考其测试配置编写单元测试和设备端测试
- architecture-samples 怎么安装和运行?
- 克隆仓库: git clone git@github.com:android/architecture-samples.git 在 Android Studio 中打开 architecture-samples/ 目录
- 在哪里获取 architecture-samples?
- 源代码和安装说明在 GitHub 上:https://github.com/android/architecture-samples
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
一款跨平台应用商店,可发现并一键安装 GitHub、Codeberg 等 Forgejo/Gitea 平台上发布的开源软件。
一款 Android 图片编辑应用,提供裁剪、绘制、滤镜、OCR、抠图和 PDF 等数十项功能。
一款 Android 本地离线文件转换工具,支持音视频、图片、PDF、Office、字体和字幕转换,文件不上传。
一个基于 Kotlin 的 Android 主动降噪引擎,用 FFT 检测低频嗡鸣并播放反相声波进行抵消。
基于 Kotlin Multiplatform 构建的离线优先阅读器,支持 Android、Linux 和 Windows 上的 PDF、EPUB 等文档。