本章戶要是對一下常用的框架進行整理,包括框架的原始碼地址以及一些比較詳細的部落格講解,幫助大家更方便的查詢資源。
網路
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
詳解:官方文件
4.Dagger2
原始碼地址:Dagger2
5.roboguice
原始碼地址:roboguice
圖表
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:
原始碼地址: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.
事件匯流排
資料庫
網路解析
-
Animation
跨平臺移動開發工具
1.Weex
原始碼地址:weex
官方文件:
2.React Native
原始碼地址:React Native
官方文件:
React Native中文
React Native英文
Log框架
測試框架(單元測試)
視訊
多主題
其他
谷歌開源手機號驗證庫:
libphonenumber
注
同步釋出地址:墨香部落格
更新於2017年2月13日,後續會持續更新。