45

GitHub - Rayhahah/EasySports: 一款资讯类应用~~~o(* ̄▽ ̄*)ブ,MVP+Retrofit+Rxjava

 6 years ago
source link: https://github.com/Rayhahah/EasySports
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

[toc]

EasySports

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

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

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

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

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

应用部分截图

match.png?raw=true

match_data.png?raw=true

match_live.png?raw=true

news.png?raw=true

mine.png?raw=true

form_detail.png?raw=true

night_form.png?raw=true

night_news_detail.png?raw=true

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

  • 尽可能简洁干净的编码规范
  • 自认为良好的业务分包与功能解耦,清晰的网络请求
  • 对三方服务和框架的二次封装
  • 符合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数据的处理
  • 极光推送前端和后端的集成
  • 视频播放器的替换

个人博客 本项目的后台


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK