经常用的Android框架

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依赖。 
使用很简单,是目前国内免费软件中功能最强大的一款。



你可能感兴趣的:(经常用的Android框架)