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

一、引言

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

二、项目结构

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


APP Smile项目----项目结构_第1张图片
Paste_Image.png

三、MVP架构的理解

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

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

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

负责注入Presenter对象:


APP Smile项目----项目结构_第2张图片
Paste_Image.png

2.BasePresenter:

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


APP Smile项目----项目结构_第3张图片
Paste_Image.png

3.契约类

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

APP Smile项目----项目结构_第4张图片
Paste_Image.png

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

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

APP Smile项目----项目结构_第5张图片
Paste_Image.png
APP Smile项目----项目结构_第6张图片
拿到presenter
APP Smile项目----项目结构_第7张图片
实例化presenter

你可能感兴趣的:(APP Smile项目----项目结构)