http://www.jianshu.com/p/798536fb91c5

项目启发来自谷歌的同类框架项目
https://github.com/googlesamples/android-architecture

然后找了个自己练手的App做了个更简易好理解版本的同类项目,开了个超级大坑~
https://github.com/boredream/DesignResCollection

欢迎star项目以及follow我,项目将持续更新!!!


DesignResCollection

提供同一个App的不同架构实现,对其进行对比分析,方便大家选取使用

为什么要做这样一个项目

Android 的框架多用MVC模型进行开发,而其中的Activity经常承担了大量的V和C的工作,既处理逻辑又处理UI。
因此Activity中很容易聚集大量代码,造成结构复杂混乱、测试维护困难等诸多不便。

这个项目就是为了帮助解决这个问题的。其中将提供一个相同的应用程序,然后使用不同的框架实现之。

您可以使用本项目中的示例代码作为参考,或者直接作为项目的架子在此之上继续开发自己的项目。
本项目中,主要关注的重点在于代码的结构框架、测试以及可维护性。
但是要注意,这里提供了不同的架构,各自有自己的优缺点。因此在选取时要根据自己的需要选择对应的框架结构。
比如你只是一个简单的App,不需要单元测试,功能UI都比较少,那直接MVC结构即可。


代码示例 [持续开发中...]

显示设计网站中收集来的资源的一个应用DesignResCollection,不同结构对应不同的[_结构后缀]。
比如基本的MVP结构就是 DesignResCollection_MVP。不同结构的具体介绍请查看对应文件夹中的README.md

已开发完成的示例

待开发的示例

其他相关示例

  • DesignResCollection(ing...) - 完整App代码,不断丰富完善中,实现一个最终完整版。本项目中的示例是基于此项目做了功能和页面上的精简,便于演示不同代码结构。
  • DesignCollectionCloudEngine - 部署在LeanCloud上的云代码项目,用于定时爬取数据保存到LeanCloud中为应用提供数据来源的。

开发计划

2016.8.17~
DesignResCollection_MVP/ - Model-View-Presenter 结构。


通用依赖框架

  • 使用LeanCloud作为后端服务,比较简单,无需自行开发。
  • 使用LeanCloud的Restful-API接口。(不用LeanCloud的Android SDK,更贴近于实际开发中用开发接口文档的情景)
  • 网络框架部分使用Retrofit2.0 + RxJava。
  • 图片使用Glide。
  • 代码助手Model常见工具类、功能等都封装到了这个依赖Model中,一来为了方便,二来让注意力更集中在项目框架结构上。

到底使用哪种框架使用在我自己的app中?

每个框架示例中都有一个README,你可以先查看下每种的特点。
最终项目里还会对比下所有框架的优缺点列出来,方便你根据自己具体情况进行全面的比较选取。


应用截图

device-2016-08-17-142555.png

device-2016-08-17-142654.png

device-2016-08-17-142712.png

device-2016-08-17-142739.png

使用

在Github中下载~ 解压~ Open对应框架项目的文件夹

最新文章

  1. HTML5实战1
  2. No.016:3Sum Closest
  3. easy ui datagrid 中getSelections方法只能获取一行数据
  4. 在aspx怎么引用public string getPicurl(string picurl)?
  5. flex+AS3编程规范
  6. apply与call
  7. Web文件的ContentType类型收集
  8. QT 十六进制整数变为字符串自动补0 && 十进制补零
  9. echo "hello" | nc -4t -w1 localhost 8001
  10. Plugin 'FEDERATED' is disabled 或 1067错误 启动错误与“服务 mysql 意外停止”解决方法
  11. 达到XML简单的动态配置
  12. C#中static void Main(string[] args) 参数详解
  13. python入门学习笔记(二)
  14. 【代码笔记】Web-CSS-CSS Align
  15. PYTHON访问数据库
  16. oracle12c安装[INS-30131]异常
  17. node中可读流、可写流
  18. CentOS7安装OpenStack(Rocky版)-01.控制节点的系统环境准备
  19. AsyncTask异步类的简单操作
  20. Linux——权限管理命令简单笔记

热门文章

  1. Django From表单定制
  2. 前端性能优化插件 --- PageSpeed Insights
  3. OJ (Online Judge)使用
  4. 017-Servlet抽取时的BaseServlet模板代码
  5. underscore javascript工具库支持seajs模块化
  6. TOJ 4523 Transportation
  7. 【学习】Unity手游之路<十二>手游资源热更新策略探讨
  8. 深入理解JavaScript系列(21):S.O.L.I.D五大原则之接口隔离原则ISP
  9. [转] EF cannot be tracked because another instance of this type with the same key is already being tracked
  10. mysql应用学习-windows(64位)安装和配置mysql(5.6.20)