美文网首页Android知识点和文章分享demoAndroid学习
仿虎扑应用EasySport连带上后台代码

仿虎扑应用EasySport连带上后台代码

作者: Rayhaha | 来源:发表于2018-01-05 15:02 被阅读995次

EasySports

声明

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

简介

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

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

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

下载地址

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

应用部分截图

match.png news.png mine.png form_detail.png match_data.png match_live.png night_form.png night_news_detail.png

一些收获

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

  • 尽可能简洁干净的编码规范
  • 自认为良好的业务分包与功能解耦,清晰的网络请求
  • 对三方服务和框架的二次封装
  • 符合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

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

最后

个人博客
本项目的后台

相关文章

网友评论

  • LittleCow:Error:Execution failed for task ':app:validateSigningOfficialDebug'.
    > Keystore file E:\SourceCode\EasySports-master\app\rayhahah.keystore not found for signing config 'config'.
    是不是大佬少了什么东西
    LittleCow:@Rayhaha 嗯嗯 已经处理了 我用了debug的包去签了
    Rayhaha:@Blues的昵称被使用 我把签名文件移除了,你直接删了这个signConfig就默认使用你本地的签名文件了
  • zhuzhiqiang00:博主好,现在在跟着您的项目边敲边学习,在MatchFragment的 获取比赛数据失败方法中
    mFutureDate = mCurrentDate; mBeforeDate = mCurrentDate; 换成
    mFutureDate = DateTimeUitl.getBeforeFromTarget(mFutureDate);
    mBeforeDate = DateTimeUitl.getFutureFromTarget(mBeforeDate); 是不是会好点, 第一种写法,比如在第二次下拉刷新时,会有重复数据。
    zhuzhiqiang00:@Rayhaha 好的,多谢博主的开源分享,受益匪浅。
    Rayhaha:是这样的,当获取比赛数据失败的时候,显示的内容其实是等于刷新数据,也就是内容的全部刷新。
    可能是我忘记改了,你把那三句代码
    mBinding.pl.showError(mBinding.srlMatchList);
    mFutureDate = mCurrentDate;
    mBeforeDate = mCurrentDate;
    放在init的判断条件里面才是正确的
    感谢指出
  • luo2016:现在好像打不开了
  • 蓝冰海域:运行项目到主页就提示程序异常.然后是异常画面.什么鬼..
    Rayhaha:@蓝冰海域 方便的话,你加一下我QQ吧,317591615
    蓝冰海域:@Rayhaha 一直是这个样子 一进来就提示程序异常.然后就是那个蓝色底子的画面.是从github上拉下来的.看了鸿洋的建议导入的时候,删除gradle.properties中的:
    android.buildCacheDir=C:/work/as3/gradle/gradle-4.1/caches.其他的没动.
    Rayhaha:@蓝冰海域 第二次启动就没问题了吧?
  • 蓝冰海域:打开了项目从哪里学起啊~~是要先把这几个框架学一下?那项目从哪里学起啊.第一次看这种开源项目
    Rayhaha:@蓝冰海域 就从主页面开始看,边看功能边看代码
  • X小飞侠:JR吗?厉害了,前后端一起抓。以前看的是这个https://github.com/gzsll/TLint,真是JR代有人才出啊
    Rayhaha:做自己喜欢的,才有动力嘛哈哈哈
  • slimvan:虎扑jr啊
    Rayhaha:不要暴露组织
  • ppyy一号:搞一个桌面AppWidget实时查看关注的比赛比分直播怎么样?
    Rayhaha:好提议啊

本文标题:仿虎扑应用EasySport连带上后台代码

本文链接:https://www.haomeiwen.com/subject/kzcsnxtx.html