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
相關文章
相關標籤/搜索