An Android app that downloads apps and applies ReVanced patches to customize them, built on ReVanced Patcher.
android/architecture-samples
A TODO app sample by Google, implemented in several branches to compare Android architecture patterns, tools and testing approaches.
- Stars
- 45,879
- Forks
- 11,850
- Open issues
- 228
- Last commit
- yesterday
What is it?
This repository collects sample Android apps that implement the same TODO app with different architectural approaches. Each branch shows a different set of tools and patterns, so developers can compare how the same features are structured.
The branch described here is built with Jetpack Compose and uses a single-activity architecture with Navigation Compose. Each screen has a Compose view and a ViewModel, with Flow and coroutines handling asynchronous work. The data layer contains a repository backed by a local Room database and a fake remote data source. Hilt provides dependency injection, and the project defines `mock` and `prod` product flavors.
The project includes unit, integration and end-to-end tests, including shared tests that run on an emulator or device. It is intended as a teaching reference rather than a template or production app, and the app itself is deliberately simple in its UI.
Key features
- 01Jetpack Compose UI with a single-activity architecture and Navigation Compose
- 02ViewModel per screen, with Flow and coroutines for reactive state
- 03Repository data layer with Room local storage and a fake remote source
- 04Hilt dependency injection
- 05mock and prod product flavors
- 06Unit, integration and end-to-end tests, including shared tests
Use cases
- Learning how to structure an Android app with Compose, ViewModel and a repository
- Comparing architectural approaches for the same app across branches
- Using the testing setup as a reference for unit and instrumented tests
Quick start
- 1
Clone the repository
git clone git@github.com:android/architecture-samples.git - 2
Open the architecture-samples/ directory in Android Studio
Things to know
- Requires Android Studio to build and run the app.
- Each architecture approach lives in a different branch, so you must check out the branch you want.
Topics
FAQ
- What is architecture-samples?
- A TODO app sample by Google, implemented in several branches to compare Android architecture patterns, tools and testing approaches. This repository collects sample Android apps that implement the same TODO app with different architectural approaches. Each branch shows a different set of tools and patterns, so developers can compare how the same features are structured.
- Is architecture-samples free to use? What license does it have?
- architecture-samples is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is architecture-samples still maintained?
- Actively maintained. The last commit to architecture-samples was on Oct 20, 2026.
- What can I use architecture-samples for?
- Learning how to structure an Android app with Compose, ViewModel and a repository Comparing architectural approaches for the same app across branches Using the testing setup as a reference for unit and instrumented tests
- How do I install architecture-samples?
- Clone the repository: git clone git@github.com:android/architecture-samples.git Open the architecture-samples/ directory in Android Studio
- Where can I get architecture-samples?
- The source code and installation instructions are on GitHub: https://github.com/android/architecture-samples
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A cross-platform app store that lets you discover and install apps released on GitHub, Codeberg and other Forgejo or Gitea forges.
An Android image editor app with dozens of tools, from crop and draw to 500+ filters, OCR, background removal, and PDF tools.
A local, offline file converter for Android that handles video, audio, image, PDF, Office, font and subtitle conversion on the device without uploads.
An Android active noise cancellation engine in Kotlin that detects low-frequency hums with FFT and plays phase-inverted audio to cancel them.
An Android white-noise app for relaxing, focusing and falling asleep, with a matching web player for mixing natural sounds in the browser.