Android 常用框架集合
本章戶要是對一下常用的框架進(jìn)行整理居兆,包括框架的源碼地址以及一些比較詳細(xì)的博客講解,幫助大家更方便的查找資源竹伸。
網(wǎng)絡(luò)
1.android-async-http:
一個比較老的網(wǎng)絡(luò)框架項目泥栖,雖然已經(jīng)很少使用了,但是可以學(xué)習(xí)一下里面的寫作方法勋篓。
源碼地址:android-async-http
詳解:
快速Android開發(fā)系列網(wǎng)絡(luò)篇之Android-Async-Http
android-async-http框架庫使用基礎(chǔ)
2.retrofit:
retrofit是由square開源組織開源的一款非常流行的網(wǎng)絡(luò)請求框架吧享,現(xiàn)在使用已經(jīng)非常廣泛。
源碼地址:retrofit
詳解:
3.okhttp:
okhttp也是由square開源組織開源的一款網(wǎng)絡(luò)底層封裝庫譬嚣,上面介紹的Retrofit也是基于此庫進(jìn)行的二次封裝钢颂。
源碼地址:okhttp
詳解:
OKHttp源碼解析-ConnectionPool對Connection重用機(jī)制&Http/Https/SPDY協(xié)議選擇
4.Volley
Volley是由谷歌開源的一款網(wǎng)絡(luò)請求框架。
源碼地址:Volley
詳解:
Android 網(wǎng)絡(luò)通信框架Volley簡介(Google IO 2013)
ReactiveX
知名的響應(yīng)式開發(fā)Rx系列拜银,根據(jù)語言包含:
Java:RxJava
JavaScript:RxJS
C#:Rx.NET
C#(Unity):UniRx
Scala:RxScala
Clojure:RxClojure
C++:RxCpp
Lua:RxLua
Ruby:Rx.rb
Python:RxPY
Groovy:RxGroovy
JRuby:RxJRuby
Kotlin:RxKotlin
Swift:RxSwift
PHP:RxPHP
根據(jù)平臺包含:
RxNetty:RxNetty
RxAndroid:RxAndroid
RxCocoa:RxCocoa
詳解:
RxJava 與 Retrofit 結(jié)合的最佳實踐
圖片加載及顯示
1.Android-Universal-Image-Loader:
源碼地址:Android-Universal-Image-Loader
詳解:
Android 開源框架Universal-Image-Loader完全解析(一)--- 基本介紹及使用
Android 開源框架Universal-Image-Loader完全解析(二)--- 圖片緩存策略詳解
Android 開源框架Universal-Image-Loader完全解析(三)---源代碼解讀
2.fresco:
源碼地址:fresco
詳解:官方文檔
3.glide:
源碼地址:glide
詳解:
4.picasso:
源碼地址:picasso
詳解:
picasso-強(qiáng)大的Android圖片下載緩存庫
5.PhotoView
源碼地址:PhotoView
熱更新
1.AndFix:--Alibaba
源碼地址:AndFix
詳解:Alibaba-AndFix Bug熱修復(fù)框架原理及源碼解析
2.AndroidInstantRun:--google
源碼地址:instant-run
詳解:
深度理解Android InstantRun原理以及源碼分析
Instant Run: How Does it Work?!
3.DroidFix:
源碼地址:DroidFix
詳解:安卓App熱補(bǔ)丁動態(tài)修復(fù)技術(shù)介紹
4.HotFix:
源碼地址:HotFix
詳解:基于Nuwa實現(xiàn)Android自動化HotFix
5.Nuwa
源碼地址:Nuwa
詳解:
Android 熱修復(fù)Nuwa的原理及Gradle插件源碼解析
6.Tinker
源碼地址:tinker
詳解:
tinker源碼研讀(一):補(bǔ)丁生成之DexDiff原理簡析
7.RocooFix:
源碼地址:RocooFix
8.AnoleFix:
源碼地址:AnoleFix
9.Robust:--美團(tuán)
注解
1.dagger:
源碼地址:dagger
詳解:官方文檔
2.butterknife
源碼地址:butterknife
詳解:官方文檔
3.androidannotations:
源碼地址:androidannotations
詳解:官方文檔
圖表
1.WilliamChart:
源碼地址:WilliamChart
功能:繪制圖表的庫殊鞭,支持 LineChartView、BarChartView 和 StackBarChartView 三中圖表類型尼桶,并且支持 Android 2.2 及以上的系統(tǒng)操灿。
2.XCL-Charts:
源碼地址:XCL-Charts
功能:XCL-Charts 基于原生的 Canvas
來繪制各種圖表,在設(shè)計時,盡量在保證開發(fā)效率的同時疯汁,給使用者提供足夠多的定制化能力牲尺。因此使用簡便,同時具有相當(dāng)靈活的定制能力。目前支持 3D/非
3D 柱形圖(Bar Chart)幌蚊、3D/非 3D 餅圖(Pie Chart)谤碳、堆積圖(Stacked Bar Chart)、面積圖(Area
Chart)溢豆、 折線圖(Line Chart)蜒简、曲線圖(Spline Chart)、環(huán)形圖(Dount Chart)漩仙、南丁格爾玫瑰圖(Rose
Chart)搓茬、儀表盤(Dial Chart)犹赖、刻度盤(Gauge Chart)、雷達(dá)圖(Radar Chart)卷仑、圓形圖(Circle
Chart)等圖表峻村。其它特性還包括支持圖表縮放、手勢移動锡凝、動畫顯示效果粘昨、高密度柱形顯示、圖表分界定制線窜锯、多圖表的混合顯示及同數(shù)據(jù)源不同類型圖表切換等张肾。
3.HelloCharts for Android:
功能:支持折線圖、柱狀圖锚扎、餅圖吞瞪、氣泡圖、組合圖驾孔;支持預(yù)覽芍秆、放大縮小,滾動翠勉,部分圖表支持動畫浪听;支持 Android 2.2 以上
4.MPAndroidChart:
源碼地址:MPAndroidChart
功能:強(qiáng)大的圖表繪制工具,支持折線圖眉菱、面積圖、散點圖掉分、時間圖俭缓、柱狀圖、條圖酥郭、餅圖华坦、氣泡圖、圓環(huán)圖不从、范圍(高至低)條形圖惜姐、網(wǎng)狀圖等;支持圖的拖拽縮放椿息;支持
Android 2.2 以上歹袁,支持橫縱軸縮放,多指縮放寝优,展現(xiàn)動畫条舔、高亮、保存到 sdcard乏矾、從文件讀取圖表
5.achartengine:
源碼地址:achartengine
功能:強(qiáng)大的圖表繪制工具孟抗,支持折線圖迁杨、面積圖、散點圖凄硼、時間圖铅协、柱狀圖、條圖摊沉、餅圖狐史、氣泡圖、圓環(huán)圖坯钦、范圍(高至低)條形圖预皇、撥號圖/表、立方線圖及各種圖的結(jié)合
6.GraphView:
源碼地址:GraphView
功能:繪制圖表和曲線圖的 View婉刀,可用于 Android 上的曲形圖吟温、柱狀圖、波浪圖展示
7.HoloGraphLibrary:
源碼地址:HoloGraphLibrary
功能:繪制現(xiàn)狀圖突颊、柱狀圖鲁豪、餅狀圖
8.EazeGraph:
源碼地址:EazeGraph
功能:Android 圖表庫,支持柱狀圖律秃、分層柱狀圖爬橡、餅狀圖、線性圖
9.PieChartView:
源碼地址:PieChartView
功能:比較簡單直接的餅狀統(tǒng)計報表圖棒动,使用方便糙申,設(shè)置相應(yīng)的屬性參數(shù)即可
設(shè)計模式
此處說的設(shè)計模式是谷歌官方公開的對MVP模式的代碼示例,大家可以做為參考學(xué)習(xí)一下:
Stable samples
todo-mvp- Basic Model-View-Presenter architecture.
todo-mvp-loaders- Based on todo-mvp, fetches data using Loaders.
todo-databinding- Based on todo-mvp, uses the Data Binding Library.
todo-mvp-clean- Based on todo-mvp, uses concepts from Clean Architecture.
todo-mvp-dagger- Based on todo-mvp, uses Dagger2 for Dependency Injection
todo-mvp-contentproviders- Based on todo-mvp-loaders, fetches data using Loaders and uses Content Providers
todo-mvp-rxjava- Based on todo-mvp, uses RxJava for concurrency and data layer abstraction.
Samples in progress
dev-todo-mvp-tablet- Based on todo-mvp, adds a master/detail view for tablets.
External samples
External samples are variants that may not be in sync with the rest of the branches.
todo-mvp-fragmentless- Based on todo-mvp, uses Android views instead of Fragments.
todo-mvp-conductor- Based on todo-mvp, uses the Conductor framework to refactor to a single Activity architecture.