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

来源:互联网 发布:非线性最优化 编辑:程序博客网 时间:2024/05/16 12:59


 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



开源学习项目  (点击“阅读原文”)

        2017年,身为Android开发的你必须要掌握的热门开源框架

        两个开源的Android App,包含后台,直接拿去用: 每日趣闻/ Android 炫酷音乐播放

        20 多个可以提高你Android开发技能的国外优秀开源 app

        6个可以让代码变得更整洁的Android库

        阿里两个最新Android开源库,Android开发者的福音

        Android又一重磅利器—Lottie安卓开源动画库介绍和使用

        最全Android学习路线总结,绝对干货

     【精品开源项目】优酷来疯直播安卓控件,支持flv、rtmp,支持添加视频特效等等

         2016年Android最流行开源工具库

        基于Rxjava+Retrofit+Okhttp+LeanCloud的完整项目(段子手),供大家学习与交流

        MVP+Dagger2+Rxjava+Retrofit+GreenDao 小应用,包含新闻、图片、视频3个大模块,代码整洁干练

      GitHub Top 100的Android开源库

        十大热门Android开源新项目—快收藏以备用

        不得不看的面向开发者的最新最佳 Android 库列表

        Android热修复技术——Tinker方案解析
0 0