Android 流行框架查速表

特别推荐

util工具整理.非常全的Android常用util

缓存框架

  • DiskLruCache Java实现基于LRU的磁盘缓存
  • ASimpleCache 是一个为android制定的 轻量级的 开源缓存框架。轻量到只有一个java文件(由十几个类精简而来)。

图片加载

  • Android Universal Image Loader 应该是使用最多的图片缓存,支持主流图片缓存的绝大多数特性
  • Picasso 一个强大的图片下载与缓存的库
  • Fresco Facebook 开源的一个强大的图片加载组件。用于管理图像和他们使用的内存的库
  • Glide 一个高效、开源、 Android设备上的媒体管理框架。灵活的API,可以和很多网络框架进行整合

图片处理

网络请求

  • Android Async HTTP Android异步HTTP库
  • AndroidAsync 异步Socket,HTTP(客户端+服务器),WebSocket,和socket.io库。基于NIO而不是线程
  • OkHttp 一个Http与Http/2的客户端
  • Retrofit Square开源的Android和Java的REST风格请求库.
  • Volley Google推出的Android异步网络请求框架和图片加载框架
  • Android Lite Http 一款‘智能’的HTTP框架类库。国人开发的一套框架
  • HttpCache Trinea大神写的Http缓存工具
  • Http Request Java HTTP请求库
  • Ion Android异步网络和图片加载

网络解析

  • Gson 一个Java序列化/反序列化库,可以将JSON和java对象互相转换
  • Jackson Jackson可以轻松地将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象
  • Fastjson 阿里巴巴开源JSON解析库,是一个Java语言编写的高性能功能完善的JSON库。它采用一种“假定有序快速匹配”的算法, 把JSON Parse的性能提升到极致,是目前Java语言中最快的JSON库。各种JSON库的比较
  • HtmlPaser 一种用来解析单个独立html或嵌套html的方式
  • Jsoup 一个以最好的DOM,CSS和jQuery解析html的库

数据库

  • ROOMGoogle Jetpack 推出的数据库,非常好用
  • OrmLite OrmLite不是Android平台专用的orm框架,它是一个Java orm,OrmLite For Android增加了对Android平台的支持。
  • Sugar 用超级简单的方法处理Android数据库
  • GreenDAO GreenDAO是一个轻量级,快速的orm框架。简化建表、查询、更新、插入、事务、索引的操作
  • ActiveAndroid ActiveAndroid是一个轻量级的orm框架,名称命令方式类似于Yii、Rails等使用的orm框架ActiveRecord
  • SQLBrite SQLiteOpenHelper 和ContentResolver的轻量级包装
  • Realm 移动端的数据库,适用于 Phone、Tablet、Wearable,支持 ORM,线程安全、支持连表及数据库加密,比 SQLite 性能更好。
  • DBFlow 一个速度极快,功能强大,而且非常简单的 Android 数据库 ORM 库

依赖注入

  • ButterKnife 将Android视图和回调方法绑定到字段和方法上,利用annotation帮你快速完成View的初始化,减少代码
  • Dagger2 一个Android和java快速依赖注射器
  • AndroidAnotations 快速安卓开发。易于维护
  • RoboGuice Android平台的Google Guice

图表库

  • WilliamChart 创建图表的Android库
  • HelloCharts 兼容到API8的Android图表库
  • MPAndroidChart 一个强大的Android图表视图/图形库
  • EazeGraph Android图表和图表库
  • AndroidCharts:一款易于使用的Android图表动画类库,包含曲线/折线图、饼图、时钟图、柱状图

后台处理

事件总线

  • EventBus 安卓优化的事件总线,简化了活动、片段、线程、服务等的通信
  • Otto 一个基于Guava的增强的事件总线
  • AndroidEventBusbboyfeiyu开源的事件总线框架,吸收了greenrobot的EventBus以及square的otto的优点, 并在此基础上做出了相应的改进,使得事件总线框架更适合用户的使用习惯,也使得事件的投递更加的精准、灵活

响应式编程

  • RxJava JVM上的响应式扩展
  • RxJavaJoins 为RxJava提供Joins操作
  • RxAndroid Android上的响应式扩展,在RxJava基础上添加了Android线程调度
  • RxBinding 提供用RxJava绑定Android UI的API
  • Agera Android上的响应式编程
  • RxLifecycle RxAndroid的生命周期控制
  • RxPermissions RxJava实现的Android运行时权限控制
  • RxFile RxJava实现,从文件,图片或者视频中获取缩略图
  • xBus EventBus的RxJava实现。 最简单的RxBus实现
  • Retrolambda:可以在Android上使用Lambdas表达式
  • Agera Agera(瑞典文的意思是"采取行动")是一个超轻量级的Android库,

帮助Android应用中有生命周期的组件(比如:Activities)或者组件中的对象(比如:Views)预准备数据。 通过加入函数式响应式编程,Agera可以在 什么时机, 什么线程 和 什么数据 层面上更清晰的分离数据处理流程,并且使用一个接近自然语言的单个表达式就能编写一个复杂的异步流。

from Agera中文wiki
Google Agera vs Reactivex:Reddit的讨论, 详细对比

Log框架

  • Logger 简单,漂亮,强大的Android日志工具
  • Hugo 在调试版本上注解的触发方法进行日志记录
  • Timber 一个小的,可扩展的日志工具
  • DebugLog 可以帮你创建更简单和更容易理解的调试日志,能够友好的显示调试信息所在类和函数。

测试框架

  • Mockito Java编写的Mocking单元测试框架
  • Robotium Android UI 测试
  • Robolectric Android单元测试框架
  • Android自带很多测试工具:JUnit,Monkeyrunner,UiAutomator,Espresso等

调试框架

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

性能优化

Android插件

  • DynamicAPK 实现Android多apk/dex方式的apk加载,支持资源分包
  • AndroidDynamicLoader 点评的插件化实现方式,是用 Fragment 以及 Schema 的方式实现
  • dynamic-load-apk Apk动态加载框架,热部署,利用 ClassLoader 以及 Activity 代理的方式解决。
  • android-pluginmgr 一种无须规范限制的动态加载解决方案,插件不需要依赖任何API
  • DroidPlugin DroidPlugin 是360手机助手在Android系统上实现了一种新的插件机制:它可以在无需安装、修改的情况下运行APK文件,此机制对改进大型APP的架构,实现多团队协作开发具有一定的好处

热修补框架

  • Dexposed 基于Xposed的AOP框架,方法级粒度,可以进行AOP编程、插桩、热补丁、SDK hook等功能。
  • AndFix 阿里巴巴的另一个团队的hot fix方案。同样是方法的hook,AndFix不像Dexposed从Method入手,而是以Field为切入点。
  • Nuwa 纯java实现的hot fix方案
  • HotFix 安卓App热补丁动态修复框架
  • DroidFix AndroidHotFix/Android 代码热修复
  • AnoleFix Another hotfix 另一个热修复方案 Alpha,来自InstantRun 和 Robust 类似
  • Amigo 饿了么团队开源的 Android hotfix框架
  • Tinker 微信开源的Android Hot fix方案

视频处理

  • ExoPlayer Android的可扩展媒体播放器
  • VideoPlayerManager:帮助开发者使用MediaPlayer
  • Easy Video Player:易于使用的视频播放器
  • ijkplayer Android / iOS视频播放器基于FFmpeg n3.2,支持MediaCodec,VideoToolbox
  • mp4parser 用于读取,写入和创建MP4文件的Java API
  • AndroidFFmpeg FFmpeg视频解析的例子
  • Vitamio Vitamio是一款Android 与iOS 平台上的全能多媒体开发框架
  • 全面支持硬件解码与 GPU 渲染
  • 能够流畅播放 720P 甚至 1080P 高清 MKV,FLV,MP4,MOV,TS,RMVB 等常见格式的视频
  • 在 Android 与 iOS 上跨平台支持 MMS, RTSP, RTMP, HLS(m3u8)等常见的多种视频流媒体协议,包括点播与直播

Camera操作

  • cwac-camera commonsguy开源的camera操作封装。
  • SquareCamera 正方的摄像机,有前后摄像头等操作。
  • CameraModule Yalantis开源的摄像机,有自动聚焦功能等。
  • OpenCamera 完整的摄像机,功能很全,不过代码有点乱。
  • StickerCamera 这是一款集成了相机,图片裁剪,给图片贴贴图打标签的相机应用。

动画

  • Android View Animations:一个非常强大的开源动画库,开发者可以用来创建各种效果
  • RecyclerView Animators:可实现RecyclerView动画
  • lottie-android 动画类框架排行榜第一名,一款可以在 Android 端快速展示 Adobe Afeter Effect(AE) 工具所做动画的框架.

利用 json 文 件快速实现动画效果是它最大的便利,而这个 json 文件也是由 Adobe 提供的 AE 工具制作的,在 AE 中装一个 Bodymovin 的插件,使用这个插件最终将动画效果生成 json 文件,这个 json 文件即可由 LottieAnimationView 解析并生成绚丽的动画效果,而且它还支持跨平台

  • Material-Animations一款提供场景转换过渡能力的动画框架,与 lottie-android 不同的是,Material-Animations 提供的是场景切换的动画效果

日期&时间

文件

手势

蓝牙

  • Android-BluetoothSPPLibrary:开发者用它可以通过蓝牙与微控制器(microcontroller)或Android设备进行通信
  • RxAndroidBle:基于RxJava技术,可用较低的电量操作蓝牙

UI界面

1. material-dialogs

是一款自定义View框架,如多你还是一个自定义 View 的新人,对 Dialog 使用还有点生疏,那么通过使用 material-dialogs 可以提升你的 Dilaog 使用能力

GitHub 地址:material-dialogs GitHub 地址

2. flexbox-layout

是一款弹性伸缩布局,FlexboxLayout 作为 LinearLayout 和 RelativeLayout 的替代者,值得大家在项目开发中去尝试使用,毕竟是 Google 出品

GitHub 地址:flexbox-layout GitHub 地址

3. AndroidSwipeLayout

非常强大的滑动式布局,滑动删除是我们 app 中的常见需求,商品详情的上下滑动需求在实际开发中我们也是经常遇到,AndroidSwipeLayout 在 GitHub 上有 8300 个 stars,证明还是值得使用

GitHub 地址:AndroidSwipeLayout GitHub 地址

4. BaseRecyclerViewAdapterHelper

强大的通用 RecyclerView 适配器,在 GitHub Android 适配器排行榜第一

GitHub 地址:BaseRecyclerViewAdapterHelper GitHub 地址

5. MaterialDrawer

强大的材料风格的抽屉框架,非常灵活,易于使用

GitHub 地址:MaterialDrawer GitHub 地址

6. Android-ObservableScrollView

一款让视图滑动更具有视觉效果的滑动式框架,在 GitHub 上提供了 12 种滑动效果,可以用来提升 App 的滑动体验

GitHub 地址:Android-ObservableScrollView GitHub 地址

7. AppIntro

一款提供快速制作欢迎页的框架,在国内的 App 开发中,ViewPager 开发 App 的欢迎页已经是标配的需求,但是 AppIntro 也是绝对值得你一看

GitHub 地址:AppIntro GitHub 地址

8. ViewPagerIndicator

一款基于 ViewPager 的页面指示器开源框架,作者是 Android 大神 JakeWharton,只是已经很长时间没有更新了,大家可以参考使用

GitHub 地址:ViewPagerIndicator GitHub 地址

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

推荐阅读更多精彩内容