1,缓存
1)DiskLruCache
Java实现基于LRU的磁盘缓存。
2,图片
1)Glide(已使用)
①概念
图片加载。
Glide 支持拉取,解码和展示视频快照,图片,和GIF动画。
②场景
适合用在那些对图片依赖不大的App中。
2)Android-Universal-Image-Loader
图片加载。
已停止维护。
3)Picasso
图片加载。
4)Fresco
①概念
图片加载。
采用匿名共享内存来保存图片,也就是Native堆,有效的的避免了OOM,功能强大,但是库体积过大。
5)picasso-transformations
为Picasso提供多种图片变换,让图片呈现不同的形状。
6)glide-transformations
综合Glide,让图片呈现不同的形状。
7)android-gpuimage
图片处理。基于OpenGL的Android过滤器,将GPUImage iOS移至Android。
3,网络请求
1)Android Async HTTP
Android异步HTTP库
2)AndroidAsync
异步Socket,HTTP(客户端+服务器),WebSocket,和socket.io库。基于NIO而不是线程。
3)OkHttp
一个Http与Http/2的客户端
4)Retrofit
类型安全的Http客户端。
RetrofitUtils:retrofit网络工具类。
5)Volley
已被墙。
Google推出的Android异步网络请求框架和图片加载框架。
6)okhttp-OkGo(在用)
7)第三方消息推送
①JPush(极光推送)
4,网络解析
1)Gson
一个Java序列化/反序列化库,可以将JSON和java对象互相转换
2)Jackson
Jackson可以轻松地将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象
3)Fastjson
Java上一个快速的JSON解析器/生成器
4)HtmlPaser
一种用来解析单个独立html或嵌套html的方式
5)Jsoup
一个以最好的DOM,CSS和jQuery解析html的库
5,数据库
1)OrmLite
JDBC和Android的轻量级ORM java包
2)Sugar
用超级简单的方法处理Android数据库
3)GreenDAO
一种轻快地将对象映射到SQLite数据库的ORM解决方案。
4)ActiveAndroid
以活动记录方式为Android SQLite提供持久化
5)SQLBrite
SQLiteOpenHelper 和ContentResolver的轻量级包装
6)Realm
移动数据库:一个SQLite和ORM的替换品
6,依赖注入
1)ButterKnife(已使用)
将Android视图和回调方法绑定到字段和方法上。
ButterKnife是一个专注于Android系统的View注入框架,可以减少大量的findViewById以及setOnClickListener代码。
具体用法查看GitHub。
2)Dagger2
一个Android和java快速依赖注射器。
3)AndroidAnotations
快速安卓开发。易于维护
4)RoboGuice
Android平台的Google Guice。Android上第一个依赖注入框架,已不再受支持。
7,图表
1)WilliamChart
创建图表的Android库
2)HelloCharts
兼容到API8的Android图表库
3)MPAndroidChart(已使用)
一个强大的Android图表视图/图形库。
①X轴坐标线显示不全问题
对于LineChart:
XAxis xl = lineChart.getXAxis();
xl.setSpaceBetweenLabels(1)
- 1
- 2
对于BarChart:
XAxis xAxis = barChart.getXAxis();
xAxis.setSpaceMax(1);
- 1
- 2
②数据刷新
barChart.notifyDataSetChanged();
barChart.invalidate();
8, 响应式编程
1)RxJava
JVM上的响应式扩展
2)RxJavaJoins
为RxJava提供Joins操作
3)RxAndroid
Android上的响应式扩展,在RxJava基础上添加了Android线程调度
4)RxBinding
提供用RxJava绑定Android UI的API
5)Agera
Android上的响应式编程
9,测试框架
1)Mockito
Java编写的Mocking单元测试框架
2)Robotium
Android UI 测试
3)Robolectric
Android单元测试框架
10,调试框架
1)Stetho
调试Android应用的桥梁,使得可以利用Chrome开发者工具进行调试
11,性能优化
1)LeakCanary
内存泄漏检测工具
2)ACRA
Android应用程序崩溃报告
12,弹框
1)OptionFrame(已使用)
一款Android弹出框、对话框、Dialog、popuwindow。
2)CircleProgressDialog(已使用)
圆形等待弹框。
13,其它功能
1)AndPermission(已使用)
Android6.0以后需要加入权限的时候询问用户。
2)FileDownloader(已使用)
文件下载框架。
注意: 使用下载文件之前,先:FileDownloader.setup(Context)
3)扫一扫
①Android Zxing
通过集成Google–zxing库实现扫一扫功能。
②yuzhiqiang1993/zxing
第三方资源。基于zxing的扫一扫,集成简单,速度快,可配置颜色,还有闪光灯,解析二维码图片,生成二维码等功能。
14,其它控件
1)SwitchButton(已使用)
2)banner(已使用)
图片轮播。
3)CircleProgress(已使用)
各种样式的圆形进度条。
4)SignatureView(已使用)
手写签名控件。
5)PullToRefresh
①概念
开发者可以使用 PullToRefresh 对各种控件实现下拉刷新或者上拉加载以及可以自定义刷新和加载部分的视图。
目前支持:ScrollView,ListView,WebView,RecyclerView。
对于单个控件,需要使用pullToRefreshLayout的功能,外层可包裹ScrollView。
取消上拉加载界面:pullToRefreshLayout.setCanLoadMore(false);
空列表显示:app:view_empty="@layout/layout_empty"
,但是并不好用。列表为
6)AndroidPicker
安卓选择器类库,包括日期选择器、时间选择器、单项选择器、双项选择器、城市地址选择器、车牌号选择器、数字选择器、星座选择器、生肖选择器、颜色选择器、文件选择器、目录选择器等,可自定义顶部及底部界面,可自定义窗口动画。
15,Log框架
1)Logger(已使用)
简单,漂亮,强大的Android日志工具。
输出明了,可从日志跳转到源码,不需要设置静态tag。
①使用
Logger.d("debug");
Logger.e("error");
Logger.w("warning");
Logger.v("verbose");
Logger.i("information");
Logger.wtf("wtf!!!!");
- 1
- 2
- 3
- 4
- 5
- 6
②支持格式
支持json、xml、Map、Collection、Array、set格式化输出。
支持Logcat和文件两种日志记录输出方式。
2)Hugo
在调试版本上注解的触发方法进行日志记录
3)Timber
一个小的,可扩展的日志工具
4)Bugly
腾讯推出的一款免费崩溃日志收集统计sdk,可直接通过gradle依赖。
使用很简单,是目前国内免费软件中功能最强大的一款。