/EasySports

一款资讯类应用~~~o(* ̄▽ ̄*)ブ,MVP+Retrofit+Rxjava

Primary LanguageJava

[toc]

EasySports

声明

本项目部分API来自NBA中文官网与虎扑体育,纯练手之作,个人未从中获取任何利益,其所有内容均可在NBA中文官网与虎扑体育获取。 数据的获取与共享可能会侵犯到NBA中文官网与虎扑体育的权益,若被告知需停止共享与使用,本人会立即删除整个项目。

简介

项目采用 MaterialDesign + MVP + Retrofit2 + RxJava开发

大部分功能已经完成,如果对你有帮助的话不妨star一个o( ̄▽ ̄)ブ

下面我就来总结一下吧哈哈哈哈

下载地址

现在已经在酷安网上架啦 召唤术:传送门!!

应用部分截图

一些收获

移动端和后端一把抓,学习了很多

  • 尽可能简洁干净的编码规范
  • 自认为良好的业务分包与功能解耦,清晰的网络请求
  • 对三方服务和框架的二次封装
  • 符合Material Design的界面,良好的动画过度

封装

对方法的使用或者第三方服务或是框架的使用都用到了封装 这里只说其中几点(也包括一下自定义View)

  • 一个基于MVP的快速开发基类库rbase
    • Activity和Fragment的常用封装,结合RxJava
    • 异常收集类的封装并提供对外的服务器上传处理接口
    • 工具类的封装:PermissionManagerSPManager
    • 网络请求的统一管理
  • 好用的弹窗库的封装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

  • 极光推送前端和后端的集成
  • 视频播放器的替换
  • 插件化

最后

个人博客 本项目的后台