闲来无事,写了一套MVP代码架构,希望能给各位分享一些程序逻辑;
一、java版架构
https://github.com/VcStrong/RxRetrofitMVPDemo.git
mvp-v1和mvp-v2是给Android小白开发看的;
mvp-v3已经被我的徒弟在公司项目中使用且上线:一个资讯项目,两个电商项目。
mvp-v4是在v3基础上进行的组件化分包。
v3和v4各有好处,欢迎各位在公司业务中使用。
二、kotlin版本架构
https://github.com/VcStrong/KotlinMVPDemo.git
这个版本是基于java版mvp-v4修改的,由于kotlin的泛型和函数我了解的不太深入,项目中Presenter基类功能有所退化,相当于java V2-V3之间的一个版本,灵活度不是很高,不过开发公司业务也足够了。
业务包含:
- 注册,登录,退出登录
- 上传图片
- 仿朋友圈列表
使用框架包含:
- androidx:这个系列的jar包和appcompat.support对立的,参见谷歌官方文档
- retrofit2+rxjava2
- butterknife10*:不要尝试将androidx改成support-v*,这样butter就不能使用了
- greendao:数据库如果要加密,请配合SqlCipher使用,参见:https://blog.csdn.net/VcStrong/article/details/82972043
- MZBanner:banner如果不需要刻意去掉。
- fresco和Glide:看情况使用吧,可以去掉一个
- xRecyclerView
- easypermissions:权限申请比较好用
- Arouter
我是追求代码简洁,代码减少调用;我认为代码写出来就是给自己方便,给其他程序员方便的,不盲目追求高大上,尽量减小理解难度+代码深度。