您的位置:首页 > 运维架构 > 网站架构

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

2017-04-18 13:16 357 查看
 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

开源学习项目  (点击“[b]阅读原文”)[/b]
        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方案解析
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: