Android 一些常用的依赖及使用

OkHttp*

一个Http与Http/2的客户端

https://github.com/square/okhttp

2.Gson

一个Java序列化/反序列化库,可以将JSON和java对象互相转换,Google出品

https://github.com/google/gson

3.zxing

一句话介绍:条码图像处理库

如果你用过二维码,你肯定已经间接使用过大名鼎鼎的zxing了。13.9K的star量,让它排在本榜单第九,实至名归,如果你有了解二维码的需求,不妨从了解、修改它源码入手。

github https://github.com/zxing/zxing

作者 Sean Owen

- 转自 https://www.sohu.com/a/134677878_733133 Android经久不衰最受欢迎的开源库整理,如果你想拿高薪或者想做Android架构师。这些框架不仅一定要会用,还要阅读其源码,掌握其原理!

文末附开源框架综合使用开源APP项目

第三方库

一 、网络请求

1、Android Async HTTP

Android异步HTTP库

https://github.com/loopj/android-async-http

  1. AndroidAsync

异步Socket,HTTP(客户端+服务器),WebSocket,和socket.io库。基于NIO而不是线程

https://github.com/koush/AndroidAsync

  1. OkHttp

一个Http与Http/2的客户端

https://github.com/square/okhttp

  1. Retrofit

类型安全的Http客户端,okhttp和retrofit做网络通讯是绝配

https://github.com/square/retrofit

  1. Volley

Google推出的Android异步网络请求框架和图片加载框架

https://android.googlesource.com/platform/frameworks/volley

二、JSON解析

1.Gson

一个Java序列化/反序列化库,可以将JSON和java对象互相转换,Google出品

https://github.com/google/gson

2.Jackson

Jackson可以轻松地将Java对象转换成json对象和xml文档,同样也可以将 json、xml转换成Java对象

https://github.com/codehaus/jackson

3.Fastjson

Java上一个快速的JSON解析器/生成器,功能同gson,有些地方gson不能处理可以试试这个,阿里巴巴出品

https://github.com/alibaba/fastjson

三、响应式编程

RxJava

JVM上的响应式扩展,一个实现异步操作的库,现在非常火

https://github.com/ReactiveX/RxJava

RxJavaJoins

为RxJava提供Joins操作,

https://github.com/ReactiveX/RxJavaJoins

RxAndroid

Android上的响应式扩展,用于Android的Rxjava绑定库,在RxJava基础上添加了Android线程调度

https://github.com/ReactiveX/RxAndroid

防止RxJava中subion导致内存泄漏

RxPermissions

基于RxJava开发的用于帮助在Android 6.0中处理运行时权限检测

RxBinding

提供用RxJava绑定Android UI的API,配合Rxjava处理控件异步调用

https://github.com/JakeWharton/RxBinding

Agera

Android上的响应式编程

https://github.com/google/agera

四、事件总线

EventBus

安卓优化的事件总线,简化了活动、片段、线程、服务等的通信

https://github.com/greenrobot/EventBus

Otto

一个基于Guava的增强的事件总线

https://github.com/square/otto

五、性能优化/内存检测

LeakCanary

内存泄漏检测工具,Facebook出品

https://github.com/square/leakcanary

ACRAAndroid

应用程序崩溃报告

https://github.com/ACRA/acra

六、网页数据抓取/Html解析

1.HtmlPaser

一种用来解析单个独立html或嵌套html的方式

https://sourceforge.net/projects/htmlparser

2.Jsoup

一个以最好的DOM,CSS和jQuery解析html的库

https://github.com/jhy/jsoup

七 、图片加载

1.Android Universal Image Loader

一个强大的加载,缓存,展示图片的库

https://github.com/nostra13/Android-Universal-Image-Loader

2、Picasso

一个强大的图片下载与缓存的库

https://github.com/square/picasso

3、Fresco

一个用于管理图像和他们使用的内存的库,facebook出品

https://github.com/facebook/fresco

4、Glide

Google出品的图片加载和缓存的库,这里有非常好的指导文档:https:// mrfu.me /2016/02/27/Glide_Getting_Started/

https://github.com/bumptech/glide

八、图片处理

1、Picasso-transformations

一个为Picasso提供多种图片变换的库

https://github.com/wasabeef/picasso-transformations

2、Glide-transformations

一个为Glide提供多种图片变换的库

https://github.com/wasabeef/glide-transformations

3、Android-gpuimage

基于OpenGL的Android过滤器

https://github.com/CyberAgent/android-gpuimage

九、数据库

1、OrmLite

JDBC和Android的轻量级ORM java包

https://sourceforge.net/projects/ormlite/files/releases/com/j256/ormlite

2、Sugar

用超级简单的方法处理Android数据库

https://github.com/satyan/sugar

3、GreenDAO

一种轻快地将对象映射到SQLite数据库的ORM解决方案,能配合rxjava使用

https://github.com/greenrobot/greenDAO

4、ActiveAndroid

以活动记录方式为Android SQLite提供持久化

https://github.com/pardom/ActiveAndroid

5、SQLBrite

SQLiteOpenHelper 和ContentResolver的轻量级包装

https://github.com/square/sqlbrite

6、Realm

移动数据库:一个SQLite和ORM的替换品

https://github.com/jhy/jsoup

十、依赖注入

1、ButterKnife

将Android视图和回调方法绑定到字段和方法上,JakeWharton大神的力作

https://github.com/JakeWharton/butterknife

2、Dagger2

一个Android和Java快速依赖注入库

https://github.com/google/dagger

3、AndroidAnotations

快速安卓开发。易于维护

https://github.com/androidannotations/androidannotations

4、RoboGuice

Android平台的Google Guice

https://github.com/roboguice/roboguice

十一、图表

1、WilliamChart

创建图表的Android库

https://github.com/diogobernardino/WilliamChart

2、HelloCharts

兼容到API8的Android图表库

https://github.com/lecho/hellocharts-android

3、MPAndroidChart

一个强大的Android图表视图/图形库

https://github.com/PhilJay/MPAndroidChart

十二、热修复/插件化框架

:微信Android热补丁方案,功能强大,和其它热修补方案对比看这里

十三、View

:很好用的RecyclerView多功能适配器库,项目里我并没有直接用这个库,而是按我自己使用习惯在它较早的代码上做了些改动

:RecyclerView的动画库,内置了非常多的动画效果

:展示头部Banner的库,动画效果很多,不过需要依赖picasso和nineoldandroids这两个库

:非常常用的用来显示圆形头像的库

:可根据手势进行缩放的图像库,这个也很常见

:性感的数字进度条

:样式比TabLayout多样的Tab库

:多功能的Dialog

:添加角标的库

:同样B站出品的弹幕库

:炫酷效果的点击按钮,主要用于显示收藏之类的动画

:富文本的处理库,用起来挺方便就是有内存泄漏- -

:集成多种动画效果的Drawable,之前有看源码觉得代码封装得挺好,动画不仅仅只能用在View上

:这个是用来处理PreferenceScreen的文件选中库,PreferenceScreen感觉平时不怎么看到使用,用法到时挺特别

:一个辅助开发拖拽功能的库,这是我为了做这个App的某些功能封装的库- -,现在也有用在工作的项目上

:基于ijkplayer开发的播放器,也是为了做这个App的视频播放功能封装的库- -,里面加了弹幕功能,感兴趣可以看下

:好吧不说了- -,主要是标签布局功能,还可以单独作为特殊点击效果的按钮,现在工作中需要点击效果的按钮我都直接用这个库来处理了,省的写Drawable

十四、视频框架

:B站出品的视频解码库

十五、测试框架

  1. Mockito

Java编写的Mocking单元测试框架

https://github.com/mockito/mockito

  1. Robotium

Android UI 测试

https://github.com/RobotiumTech/robotium

  1. Robolectric

Android单元测试框架

https://github.com/robolectric/robolectric

另外Android还自带很多测试工具,如JUnit,Monkeyrunner,UiAutomator,Espresso等。

十六、缓存

DiskLruCache

Java实现基于LRU的磁盘缓存

https://github.com/JakeWharton/DiskLruCache

十七、Log框架

  1. Logger

简单,漂亮,强大的Android日志库,让打印的Log变得非常漂亮

https://github.com/orhanobut/logger

  1. Hugo

在调试版本上注解的触发方法进行日志记录

https://github.com/JakeWharton/hugo

  1. Timber

一个小的,可扩展的日志工具

https://github.com/JakeWharton/timber

十八、调试框架

Stetho

调试Android应用的桥梁,使得可以利用Chrome开发者工具进行调试

https://github.com/facebook/stetho

十九、后台处理

  1. Tape

一个轻快的,事务性的,基于文件的FIFO的库

https://github.com/square/tape

  1. Android Priority Job Queue

一个专门为Android轻松调度任务的工作队列

https://github.com/yigit/android-priority-jobqueue

你可能感兴趣的:(Android)