EasySports
声明
本项目部分API来自NBA中文官网与虎扑体育,纯练手之作,个人未从中获取任何利益,其所有内容均可在NBA中文官网与虎扑体育获取。
数据的获取与共享可能会侵犯到NBA中文官网与虎扑体育的权益,若被告知需停止共享与使用,本人会立即删除整个项目。
简介
项目采用 MaterialDesign + MVP + Retrofit2 + RxJava开发
大部分功能已经完成,如果对你有帮助的话不妨star一个o( ̄▽ ̄)ブ
下面我就来总结一下吧哈哈哈哈
下载地址
现在已经在酷安网上架啦
召唤术:Github传送门
召唤术:酷安传送门!!
应用部分截图
一些收获
移动端和后端一把抓,学习了很多
- 尽可能简洁干净的编码规范
- 自认为良好的业务分包与功能解耦,清晰的网络请求
- 对三方服务和框架的二次封装
- 符合Material Design的界面,良好的动画过度
封装
对方法的使用或者第三方服务或是框架的使用都用到了封装
这里只说其中几点(也包括一下自定义View)
- 一个基于MVP的快速开发基类库
rbase
- Activity和Fragment的常用封装,结合RxJava
- 异常收集类的封装并提供对外的服务器上传处理接口
- 工具类的封装:
PermissionManager
、SPManager
等 - 网络请求的统一管理
- 好用的弹窗库的封装
dialoglib
- 网页浏览的封装
RWebActivity
,其内部集成了腾讯开源框架VasSonic - 对ZXing库的二次封装和自定义实现
-
ProgressLayout
常用的加载、错误布局 -
TitleItemDecoration
好用的粘性头部
第三方服务
ps:本来也引入了Bmob构建用户系统和异常反馈系统,在引入自己搭建的后台接口以后就废弃掉了,bmob还是有点坑爹的。
框架
感谢这些开源框架的大力支持
- BRAVH : 功能强大的RecyclerViewAdapter封装库
- glide : 图片加载
- GreenDAO : 数据库框架
- Retrofit : 代码简洁,接口解耦
- OkHttp : 网络请求
- RxJava : 快捷的线程切换,简洁的代码,清晰的逻辑,和Retrofit配合很爽
- photoView : 图片的操作
- eventbus :时间总线,组件之间的简便通信
- gson : JSON序列化
- VasSonic : Tecent开源,提升web的首屏请求速度
- stetho : Facebook开源的非常好用调试框架
- BottomNavigation : 底部导航栏
- JieCaoPlayer : 播放器,引入到项目中,并在其基础上自定义功能
接口
应用的数据分为两部分,自己搭建和数据抓取(我的博客的抓取教程)
- 自己搭建的SSM后台系统传送门,并且已经发布在阿里云服务器上啦,干活满满的哟(要脸(✿◡‿◡))
- 直播接入
- 版本更新
- 用户管理系统
- 崩溃信息采集
- 用户信息反馈
- 剩下的接口是从虎扑体育、腾讯视频中爬取的,相当零散,相当繁杂,具体可以看
JsonParser.java
,里面有一些十分刁钻的Json数据的处理
TODO
- 极光推送前端和后端的集成
- 视频播放器的替换
- 插件化