# MvpApp
**Repository Path**: noobyang/MvpApp
## Basic Information
- **Project Name**: MvpApp
- **Description**: MvpAppMvpAppMvpAppMvpApp
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2025-02-07
- **Last Updated**: 2025-02-07
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# MvpApp
##### 练习MVP架构开发的App,算是对自己学过的知识做一个总结,做了有一段时间,界面比较多,代码量还是有的,里面做了大量封装,整体代码整理得很干净。里面有我自己封装的一些库和类,可以作为借鉴参考,有什么问题可以提出来探讨,有好的想法和修改建议也欢迎提交代码上来。
##### 现在网易的图片接口不能用了,所以“美女”界面获取不到数据了,如果想看效果的可以试着把“福利”标签下的界面按“美女”界面的处理方式改过去,刚好可以拿来自己练手~,代码我暂时不想去改了。
## Screenshot
##### 项目结构:

##### 应用截图:
## 用到的第三方库
- [leakcanary](https://github.com/square/leakcanary)
:检测应用内存泄漏问题,这个都知道吧
- [butterknife](https://github.com/JakeWharton/butterknife)
:帮助Android控件和回调的进行依赖注入,JakeWharton大神的力作
- [dagger2](https://github.com/google/dagger)
:Android和Java依赖注入库
- [rxjava](https://github.com/ReactiveX/RxJava)
:一个实现异步操作的库,现在非常火
- [RxAndroid](https://github.com/ReactiveX/RxAndroid)
:用于Android的Rxjava绑定库
- [RxBinding](https://github.com/JakeWharton/RxBinding)
:配合Rxjava处理控件异步调用
- [RxLifecycle](https://github.com/trello/RxLifecycle)
:防止RxJava中subscription导致内存泄漏
- [RxPermissions](https://github.com/tbruyelle/RxPermissions)
:基于RxJava开发的用于帮助在Android 6.0中处理运行时权限检测
- [retrofit](https://github.com/square/retrofit)
:目前最好用的网络通讯库,应该都用过吧
- [okhttp](https://github.com/square/okhttp)
:okhttp和retrofit做网络通讯是绝配
- [greenDAO](https://github.com/greenrobot/greenDAO)
:ORM数据库,能配合rxjava使用
- [logger](https://github.com/orhanobut/logger)
:Log库,让打印的Log变得非常漂亮
- [glide](https://github.com/bumptech/glide)
:Google出品的图片加载库,这里有非常好的指导文档:https://mrfu.me/2016/02/27/Glide_Getting_Started/
- [BaseRecyclerViewAdapterHelper](https://github.com/CymChad/BaseRecyclerViewAdapterHelper)
:很好用的RecyclerView多功能适配器库,项目里我并没有直接用这个库,而是按我自己使用习惯在它较早的代码上做了些改动
- [recyclerview-animators](https://github.com/wasabeef/recyclerview-animators)
:RecyclerView的动画库,内置了非常多的动画效果
- [CircleImageView](https://github.com/hdodenhof/CircleImageView)
:非常常用的用来显示圆形头像的库
- [PhotoView](https://github.com/chrisbanes/PhotoView)
:可根据手势进行缩放的图像库,这个也很常见
- [AndroidImageSlider](https://github.com/daimajia/AndroidImageSlider)
:展示头部Banner的库,动画效果很多,就是需要依赖picasso和nineoldandroids这两个库
- [NumberProgressBar](https://github.com/daimajia/NumberProgressBar)
:性感的数字进度条
- [FlycoTabLayout](https://github.com/H07000223/FlycoTabLayout)
:样式比TabLayout多样的Tab库
- [FlycoDialog](https://github.com/H07000223/FlycoDialog_Master)
:多功能的Dialog
- [FlycoLabelView](https://github.com/H07000223/FlycoLabelView)
:添加角标的库
- [gson](https://github.com/google/gson)
:帮助Json和Object转换,这个也常用
- [ijkplayer](https://github.com/Bilibili/ijkplayer)
:B站出品的视频解码库
- [DanmakuFlameMaster](https://github.com/Bilibili/DanmakuFlameMaster)
:同样B站出品的弹幕库
- [ShineButton](https://github.com/ChadCSong/ShineButton)
:炫酷效果的点击按钮,主要用于显示收藏之类的动画
- [RichText](https://github.com/zzhoujay/RichText)
:富文本的处理库,用起来挺方便就是有内存泄漏- -
- [Android-SpinKit](https://github.com/ybq/Android-SpinKit)
:集成多种动画效果的Drawable,之前有看源码觉得代码封装得挺好,动画不仅仅只能用在View上
- [filepicker](https://github.com/Angads25/android-filepicker)
:这个是用来处理PreferenceScreen的文件选中库,PreferenceScreen感觉平时不怎么看到使用,用法到时挺特别
- [tinker](https://github.com/Tencent/tinker)
:微信Android热补丁方案,功能强大,和其它热修补方案对比看这里[wiki](https://github.com/Tencent/tinker/wiki)
- [DragSlopLayout](https://github.com/Rukey7/DragSlopLayout)
:一个辅助开发拖拽功能的库,这是我为了做这个App的某些功能封装的库- -,现在倒也有用在工作的项目上
- [IjkPlayerView](https://github.com/Rukey7/IjkPlayerView)
:基于ijkplayer开发的播放器,也是为了做这个App的视频播放功能封装的库- -,里面加了弹幕功能,感兴趣可以看下
- [TagLayout](https://github.com/Rukey7/TagLayout)
:标签库,可做为自定义按钮来使用
Thanks
---
- 感谢所有优秀的开源项目
- [OuNews](https://github.com/oubowu/OuNews)
:最初是看了这个项目才开始做的,学了不少东西
Statement
---
该项目仅供交流学习使用,如有侵犯版权问题,可通知本人及时删除