对一下常用的框架进行整理,包括框架的源码地址以及一些比较详细的博客讲解,帮助大家更方便的查找资源。
网络
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/