Android 常用框架集合
對一下常用的框架進行整理,包括框架的源碼地址以及一些比較詳細的博客講解,幫助大家更方便的查找資源。
網絡
1.android-async-http:
一個比較老的網絡框架項目,雖然已經很少使用了,但是可以學習一下里面的寫作方法。
源碼地址:android-async-http
詳解:
2.retrofit:
retrofit是由square開源組織開源的一款非常流行的網絡請求框架,現在使用已經非常廣泛。
源碼地址:retrofit
詳解:
3.okhttp:
okhttp也是由square開源組織開源的一款網絡底層封裝庫,上面介紹的Retrofit也是基于此庫進行的二次封裝。
源碼地址:okhttp
詳解:
- 官方詳解
- 如何更高效地使用 OkHttp
- OkHttp:Java 平臺上的新一代 HTTP 客戶端
- OKHttp源碼解析
- OKHttp源碼解析-ConnectionPool對Connection重用機制&Http/Https/SPDY協議選擇
4.Volley
Volley是由谷歌開源的一款網絡請求框架。
源碼地址:Volley
詳解:
ReactiveX
知名的響應式開發Rx系列,根據語言包含:
- 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
根據平臺包含:
RxNetty:RxNetty
RxAndroid:RxAndroid
RxCocoa:RxCocoa
詳解:
官方網址
給 Android 開發者的 RxJava 詳解
RxJava 與 Retrofit 結合的最佳實踐
圖片加載及顯示
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
詳解:
官方文檔
5.PhotoView
源碼地址:PhotoView
熱更新
1.AndFix:--Alibaba
源碼地址:AndFix
詳解:Alibaba-AndFix Bug熱修復框架原理及源碼解析
2.AndroidInstantRun:--google
源碼地址:instant-run
詳解:
深度理解Android InstantRun原理以及源碼分析
Instant Run: How Does it Work?!
3.DroidFix:
源碼地址:DroidFix
4.HotFix:
源碼地址:HotFix
5.Nuwa
源碼地址:Nuwa
詳解:
Android 熱修復Nuwa的原理及Gradle插件源碼解析
6.Tinker
源碼地址:tinker
詳解:
官方文檔
tinker源碼研讀(一):補丁生成之DexDiff原理簡析
7.RocooFix:
源碼地址:RocooFix
8.AnoleFix:
源碼地址:AnoleFix
9.Robust:--美團
注解
1.dagger:
源碼地址:dagger
詳解:官方文檔
2.butterknife
源碼地址:butterknife
詳解:官方文檔
3.androidannotations:
源碼地址:androidannotations
詳解:官方文檔
圖表
1.WilliamChart:
源碼地址:WilliamChart
功能:繪制圖表的庫,支持 LineChartView、BarChartView 和 StackBarChartView 三中圖表類型,并且支持 Android 2.2 及以上的系統。
2.XCL-Charts:
源碼地址:XCL-Charts
功能:XCL-Charts 基于原生的 Canvas 來繪制各種圖表,在設計時,盡量在保證開發效率的同時,給使用者提供足夠多的定制化能力。因此使用簡便,同時具有相當靈活的定制能力。目前支持 3D/非 3D 柱形圖(Bar Chart)、3D/非 3D 餅圖(Pie Chart)、堆積圖(Stacked Bar Chart)、面積圖(Area Chart)、 折線圖(Line Chart)、曲線圖(Spline Chart)、環形圖(Dount Chart)、南丁格爾玫瑰圖(Rose Chart)、儀表盤(Dial Chart)、刻度盤(Gauge Chart)、雷達圖(Radar Chart)、圓形圖(Circle Chart)等圖表。其它特性還包括支持圖表縮放、手勢移動、動畫顯示效果、高密度柱形顯示、圖表分界定制線、多圖表的混合顯示及同數據源不同類型圖表切換等。
3.HelloCharts for Android:
功能:支持折線圖、柱狀圖、餅圖、氣泡圖、組合圖;支持預覽、放大縮小,滾動,部分圖表支持動畫;支持 Android 2.2 以上
4.MPAndroidChart:
源碼地址:MPAndroidChart
功能:強大的圖表繪制工具,支持折線圖、面積圖、散點圖、時間圖、柱狀圖、條圖、餅圖、氣泡圖、圓環圖、范圍(高至低)條形圖、網狀圖等;支持圖的拖拽縮放;支持 Android 2.2 以上,支持橫縱軸縮放,多指縮放,展現動畫、高亮、保存到 sdcard、從文件讀取圖表
5.achartengine:
源碼地址:achartengine
功能:強大的圖表繪制工具,支持折線圖、面積圖、散點圖、時間圖、柱狀圖、條圖、餅圖、氣泡圖、圓環圖、范圍(高至低)條形圖、撥號圖/表、立方線圖及各種圖的結合
6.GraphView:
源碼地址:GraphView
功能:繪制圖表和曲線圖的 View,可用于 Android 上的曲形圖、柱狀圖、波浪圖展示
7.HoloGraphLibrary:
源碼地址:HoloGraphLibrary
功能:繪制現狀圖、柱狀圖、餅狀圖
8.EazeGraph:
源碼地址:EazeGraph
功能:Android 圖表庫,支持柱狀圖、分層柱狀圖、餅狀圖、線性圖
9.PieChartView:
源碼地址:PieChartView
功能:比較簡單直接的餅狀統計報表圖,使用方便,設置相應的屬性參數即可
設計模式
此處說的設計模式是谷歌官方公開的對MVP模式的代碼示例,大家可以做為參考學習一下:
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.
來自:http://www.codemx.cn/2017/01/10/FrameCollection/