基于Mvp模式的项目基础框架—分析篇(二)
上一遍文章中我们了解了框架的使用。今天我们简单的分析一下项目的源码。
一、项目的整体架构包
项目架构图
一、Base文件夹;
Base包内文件
二、adapter:对列表Adapter的封装
Adapter 包内文件
三、interfaces:接口文件夹
interfaces包中问价
其中TextWatcherImpl 为输入框输入监听类,避免每次去实现TextWatcher接口中的方法
四、ui:基类UI:BaseFragmet+BaseActivity
BaseFragment+BaseActivity
五、utils:工具包
工具包
六、widget:自定义View的文件夹
自定义View包中文件
七、statusBar:状态栏文件夹
二、项目的主要逻辑部分(关键类BasePresenter):
BasePresenter在BaseMvpActivity 或者BaseMvpFragment 的生命周期方法做代理
onCreate方法的实现 生命周期方法的代理整个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以上沉浸式状态栏和沉浸式导航栏管理