Android 主流通用常用框架汇总(持续更新)
开发模式相关
控件相关框架
动画相关框架
网络请求框架
1.Retrofit
Retrofit 是 Square 公司出品的 HTTP 请求库, 同时是 Square 是最早开源项目之一, Retrofit 是目前 Android 最流行的 Http Client 库之一
官网地址?http://square.github.io/retrofit/
github?https://github.com/square/retrofit
2.okhttp
OkHttp 是 Square 公司出品的 HTTP 另一个请求库, Google 不推荐人们使用 HttpClient, 可是 HttpURLConnection 实在是太难用了, 因此很多人使用了 OkHttp 来解决这问题, 据说 Android4.4 的源码中可以看到 HttpURLConnection 已经替换成 OkHttp 实现呢
官网地址?http://square.github.io/okhttp/
github?https://github.com/square/okhttp
3.vollery
vollery 是谷歌官方开发团队在 2013 年 Google I/O 大会推出的一个新的网络通信框架, 这个框架把 AsyncHttpClient 和 Universal-Image-Loader 的优点集于了一身,既可以像 AsyncHttpClient 一样非常简单地进行 HTTP 通信,也可以像 Universal-Image-Loader 一样轻松加载网络上的图片。
github?https://github.com/google/volley
图片相关框架
1.glide
Glide 是 Google 员工的开源项目, 广泛应用于 Google 一些 App 上, 在 2014 年 Google I/O 大会上被推荐使用, Glide 和 Picasso 被人拿来比较研究过, Glide 与 Picasso 有 90% 的相似度, 但在一些细节上还是有点区别的, 各有各优缺点看君选择
github?https://github.com/bumptech/glide
2.picasso
Picasso 是 Square 公司出品的一款图片缓存库, 主导
者是 JakeWharton 大神
官网地址?http://square.github.io/picasso/
github?https://github.com/square/picasso
3.fresco
Fresco 是 FaceBook 公司出品的一款图片缓存库, Fresco 是一个强大的图片加载组件, 支持加载 Gif 图和 WebP 格式, 支持 Android2.3(API level 9) 及其以上系统, Fresco 中设计了 Image pipeline 和 Drawees 两个模块各施其职, 使得图片完美加载出来
官网地址:?https://www.fresco-cn.org/
github?https://github.com/facebook/fresco
4.Android-Universal-Image-Loader
ImageLoader 是最早开源的 Android 图片缓存库, 强大的缓存机制, 早期被广泛 Android 应用使用, 至今仍然有很多 Android 开发者在使用
github?https://github.com/nostra13/Android-Universal-Image-Loader
5.PhotoView
PhotoView 是 ImageView 的子类, 支持所有 ImageView 的源生行为, 例如: 支持 Pinch 手势自由缩放, 支持双击放大/还原, 支持平滑滚动等等, 并且非常方便的与 ImageLoader/Picasso 之类的网络图片读取库集成使用, 还方便的与 ViewPager 等同样支持滑动手势的控件集成
github?https://github.com/chrisbanes/PhotoView
6.CircleImageView
圆角 ImageView
github?https://github.com/hdodenhof/CircleImageView
7.AndroidImageSlider
AndroidImageSlider 库开发者是代码家, 该库是为 Banner 图片滑动提供多种动画效果, 还可以轻易为 Banner 加载网络图片
github?https://github.com/daimajia/AndroidImageSlider
8.RoundedImageView?
RoundedImageView 一个快速支持图片圆角显示效果的库, 该库特点是能快速加载, 为了提高加载速度, 该库不用创建原始位图的副本, 不使用 clipPath, 不使用 setXfermode 裁剪的位图等方式来实现 ImageView 圆角, 使用也非常简单
github?https://github.com/vinc3m1/RoundedImageView
9.uCrop?
uCrop 是Yalantis?组织开源的图片裁剪库, 支持缩放, 旋转图片, 支持各种比例的裁剪框, 非常强大的一个图片裁剪库
github?https://github.com/Yalantis/uCrop
权限相关框架
1.soulPermission
一句话搞定权限,亲测确实效果不错
github?https://github.com/soulqw/SoulPermission
转载的博客地址:https://blog.csdn.net/shaoyezhangliwei/article/details/90671923
2.RxPermissions
基于 RxJava 完成权限申请的框架
github?https://github.com/tbruyelle/RxPermissions?
3.easyPermission
Easypermissions 简化了 Android M 的运行时权限的申请、结果处理
github?https://github.com/googlesamples/easypermissions?
4.AndPermission
AndPermission 算是一个不错的 权限库了,链式调用,还可以使用 content 上下文去请求权限
github?https://github.com/yanzhenjie/AndPermission
5.Android-UsesPermission
Github:https://github.com/xiangyuecn/Android-UsesPermission
json 解析框架
1.GSON
GSON 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库。可以将一个 Json 字符转成一个 Java 对象,或者将一个 Java 转化为 Json 字符串。
github?https://github.com/google/gson/
2.fastjson
fastjson 是一个 Java 语言编写的高性能功能完善的 JSON 库. 它采用一种“假定有序快速匹配”的算法, 把 JSON Parse 的性能提升到极致, 是目前 Java 语言中最快的 JSON 库. fastjson 接口简单易用, 已经被广泛使用在缓存序列化, 协议交互, Web 输出, Android 客户端等多种应用场景,阿里出品
github?https://github.com/alibaba/fastjson
3.Jackson
Jackson 是一个简单基于 Java 应用库,Jackson 可以轻松的将 Java 对象转换成 json 对象和 xml 文档,同样也可以将 json、xml 转换成 Java 对象。Jackson 所依赖的 jar 包较少,简单易用并且性能也要相对高些,并且 Jackson 社区相对比较活跃,更新速度也比较快。
github?https://github.com/FasterXML/jackson/
下拉刷新框架
1.SmartRefreshLayout
SmartRefreshLayout 是一个“聪明”或者“智能”的下拉刷新布局,由于它的“智能”,它不只是支持所有的 View,还支持多层嵌套的视图结构。它继承自 ViewGroup 而不是 FrameLayout 或 LinearLayout,提高了性能。 也吸取了现在流行的各种刷新布局的优点,包括谷歌官方的 SwipeRefreshLayout,其他第三方的 Ultra-Pull-To-Refresh、TwinklingRefreshLayout 。还集成了各种炫酷的 Header 和 Footer。 SmartRefreshLayout 的目标是打造一个强大,稳定,成熟的下拉刷新框架,并集成各种的炫酷、多样、实用、美观的 Header 和 Footer。
github?https://github.com/scwang90/SmartRefreshLayout
2.android-Ultra-Pull-To-Refresh
这个是一个非常强大的下拉刷新库, 继承 ViewGroup 可以包含任何 View, 功能甚至比 SwipeRefreshLayout 强大, 使用起来也非常容易, 还可以自由定制自己的 UI 样式
github?https://github.com/liaohuqiu/android-Ultra-Pull-To-Refresh
3.Android-PullToRefresh
较早下拉刷新框架
github?https://github.com/chrisbanes/Android-PullToRefresh
4.SwipeRefreshLayout
google 自己的下拉刷新框架
5.TwinklingRefreshLayout
TwinklingRefreshLayout 延伸了 Google 的 SwipeRefreshLayout 的思想,不在列表控件上动刀,而是使用一个 ViewGroup 来包含列表控件,以保持其较低的耦合性和较高的通用性。
github?https://github.com/lcodecorex/TwinklingRefreshLayout
6.ActionBar-PullToRefresh
ActionBar-PullToRefresh 是一个下拉刷新, 下拉刷新时在 ActionBar 出现加载中提示的库
gitHub?https://github.com/chrisbanes/ActionBar-PullToRefresh
7.UltimateRecyclerView
UltimateRecyclerView 是一个功能强大的 RecyclerView(advanced and flexible version of ListView), 包括了下拉刷新, 加载更多, 多种动画, 空数据提示, 拖动排序, 视差处理, 工具栏渐变, 滑动删除, 自定义 floating button, 多种刷新效果, scrollbar, sticky header, 多 layout 支持等等元素, 而且使用起来跟 RecyclerView 一样的方便
github?https://github.com/cymcsg/UltimateRecyclerView
图表框架
1.MPAndroidChart
MPAndroidChart 是一款强大的 Android 图表库, 支持各种各样图表显示, 能想到的图表样式这里几乎都有, 图表还支持选择, 拖放和缩放动画效果
官网地址?https://github.com/PhilJay/MPAndroidChart
github?https://github.com/PhilJay/MPAndroidChart
之前也写过一篇关于这个框架使用的文章:https://blog.csdn.net/shaoyezhangliwei/article/details/79257184
2.XCL-Charts
XCL-Charts 基于 Android 原生 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)、弧线比较图、散点图(Scatter Chart)、气泡图(Bubble Chart)、范围条形图(RangeBar Chart)、玫瑰风向图(Wind Rose)、象限图(Quadrant chart)、漏斗图(Funnel Chart)等图表。
其它特性还包括手势缩放、图表滑动、点击交互、多图叠加、图表批注、动画效果、多 XY 轴显示、轴线任意方位显示、动态图例、图表参考线、柱图刻度对齐风格切换、混合图表及同数据源图表类型切换等。
github?https://github.com/xcltapestry/XCL-Charts
3.SmartChart
SmartChart 是一个 Android 图表框架,支持线性图(折线,曲线,散点)柱状图、面积图、饼图、3D 柱状图、
雷达图、风向玫瑰图,支持图表多样化配置。支持轴方向,双轴,图示,水平线,十字轴,MarkView 自定义,
空白,标题,网格等,支持丰富的样式,包括字体样式(字体大小,颜色)
,图形样式(正方形,长方形,圆形),线(大小,颜色,DashPathEffect)
,增加了图表移动和缩放功能以及动画。
github?https://github.com/huangyanbin/SmartChart
4.hellocharts
github?https://github.com/lecho/hellocharts-android
其他的一些
5.https://github.com/diogobernardino/WilliamChart
6.https://github.com/blackfizz/EazeGraph
7.https://github.com/HackPlan/AndroidCharts
8.https://github.com/bmarrdev/android-DecoView-charting
9.https://github.com/AndroidJiang/StockChart
10.https://github.com/donglua/JZAndroidChart
11.https://github.com/Idtk/SmallChart
12.https://github.com/wuseal/PieChartView
13.https://github.com/whataa/SuitLines
14.https://github.com/qstumn/RadarChart
15.Nightonke/https://github.com/Nightonke/CoCoin
数据库相关框架
1.realm-java
Realm 一个轻量的 Android 版本的数据存储库, 比 Android 原生系统的 SQLite 更加简洁快速对数据进行操作
官网地址:https://realm.io/cn/
github?https://github.com/realm/realm-java
2.greenDAO
greenDAO 是一个可以帮助 Android 开发者快速将 Java 对象映射到 SQLite 数据库的表单中的 ORM 解决方案, 通过使用一个简单的面向对象 API, 开发者可以对 Java 对象进行存储, 更新, 删除和查询, greenDAO 相对 OrmLite, AndrORM 这两个 ORM 开源库, 性能是最高的
官网地址:http://greenrobot.org/greendao/
github?https://github.com/greenrobot/greenDAO
高效、快速的 SQLite 型数据库
3.Android-Debug-Database
一款提供测试 App 内部数据库能力的框架
github?https://github.com/amitshekhariitbhu/Android-Debug-Database
日志相关框架
1.stetho
提供在 Chrome 开发者工具上调试 Android app 能力的开源框架? facebook 出品
官网地址:?http://facebook.github.io/stetho/
github?https://github.com/facebook/stetho
2.logger
log 日志显示框架,支持多种格式:线程、Json、Xml、List、Map 等
github?https://github.com/orhanobut/logger
3.Hugo?
Hugo 是 JakeWharton 大神推出的一个用于打印 Log, hugo 是基于注解被调用的, 引入相关依赖后, 在方法上加上 @DebugLog 即可输出 Log, 使用非常简单
github?https://github.com/JakeWharton/hugo
组件化开发框架
1.atlas
atlas 框架提供了解耦、组件、动态的开发能力 阿里出品
github?https://github.com/alibaba/atlas
2.ARouter
阿里出的一个用于帮助 Android App 进行组件化改造的框架 —— 支持模块间的路由、通信、解耦
github?https://github.com/alibaba/ARouter
开发模式相关
1.androidmvp
一款展示 Android 端 Mvp 设计的 demo?
github?https://github.com/antoniolg/androidmvp?
2.Android-CleanArchitecture
评论