Android 基于ijkplayer+Rxjava+Rxandroid+Retrofit2.0+MVP+Material Design的android万能播放器aaa

MDPlayer万能播放器

MDPlayer,基于ijkplayer+Rxjava+Rxandroid+Retrofit2.0+MVP+Material Design的android万能播放器,能够播放本地和在线视频,能够浏览宅男杀手妹纸图片,UI设计遵循 Material Design。

GitHub地址:https://github.com/Dawish/MDPlayer


UI浏览:

这里写图片描述 
这里写图片描述 
这里写图片描述 
这里写图片描述 
这里写图片描述 
这里写图片描述 
这里写图片描述 
这里写图片描述

1.UI设计:

  • 列表使用RecyclerView,item为CardView并设置ripple波纹点击效果
  • viewpager指示器使用TabLayout
  • 侧滑栏使用NavigationView
  • 图片详情使用开源控件PhotoView,支持大缩小,旋转等等操做。
  • FloatingButton为开源控件FloatingActionMenu

2.App设计:

  • MVP架构,第一次真正使用MVP,真的使用了才会发现MVP的优点,MVP可使Activity和Fragment很是简洁,Activity和Fragment中也不须要知道是怎么操做和流转的,咱们只须要在回调接口中操做更新UI就能够了。
  • 因此得异步操做都使用Rxjava+Rxandroid,之前也是没用过,用过才发现、Rxjava是真的强大,Rxjava拥有很是丰富的操做符,咱们灵活使用Rxjava能够创造无限可能,Rxjava就像搭建积木,Rxjava的操做符就行是积木块,使用Rxjava咱们能够搭建出各类各类的积木,能够创造出不少可能,前提是你对Rxjava十分了解。
  • 网络请求采用retrofit2.0,retrofit2.0自己就很强大,配合、Rxjava后就更增强大了,retrofit2.0的使用我尚未更加深刻的研究,往后再搞。
  • 离线缓存,离线缓存策略为,每次进入都是显示上一次的数据,本次的数据缓存下来,留着下一次显示,这样能够加快UI显示速度,能够离线使用App。
  • 图片加载使用picasso,picasso自己支持本地缓存。

3.知识点:

经过本app你能够学到: 
ijkplayer-Android 编译封装和集成 
- MVP架构,虽然个人这个app不是很复杂,可是大概的MVP是有的,首先我认可个人Model层写得不是很好。 
- 能够学习到Rxjava的使用,使用Rxjava递归读取内存全部的视频文件并分类,能够学习到justfromflatMapgroupByfilter等Rxjava操做符,相对别的app我用到的操做符相对还算多的。 
- 学习到retrofit2.0的使用,结合Rxjava作网络请求。 
- 离线缓存,能够学习到离线数据缓存策略,以及缓存工具的使用。 
BaseActivityBaseFragmentBaseRecyclerViewAdapterBaseRecyclerViewHolder的封装。 
- Material Design和android5.0之后的新控件使用java

4.依赖库:

//FloatingActionMenu compile 'com.github.clans:fab:1.6.4' //retrofit compile 'com.squareup.retrofit:retrofit:2.0.0-beta2' compile 'com.squareup.retrofit:converter-gson:2.0.0-beta2' compile 'com.squareup.retrofit:adapter-rxjava:2.0.0-beta2' //Rxjava + Rxandroid compile 'io.reactivex:rxandroid:1.2.0' compile 'io.reactivex:rxjava:1.1.5' //blurview compile 'com.eightbitlab:blurview:1.0.2' //photoview compile 'com.bm.photoview:library:1.4.0' //picasso compile 'com.squareup.picasso:picasso:2.5.2' //umeng compile 'com.umeng.analytics:analytics:latest.integration'

5.APK下载:

上架中…react

6.知识点引导:

7.下版本改进

  • 下版本但愿改进model层,对数据操做更加简洁
  • 增长视频播放历史记录
  • 自定义视频播控
  • 使用注解替代findViewById
相关文章
相关标签/搜索