ランキングに戻る

android/architecture-samples

Kotlin

A collection of samples to discuss and showcase different architectural tools and patterns for Android apps.

android-architectureandroidsamplessample
スター成長
スター
45.8k
フォーク
11.9k
週間成長
Issue
145
20k40k
2016年3月2019年8月2023年2月2026年7月
README

Android Architecture Samples

These samples showcase different architectural approaches to developing Android apps. In its different branches you'll find the same app (a TODO app) implemented with small differences.

In this branch you'll find:

  • User Interface built with Jetpack Compose
  • A single-activity architecture, using Navigation Compose.
  • A presentation layer that contains a Compose screen (View) and a ViewModel per screen (or feature).
  • Reactive UIs using Flow and coroutines for asynchronous operations.
  • A data layer with a repository and two data sources (local using Room and a fake remote).
  • Two product flavors, mock and prod, to ease development and testing.
  • A collection of unit, integration and e2e tests, including "shared" tests that can be run on emulator/device.
  • Dependency injection using Hilt.

Screenshots

Screenshot

Why a to-do app?

The app in this project aims to be simple enough that you can understand it quickly, but complex enough to showcase difficult design decisions and testing scenarios. For more information, see the app's specification.

What is it not?

  • A template. Check out the Architecture Templates instead.
  • A UI/Material Design sample. The interface of the app is deliberately kept simple to focus on architecture. Check out the Compose Samples instead.
  • A real production app with network access, user authentication, etc. Check out the Now in Android app instead.

Who is it for?

  • Intermediate developers and beginners looking for a way to structure their app in a testable and maintainable way.
  • Advanced developers looking for quick reference.

Opening a sample in Android Studio

To open one of the samples in Android Studio, begin by checking out one of the sample branches, and then open the root directory in Android Studio. The following series of steps illustrate how to open the sample.

Clone the repository:

git clone git@github.com:android/architecture-samples.git

Finally open the architecture-samples/ directory in Android Studio.

License

Copyright 2024 Google, Inc.

Licensed to the Apache Software Foundation (ASF) under one or more contributor
license agreements. See the NOTICE file distributed with this work for
additional information regarding copyright ownership. The ASF licenses this
file to you under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy of
the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations under
the License.
関連リポジトリ
android10/Android-CleanArchitecture

This is a sample app that is part of a series of blog posts I have written about how to architect an android application using Uncle Bob's clean architecture approach.

JavaMavenApache License 2.0android-cleanarchitecturearchitectural
15.5k3.3k
hehonghui/android-tech-frontier

【停止维护】一个定期翻译国外Android优质的技术、开源库、软件架构设计、测试等文章的开源项目

Apache License 2.0android-testingrxjava
blog.csdn.net/bboyfeiyu
10.6k3.3k
JessYanCoding/MVPArms

⚔️ A common architecture for Android applications developing based on MVP, integrates many open source projects, to make your developing quicker and easier (一个整合了大量主流开源项目高度可配置化的 Android MVP 快速集成框架).

JavaMavenApache License 2.0mvprxjava
10.2k2.4k
janishar/android-mvp-architecture

This repository contains a detailed sample app that implements MVP architecture using Dagger2, GreenDao, RxJava2, FastAndroidNetworking and PlaceholderView

JavaMavenApache License 2.0mvp-architecturedagger2
janisharali.com
4.4k1.2k
luckybilly/CC

业界首个支持渐进式组件化改造的Android组件化开源框架,支持跨进程调用。Componentize your android project gradually.

JavaMavenApache License 2.0ccandroid-architecture
luckybilly.github.io/CC-website/
4k631
bufferapp/android-clean-architecture-boilerplate

An android boilerplate project using clean architecture

KotlinMIT Licenseandroidandroid-application
3.7k511
luojilab/DDComponentForAndroid

一套完整有效的android组件化方案,支持组件的组件完全隔离、单独调试、集成调试、组件交互、UI跳转、动态加载卸载等功能

JavaMavenMIT Licenseandroid-architectureandroid-application
3.3k562
Ivy-Apps/ivy-wallet

Ivy Wallet is an open-source money manager app for Android, no longer maintained. You can fork the code or download the final version from Google Play.

KotlinGNU General Public License v3.0kotlinjetpack-compose
play.google.com/store/apps/details
3.2k975
mxdldev/android-mvp-mvvm-flytour

🔥🔥🔥 FlyTour是Android MVVM+MVP+Dagger2+Retrofit+RxJava+组件化+插件组成的双编码架构+双工程架构+双语言Android应用开发框架,通过不断的升级迭代该框架已经有了十个不同的版本,5.0之前工程架构采用gradle配置实现组件化,5.0之后的工程架构采用VirtualAPK实现了插件化,5.0之前采用Java编码实现,5.0之后采用Kotlin编码实现,编码架构由MVVM和MVP组成,工程架构和编码架构及编码语言开发者可根据自己具体的项目实际需求去决定选择使用,该框架是Android组件化、Android插件化、Android MVP架构、Android MVVM架构的集大成者,帮助你快速的搭建自己的App项目开发框架,以便把主要的精力放在自己的项目的业务功能实现上,另外在长期的工作实践中总结整理大量的实用工具类在项目lib_common组件的util包当中方便大家调用。

JavaMavenApache License 2.0mvp-androidandroidmodule
menxindiaolong.blog.csdn.net/article/details/94975829
3.2k553
Blankj/AndroidStandardDevelop

:star2: Best practices in Android develop(final).

Apache License 2.0standardandroid-development
blankj.com/2017/03/08/android-standard-dev-final
3k581
janishar/android-mvvm-architecture

This repository contains a detailed sample app that implements MVVM architecture using Dagger2, Room, RxJava2, FastAndroidNetworking and PlaceholderView

JavaMavenApache License 2.0mvvmmvvm-architecture
janisharali.com
3k913
xiaojinzi123/Component

A powerful componentized framework.一个强大、100% 兼容、支持 AndroidX、支持 Kotlin并且灵活的组件化框架. 大家尽量用 纯 Kotlin 的 KComponent 呀!!!

JavaMavenApache License 2.0componentandroid
github.com/xiaojinzi123/Component/wiki/Component-%E5%92%8C-ARouter-%E6%AF%94%E8%BE%83
2.9k212