ijkplayer
+Rxjava
+Rxandroid
+Retrofit2.0
+MVP
+Material Design
的android萬能播放器,能夠播放本地和在線視頻,能夠瀏覽宅男殺手妹紙圖片,UI設計遵循 Material Design。
RecyclerView
,item爲CardView並設置ripple波紋點擊效果TabLayout
NavigationView
FloatingActionMenu
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的使用我尚未更加深刻的研究,往後再搞。picasso
,picasso自己支持本地緩存。經過本app你能夠學到:
- ijkplayer-Android
編譯封裝和集成
- MVP架構,雖然個人這個app不是很複雜,可是大概的MVP是有的,首先我認可個人Model層寫得不是很好。
- 能夠學習到Rxjava的使用,使用Rxjava遞歸讀取內存全部的視頻文件並分類,能夠學習到just
、from
、flatMap
、groupBy
、filter
等Rxjava操做符,相對別的app我用到的操做符相對還算多的。
- 學習到retrofit2.0的使用,結合Rxjava作網絡請求。
- 離線緩存,能夠學習到離線數據緩存策略,以及緩存工具的使用。
- BaseActivity
、BaseFragment
、BaseRecyclerViewAdapter
和BaseRecyclerViewHolder
的封裝。
- Material Design和android5.0之後的新控件使用java
//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'
上架中…react