1、前言
前不久在简书上看到一哥们写的仿《一个ONE》APP,看了之后觉得这个项目还挺不错的,又加上自己还没怎么正儿八经地用MVP模式写过项目,所以就拿它练手了~
GitHub传送门 : https://github.com/smashinggit/TheOne
2、运行效果
3、分包
什么是mvp?
简单来说就是 Model层负责获取和处理数据,View层负责交互和数据展示,Presenter层是Model和View沟通的桥梁。Model层和View层的交互都要同过Presenter层.。
其他更详细的介绍请自行百度,此处不在赘述~ 好吧,我承认,其实是我水平有限~ orz....
如何分包?
经过查阅网上一些MVP的文章之后,有部分案例在presenter中实现具体的逻辑或者把Model单纯的看作是具体的Bean,个人觉得是不太准确的,MVX(MVC、MVP和MVVM)中,M的职责都应该包含两部分业务逻辑和提供View显示的数据,而X的部分则是为了实现UI界面和业务逻辑解耦的桥梁
4、项目中使用的库
1、网络请求框架 OkGo
完美支持RxJava,比Retrofit更简单易用
GitHub地址: https://github.com/jeasonlzy/okhttp-OkGo
2、LRecyclerView
支持addHeaderView、 addFooterView、下拉刷新、分页加载数据的RecyclerView
GitHub地址: https://github.com/jdsjlzx/LRecyclerView
3、butterknife
一个依赖注入框架,解放你的双手。
GitHub地址: https://github.com/JakeWharton/butterknife
4、插件 MVPHelper
一款Intellj IDEA 和Android Studio的插件,可以为MVP生成接口以及实现类,解放双手。
GitHub地址: https://github.com/githubwing/MVPHelper
5、感谢
1、感谢文章开头提到的哥们
他的文章地址: 《高仿《一个ONE》APP》
2、感谢提供Api的哥们
api地址: 《api地址》
6、说点废话
1、《ONE》这个APP明显是个外包公司做的,而且极其不负责任... API和JSON不忍直视..
2、项目还会持续更新
3、项目仅用于学习和交流,严禁用于任何商业用途
4、水平有限,如果有什么问题可以留言或是qq联系,267049507
5、如果觉得对你有帮助,欢迎点赞和star