主要从android整体框架、数据库(orm)、敏捷开发(注解)、网络请求、json序列化、缓存、加载网络图片和响应式编程,这几个方面去整理,并附上各个项目github和官网地址,方便开发中的取舍。
###xUtils
- 主要由4个模块组成DbUtils模块、ViewUtils模块、HttpUtils模块和BitmapUtils模块
- 架包格式: aar(834KB) gradle('org.xutils:xutils:3.3.34')
- 地址:https://github.com/wyouflf/xUtils3
###ormlite-android
- 主要依赖注解和反射的方式;使用简单,易上手。
- 架包格式:
jar(56KB)
gradle('com.j256.ormlite:ormlite-android:4.48') - 地址:https://github.com/j256/ormlite-android
###GreenDao
- 由greenrobot提供开发;系能最大化,效率很高,插入和更新的速度是sqlite的2倍,加载实体的速度是ormlite的4.5倍
- 架包格式:
jar(98KB)
gradle('de.greenrobot:greendao:2.1.0') - 地址:https://github.com/greenrobot/greenDAO
###ButterKnife
- 用注解的方式,简化了findViewById()方法的实现。
- 架包格式:
aar(15.6KB)
gradle('com.jakewharton:butterknife:8.0.0') - 地址: https://github.com/JakeWharton/butterknife
###Volley
- google 推荐网络请求库,适用于多个小数据请求;缺点是没有自带上传和下载文件的功能,不支持对bitmap处理。
- 架包格式: jar(92KB) gradle('com.mcxiaoke.volley:library:1.0.19')
- 地址:https://github.com/mcxiaoke/android-volley
###Netroid
- Volley的扩展库,供执行网络请求、缓存返回结果、批量图片加载、大文件断点下载的常见Http交互功能
- 架包格式: jar(98KB) gradle('com.duowan.android.netroid:netroid:1.2.1')
- 地址:https://github.com/vince-styling/Netroid
###okHttp
- 由Square公司出品,目前相对比较成熟的网络请求库,获得过google研发人员的称赞;支持断点续传,文件下载等功能
- 架包格式: jar(328KB) gradle('com.squareup.okhttp3:okhttp:3.2.0')
- 地址:https://github.com/square/okhttp
###Retrofit
- 由Square公司出品,使用起来也是非常简单的,主要也是通过注解的方式简化了接口的定义;可配合okHttp来使用。
- 架包格式:
jar(85KB)
gradle('com.squareup.retrofit2:retrofit:2.0.2') - 地址:https://github.com/square/retrofit
###fastjson-android
- 由阿里巴巴技术团队支持,号称序列化速度最快;实际适用效果还是不错的。
- 架包格式: jar(190KB) gradle('com.alibaba:fastjson:1.1.50.android')
- 地址:https://github.com/alibaba/fastjson
###gson
- Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库。
- 架包格式: jar(225KB) gradle('com.google.code.gson:gson:2.6.2')
- 地址:https://github.com/google/gson
###DiskLruCache
- 硬盘缓存的最佳方案,获得官方认证
- 架包格式:
jar(22KB)
gradle('com.jakewharton:disklrucache:2.0.2') -地址:https://github.com/JakeWharton/DiskLruCache
###Image-Loader
- 配置性较强;支持加载网络,文件系统,项目文件夹assets中以及drawable中的图片。
- 架包格式: jar(159KB) gradle('com.nostra13.universalimageloader:universal-image-loader:1.9.5')
- 地址:https://github.com/nostra13/Android-Universal-Image-Loader
###Picasso
- 实现简单,一行代码就能完全实现图片的异步加载;解决adapter的错乱等问题
- 架包格式: jar(118KB) gradle('com.squareup.picasso:picasso:2.5.2')
- 地址:
https://github.com/square/picasso
官网
###Fresco
- 由facebook团队开发;一个强大的图片加载组件
- 架包格式: aar(9.46KB) gradle('com.facebook.fresco:fresco:0.10.0')
- 地址:
https://github.com/facebook/fresco
中文文档
###RxJava
- 是一个响应式编程框架,采用观察者设计模式。
- 架包格式:
jar(1015KB)
gradle('io.reactivex:rxjava:1.1.3') - 地址:https://github.com/ReactiveX/RxJava
###EventBus
- 由greenrobot提供开发;针对Android优化的发布/订阅事件总线,代码量小,可灵活在类之间传递数据。
- 架包格式:
jar(47KB)
gradle('de.greenrobot:eventbus:3.0.0-beta1') - 地址: https://github.com/greenrobot/EventBus
来源:oschina
链接:https://my.oschina.net/u/1011897/blog/667618