Android经久不衰最受欢迎的开源库整理,你一定用过10个以上,架构师必备

原创作者:微信公众号:java和android架构

Android经久不衰最受欢迎的开源库整理,如果你想拿高薪或者想做Android架构师。这些框架不仅一定要会用,还要阅读其源码,掌握其原理。

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

第三方库

一 、网络请求

1、Android Async HTTP

Android异步HTTP库

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

2. AndroidAsync

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

https://github.com/koush/AndroidAsync

3. OkHttp

一个Http与Http/2的客户端

https://github.com/square/okhttp

4. Retrofit

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

https://github.com/square/retrofit

5. 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

RxLifecycle

防止RxJava中subscription导致内存泄漏

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

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

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

阿里百川HotFix:阿里百川推出的热修复HotFix服务,相对于QQ空间超级补丁技术和微信Tinker来说,定位于紧急bug修复的场景下,能够最及时的修复bug,下拉补丁立即生效无需等待。

QQ空间超级补丁技术

十三、View

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

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

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

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

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

NumberProgressBar:性感的数字进度条

FlycoTabLayout:样式比TabLayout多样的Tab库

FlycoDialog:多功能的Dialog

FlycoLabelView:添加角标的库

DanmakuFlameMaster:同样B站出品的弹幕库

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

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

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

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

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

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

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

十四、视频框架

ijkplayer:B站出品的视频解码库

十五、测试框架

1. Mockito

Java编写的Mocking单元测试框架

https://github.com/mockito/mockito

2. Robotium

Android UI 测试

https://github.com/RobotiumTech/robotium

3. 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

2. Hugo

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

https://github.com/JakeWharton/hugo

3. Timber

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

https://github.com/JakeWharton/timber

十八、调试框架

Stetho

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

https://github.com/facebook/stetho

十九、后台处理

1. Tape

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

https://github.com/square/tape

2. Android Priority Job Queue

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,293评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,604评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,958评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,729评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,719评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,630评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,000评论 3 397
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,665评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,909评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,646评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,726评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,400评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,986评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,959评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,996评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,481评论 2 342

推荐阅读更多精彩内容