基于Mvp模式的项目基础框架—分析篇(二)

上一遍文章中我们了解了框架的使用。今天我们简单的分析一下项目的源码。

一、项目的整体架构包

基于Mvp模式的项目基础框架—分析篇(二)_第1张图片

项目架构图

一、Base文件夹;

基于Mvp模式的项目基础框架—分析篇(二)_第2张图片

Base包内文件

二、adapter:对列表Adapter的封装

基于Mvp模式的项目基础框架—分析篇(二)_第3张图片

Adapter 包内文件

三、interfaces:接口文件夹

基于Mvp模式的项目基础框架—分析篇(二)_第4张图片

interfaces包中问价

其中TextWatcherImpl 为输入框输入监听类,避免每次去实现TextWatcher接口中的方法

四、ui:基类UI:BaseFragmet+BaseActivity

基于Mvp模式的项目基础框架—分析篇(二)_第5张图片

BaseFragment+BaseActivity

五、utils:工具包

基于Mvp模式的项目基础框架—分析篇(二)_第6张图片

工具包

六、widget:自定义View的文件夹

基于Mvp模式的项目基础框架—分析篇(二)_第7张图片

自定义View包中文件

七、statusBar:状态栏文件夹

二、项目的主要逻辑部分(关键类BasePresenter):

基于Mvp模式的项目基础框架—分析篇(二)_第8张图片
BasePresenter

在BaseMvpActivity 或者BaseMvpFragment 的生命周期方法做代理

基于Mvp模式的项目基础框架—分析篇(二)_第9张图片
onCreate方法的实现
基于Mvp模式的项目基础框架—分析篇(二)_第10张图片
生命周期方法的代理
基于Mvp模式的项目基础框架—分析篇(二)_第11张图片

整个Mvp的逻辑大致就是这样的,我个人觉着还是蛮容易理解的!!

三、工具包

1.ActivityManager:使用单例模式,用于管理Activity和退出程序

2.ActivityUtils:Activity跳转辅助类

3.BitmapUtils:图片处理

4.CommUtils:日期转化工具类

5.DensityUtils:dp px sp互换工具类

6.KeyboardUtils:键盘辅助类

7.LogUtils:Android日志输入工具类

8.MD5Utils:MD5加码 生成32位md5码

9.NetworkUtils:网络工具类:检查手机网络是否可用

10.PackageUtils:获取手机版本号, 和版本名称等手机相关信息

11.PhoneUtils:手机屏幕工具类:用户获取手机屏幕信息,状态栏信息等

12.SystemUtils:android系统Action的跳转封装

13.TextViewUtils:特殊字符处理。主要是针对SpannableString的一些方法封装

14.ToastUtils:Toast显示封装

到此,项目框架的分析已经介绍完毕。感谢大家能仔细的看完这篇文章,记得点赞支持下哦!!!

另外,特别感谢:gyf-dev/ImmersionBar android 4.4以上沉浸式状态栏和沉浸式导航栏管理

你可能感兴趣的:(基于Mvp模式的项目基础框架—分析篇(二))