APP Smile项目----项目结构

一、引言

Smile项目是我自己的一个练习项目,对自己这一年多工作的一个总结。同样这个项目参考了许多APP,有些甚至是原封不动照搬的,我将链接出源项目地址,对这些照搬的项目只是自己觉得好的地方记录想来,并加入注释,看别人的代码也是一种学习嘛。今后我希望服务端的代码也能够由自己来完成。

二、项目结构

1.api----->请求地址接口,网络框架采用的Retrofit2.0
2.appexception------>自定义的异常类
3.config--------->一些配置,包括工具类都放在里面
4.mvp——------>模仿公司的mvp架构
5.googlemvp------>模仿googlemvp进行的实践
6.其他的包都是按照业务进行的划分


Paste_Image.png

三、MVP架构的理解

我觉得MVP就是就是一种接口回调的思想,它将业务模块和业务进行分离,使业务逻辑不在和页面进行混淆。网上有许多讲解mvp思想文章:
https://segmentfault.com/a/1190000003927200
http://www.jianshu.com/p/9a6845b26856

简单的拿我的例子说明一下googlemvp的思路:

1.首先有两个Base类,一个是BaseView:

负责注入Presenter对象:


Paste_Image.png

2.BasePresenter:

start方法负责一些需要预加载的任务


Paste_Image.png

3.契约类

针对不同的业务需要不同的契约接口:它将Presenter层和View层进行关联,在同一个接口中维护起来也很方便

Paste_Image.png

4.在Presenter的构造方法中注入Presenter对象。

在new Presenter时,同时给createPresenter方法注入presenter对象,这样页面就可以拿到presenter对象了。至于什么时候new一个paresnter对象呢?如果是activity,在onCreate方法中实例化一下,如果是fragment,在负责管理这个fragment中实例化。

Paste_Image.png
拿到presenter
实例化presenter
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容