项目地址:https://github.com/googlesamples/android-architecture
architecture的解释:n. 建筑学;建筑风格;建筑式样;建筑艺术;架构。
说明该项目就是GG官方的一个关于架构的示例
项目down下来之后,使用git 查看分支就是一个个简单的架构示例
如下:
master
todo-databinding
* todo-mvp
todo-mvp-clean
todo-mvp-contentproviders
todo-mvp-dagger
todo-mvp-loaders
todo-mvp-rxjava
remotes/origin/HEAD -> origin/master
remotes/origin/dev-todo-mvp-clean-fix-memory-leak
remotes/origin/dev-todo-mvp-tablet
remotes/origin/dev-todo-mvp-tablet_dialogfragment
remotes/origin/dev-todo-mvvm-databinding
remotes/origin/master
remotes/origin/todo-databinding
remotes/origin/todo-mvp
remotes/origin/todo-mvp-clean
remotes/origin/todo-mvp-contentproviders
remotes/origin/todo-mvp-dagger
remotes/origin/todo-mvp-loaders
remotes/origin/todo-mvp-rxjava
README.md中的描述:
Sample | Description |
---|---|
todo‑mvp | Demonstrates a basic Model‑View‑Presenter (MVP) architecture and provides a foundation on which the other samples are built. This sample also acts as a reference point for comparing and contrasting the other samples in this project. |
todo‑mvp‑loaders | Fetches data using the Loaders API. |
todo‑databinding | Uses the Data Binding Library. |
todo‑mvp‑clean | Uses concepts from Clean Architecture. |
todo‑mvp‑dagger | Uses Dagger2 to add support for dependency injection. |
todo‑mvp‑contentproviders | Based on the todo-mvp-loaders sample, this version fetches data using the Loaders API, and also makes use of content providers. |
todo‑mvp‑rxjava | Uses RxJava to implement concurrency, and abstract the data layer. |
Sample | Description |
---|---|
dev‑todo‑mvp‑tablet | Adds a master and detail view for tablets. |
dev‑todo‑mvvm‑databinding | Based on the todo-databinding sample, this version incorporates the Model‑View‑ViewModel architecture. |
For information about planned samples, see “New sample” issues.
External samples are variants that may not be in sync with the rest of the branches in this repository.
Sample | Description |
---|---|
todo‑mvp‑fragmentless | Uses View objects instead of Fragment objects. |
todo‑mvp‑conductor | Uses the Conductor framework to refactor the app to use a single Activity architecture. |
简单的说下,”stable samples” 就是稳定的示例;”smaples in progress”就是正在完善开发中的示例;”external samples”就是其他一些开发者fork本项目后做的一些改进版
关于todo app这个项目的内容,它的基本业务:核心就是一个任务列表。包括编辑创建任务(任务属性有标题和内容);勾选已完成的任务;查看所有任务列表,有三种状态,All、Active、Completed;任务统计
不同分支,只是用了不同的architecture