android常用开源库系列文章

  1. android常用开源库(模块部分)
  2. android常用开源库(UI部分)

文章目录

  • 网络请求
  • 图片加载
  • 数据库
  • 异步分发
  • IOC
  • 数据解析
  • 权限

网络请求

  1. Retrofit

Retrofit是一个网络加载框架,底层是使用OKHttp封装实现的,可以理解为OkHttp的加强版。网络请求的工作是靠OkHttp完成,而
Retrofit 仅负责网络请求接口的封装。
Retrofit的一个特点是包含了特别多注解,方便简化你的代码量。并且还支持很多的开源库(如:Retrofit + RxJava)。

  1. OkHttp

OkHttp是对Http协议的高度封装,支持get请求和post请求,支持基于Http的文件上传和下载,支持加载图片,支持下载文件透明的GZIP压缩,支持响应缓存避免重复的网络请求,支持使用连接池来降低响应延迟问题。
OkHttp已经在Android中替代了HttpUrlConnection和Apache HttpClient(Android API
23,即sdk 6.0中已经替换)。

  1. Volley

Volley和Retrofit一样,也是一个网络请求框架,以通过它访问普通的网络数据,如JSON格式的数据,也可以下载图片。
Volley适合通信数据量不大但请求频繁的网络操作,不适合数据量较大的网络操作,如文件下载等。

图片加载

  1. Glide

Glide 是 Google 员工的开源项目, Google I/O
上被推荐使用,一个高效、开源、Android设备上的媒体管理框架,它遵循BSD、MIT以及Apache
2.0协议发布。Glide具有获取、解码和展示视频剧照、图片、动画等功能,它还有灵活的API,这些API使开发者能够将Glide应用在几乎任何网络协议栈里。创建Glide的主要目的有两个,一个是实现平滑的图片列表滚动效果,另一个是支持远程图片的获取、大小调整和展示。
Glide和Picasso有90%的相似度,但是在细节方面会有差别。而且Glide采用链式编程方法。
Glide与Picasso的差别主要体现在:下载图片的方式、图片的缓存机制、加载到内存的机制。

  1. Fresco

Facebook出品,支持图像渐进式呈现(先加载小图再加载大图),并且采用三级缓存机制(两级内存,一级文件)。但是体积会增大不少,而且侵入性强,需要使用SimpleDraweeView来替代ImageView控件。

  1. Picasso

使用简单,扩展性强,支持各种来源的图片,包括网络、Resources、assets、files、content
providers等。内部集成了OkHttp的网络框架(毕竟都是一家的产品)。 Picasso的特点:
1、在Adapter中取消了不在视图范围内的ImageView的资源加载,因为可能会产生图片错位; 2、使用复杂的图片转换技术降低内存的使用
3、自带内存和硬盘的二级缓存机制

数据库

  1. GreenDao

GreenDao号称android平台最快ORM框架,特点是内存占用小,易于操控的API及依赖库体积小。

  1. OrmLite

相比GreenDao,OrmLite更显轻量级,而且学习成本更低。

  1. Room

Room持久库在SQLite上提供了一个抽象层,使得大家可以更流畅地反问数据库,并且能够利用SQLite的全部强大功能。

异步分发

  1. EventBus

采用发布/订阅模式实现模块间解耦的事件总线库。简化代码,消除模块间依赖,加速开发。

  1. RxBus

RxBus是利用RxJava实现的事件总线库。

  1. RxJava

JVM的响应式扩张,使用可观测的序列来组成异步的、基于观察者模式的实现的库。

  1. RxAndroid

android版本的RxJava。

IOC

  1. ButterKnife

ButterKnife是一个Android系统中View注入框架,通过Annotation方式替代findViewById等对View的操作。并且在编译时生成class文件,避免了反射带来的性能问题。

  1. Dagger2

Dagger2也是通过依赖注入来解决对象之间依赖的问题,缺点是入户门槛较高。

数据解析

  1. FastJson

阿里巴巴开发的json格式和javabean对象相互转化的库。

  1. Gson

Google开发的json格式和javabean对象相互转化的库。

权限

  1. RxPermissions

使用RxJava形式请求权限。

更多相关文章

  1. Android2.3发布
  2. android
  3. Android(安卓)Afinal使用与总结
  4. 移植 android, touch screen 不能正常工作的问题
  5. Android(安卓)OkHttp中Https的处理
  6. android 网络连接
  7. Android(安卓)NDK1、Android(安卓)NDK带来什么
  8. android静默安装的实现(一)
  9. Android(安卓)svg图片使用

随机推荐

  1. Excel函数(1)统计函数这4个够用了!
  2. Excel函数(2)if、rand、round函数
  3. Excel函数(3):查找引用
  4. Excel函数(4)日期、文本函数
  5. 把 React 作为 UI 运行时来使用 [每日前
  6. 数据透视表,一篇就够了
  7. 一文带你了解数据保护的重要性
  8. Excel数据获取
  9. 青铜和黄金选手分别怎么玩转python列表?
  10. CSS Flexbox 可视化手册 [每日前端夜话(0