百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT技术 > 正文

Android常用框架整理

wptr33 2025-02-20 18:17 60 浏览

1. Jetpack(MVVM)

MVVMHabit 于谷歌最新AAC架构,MVVM设计模式的一套快速开发库。

binding-collection-adapter 数据绑定框架将集合绑定到列表视图。

data-binding-recyclerview Recyclerview数据绑定框架。
FlowBinding 受RxBinding启发, Kotlin Flow 绑定 API 和未捆绑的 UI 小部件。
ViewBindingKTX 最全面的 ViewBinding 工具,支持 Kotlin 和 Java 用法。

2. 网络

Retrofit 适用于Android和Java的类型安全的HTTP客户端(API)。
OkHttp 针对Java和Kotlin精心打造的HTTP客户端(API)。
Volley Volley是一个HTTP库,可以使Android应用程序的联网更加轻松,它可以更快地联网(文章)。
AsyncHttpClient 该框架已过时(API)。

3. 图片

Glide 一个快速高效的Android图片加载库(API)。
glide-transformations 一个Android转换库,为Glide提供了各种图像转换。
Picasso 强大的Android图片下载和缓存库。
picasso-transformations 一个Android转换库,为Picasso提供了各种图像转换。
Fresco 一个功能强大的系统,可在Android应用程序中显示图像(API)。
fresco-processors 一个Android图像处理器库,为Fresco提供了各种图像转换。
coil 由 Kotlin 协程支持的 Android 图像加载。
Universal-Image-Loader 该框架已过时。
Android-gif-drawable Gif 加载框架。
CircleImageView 圆角ImageView。
PhotoView ImageView的实现,支持通过各种触摸手势进行缩放。
uCrop 一款优雅的图片裁剪框架。
Luban 最接近微信的图片压缩框架。
Compressor 一个轻巧而强大的android图像压缩库。
Android-gpuimage 图像滤镜框架。

4. 视频播放

Ijkplayer 是Bilibili发布的基于 FFplay 的轻量级 Android/iOS 视频播放器。实现了跨平台功能,API 易于集成。
饺子(节操)视频播放器 节操视频播放器是一个让开发者可以三两行代码就能集成到应用中的视频播放框架。
GSYVideoPlayer 基于IJKPlayer(兼容系统MediaPlayer与EXOPlayer2),实现了多功能的视频播放器。
ExoPlayer 一个开源的,App等级的媒体API。
PLDroidPlayer 七牛推出的一款免费的适用于 Android 平台的播放器 SDK。
MD360Player4Android 这是一个精简库,可为Android渲染360度全景视频。
DanmakuFlameMaster 开源弹幕引擎·烈焰弹幕使 ~。
PreviewSeekBar 适用于显示视频预览的SeekBar。

5. 轮播图。

Banner 一个可以自定义的轮播容器,不侵入UI。
MZBannerView 图片轮播控件,支持多种模式切换:普通ViewPager使用,普通Banner使用,仿魅族Banner使用。
ViewPagerHelper 能够帮你快速实现导航栏轮播图(适配AndroidX)。
BGABanner 引导界面滑动导航 + 大于等于1页时无限轮播 + 各种切换动画轮播效果。
UltraViewPager 是ViewPager扩展,它封装了多个功能,主要是为多页切换方案提供统一的解决方案。
Roll3DImageView 一个实现图片3D翻转的自定义view,包含四种3D翻转的效果以及一种2D平移效果。
MagicViewPager 单页显示3个Item的ViewPager炫酷切换效果,适用于Banner等。
BulletinView 万能的公告栏轮播 View,也可用于商品个性垂直轮播展示。

6. RecyclerView框架

BRVAH 一个强大的RecyclerAdapter框架(API)。
Recyclerview-animators 允许开发人员轻松创建带有动画的RecyclerView。
Epoxy 用于在RecyclerView中构建复杂的屏幕。
MultiType 使创建多种类型的RecyclerView变得更加容易和灵活。
TreeRecyclerView 基于RecycleView封装的树形列表。

sticky-headers-recyclerview 基于RecycleView的粘性头回收视图。

StickyHeaders 适用于RecyclerView的适配器和LayoutManager,可实现粘性标头定位(支持AndroidX)。
StickyHeaders 轻松将粘性页眉添加到您的RecyclerView(支持AndroidX)。
vlayout 功能强大的LayoutManager扩展。
GravitySnapHelper 将RecyclerView捕捉到边缘。

7. 骨架屏

Skeleton 该库提供了一种简单的方法来显示骨架加载视图。
ShimmerRecyclerView 具有闪烁视图的自定义回收器视图,指示正在加载视图。
Spruce-android 一个轻量级动画库,可帮助编排屏幕上的动画。

8. 动画

Material-Animations 安卓转场动画演示。
AndroidViewAnimations 安卓视图动画合集。
Transitions-Everywhere 一款教你正确使用Transitions API(Android 转场动画API)。

9. 图表库

MPAndroidChart 一款功能强大且易于使用的Android图表库(文章、文章)。
hellocharts Android的图表/图形库,多种图表类型均支持缩放,滚动和动画。
WilliamChart 可在Android应用程序中快速开发有吸引力且有见地的图表。
KChartView 股票k线图。
android-kline Android版K线图和分时图。
XCL-Charts 国人出品, 图表控件,种类很多。
Android-Charts 国人实现的图表控件。
SmartTable 一款android自动生成表格框架。
AdaptiveTableLayout 可以读取,编辑和写入CSV文件的库。
TableView 用于显示复杂的数据结构并呈现由行,列和单元格组成的表格数据。
RX系列
RxJava 事件驱动的基于异步数据流的编程模式(API)。
RxAndroid 一款Android客户端组件间异步通信的框架(API)。
RxBinding 一款提供UI组件事件响应能力的框架(文章、文章)。
RxKotlin Kotlin 的 RxJava 绑定。
Agera 谷歌开发的安卓反应式编程框架。

10. 事件总线

otto 事件总线框架,不推荐使用,而推荐使用RxJava和 RxAndroid。
EventBus 适用于Android和Java的发布/订阅事件总线(API)。

11. 图片选择器

PictureSelector 适用于Android或图片选择器的图片选择器库(API)。
EasyPhotos 有拼图/文字贴纸/贴图/图片缩放/水印/图片编辑功能的图片选择器库。
Matisse 知乎开源的图片选择器。
BGAPhotoPicker Android 图片选择、预览、九宫格图片控件、拖拽排序九宫格图片控件。
Android-FilePicker 图片 / 文件选择器。

12. 弹框

material-dialogs 流畅且可扩展的对话框API。
Android-AlertView 仿iOS的AlertViewController。
FlycoDialog 强大的Android对话框库内置常用Dialog。

13. 二维码

Scankit 华为二维码扫描服务(文章)。
BGAQRCode-Android QRCode 扫描二维码、扫描条形码、支持微博微信 QQ 二维码扫描样式。

14. 热修复、插件化、组件化

Bugly 微信Android热补丁解决方案(官网)。
Sophix 阿里移动热修复(官网)。
Robust 无差别兼容Android2.3-10版本,无需重启补丁实时生效,补丁修补成功率高达99.9%。
RePlugin 灵活、稳定、易用的 Android 插件框架(官网)。
Shadow 零反射全动态Android插件框架。
Qigsaw 是基于Android App Bundles实现的 Android 动态组件化方案,它不需要重新安装实时动态分发插件。
VirtualXposed 在非ROOT环境下运行Xposed模块的实现(支持5.0~10.0)。
Atlas 淘宝推出的组件化开发框架。

15. 选择器

Android-PickerView 一款仿iOS的PickerView控件,有时间选择器和选项选择器(API)。
DropDownMenu 下拉式菜单的筛选器。

16. 权限处理

PermissionX 一个开源的 Android 库,可以非常轻松地处理运行时权限(文章)。
AndPermission Android 平台的权限管理器。
HiPermission 一个简单易用的漂亮权限申请库。
RxPermissions 一款基于RxJava完成权限申请的框架。

17. TextView框架

SuperTextView 一个强大的TextView框架(文章)。
html-textview 显示简单的HTML。
SlantedTextView 倾斜的标签TextView。
labelview 贴纸效果,如:淘宝商品侧贴折扣。
ExpandableTextView 自定义可以动态展开/收缩显示长文本的TextView(文章)。
Titanic 可以显示水位上升下降的TextView。
TextLayoutBuilder 一个Android库,可让您更轻松地构建文本布局。

18. 数据库框架

Realm 一款移动端数据库框架(文档)。
greenDAO 一款高效、快速的SQLite型数据库(文档)。
sugar 用超级简单的方法处理Android数据库。

19. WebView框架

VasSonic 专注于提升H5首屏加载速度。
JsBridge java和javascript桥,灵感来自微信webview jsbridge。
AgentWeb 基于Android WebView的功能强大的库。

20. 字体

Android-Iconics 在应用中使用任何可绘制的图标字体或矢量。
Calligraphy 一款自定义字体框架。
android-typeface-helper Android字体助手。
FontsManager 字体管理器,方便快速的为应用内所有组件更换字体。

21. 换肤

Android-skin-support 换肤框架。
Skinnable 东方证券Android换肤Project。

22. 刷新加载框架

SmartRefreshLayout 强大的智能下拉刷新框架。

23. 高斯模糊,毛玻璃

Blurry 好用的简易模糊库。
Android-stackblur 可以基于渐变或半径对位图执行模糊效果,并返回结果。
Blurkit-android 一个非常易于使用和高性能的,可在Android中渲染实时模糊效果。
BlurView 类似于Android的基础View的动态iOS样模糊。

24. Log框架

Logger 简单,漂亮,强大的Android日志工具。
Timber 一个小的,可扩展的日志工具。

25. 测试框架

mockito Java编写的Mocking单元测试框架。
robotium Android UI 测试。
robolectric Android单元测试框架。

26. UI框架

ViewPagerIndicator 指示器小部件。
AndroidSwipeLayout 侧滑删除,功能强大的swipe布局。
FlycoTabLayout 具有3个样式的TabLayout。
FlycoLabelView 一个简单的Android标签控件。
StickyListHeaders 可轻松将吸顶布局集成到ListView。
ShapeOfView 为任何android视图赋予自定义形状。
ArcLayout 圆弧形弧布局,借助Arc Layout探索材料设计的新样式和方法。
MagicMirror 提供多种常用形状,基于蒙版图的任意形状及常用滤镜的自定义ImageView。
ArcLayout 超酷的弧形布局菜单。
EasyFlipView 快速简便的翻转视图,通过它可以创建带有信用卡,扑克牌等两面的视图。
android-flip 可以实现类似Flipboard一样的翻页效果。
AndroidSlidingUpPanel 拖动的View,能在当前Activity上扶起一个可拖动的Panel。
Grav 粒子动画效果,可让您基于点制作多个动画。
Viewbadger 为其他View添加角标等。
FanLayoutManager 风扇扇叶旋转效果列表。
android-viewbadger 能够快速的为Android 视图加入“勋章”能力的框架。
BadgeView 支持自由定制外观、拖拽消除。
InfiniteCycleViewPager 具有双向定位和交互效果,可以水平和垂直滚动。
StickyHeaderListView 打造炫酷列表之-标题渐变、吸附悬浮、筛选分类、动态头部等。
StikkyHeader 可让您将标题粘贴到ListView并轻松对其应用动画。
SwitchButton 一个美观,轻巧,易于定制的Android开关小部件。
SpringIndicator 使用bezier实现粘连效果的页面指示。
NumberProgressBar 个简约性感的数字进度条。
Spotlight 可以点亮教程或演练等的项目,引导。
SwipeStack 自定义且易于使用的可滑动视图堆栈。
CardSwipeLayout 模仿探探卡片滑动效果的布局。
TicketView 圆角和扇贝形角的android中实现TicketView。
CalendarView 个优雅、万能自定义UI、支持周视图、自定义周起始、性能高效的日历控件,支持热插拔实现的UI定制。
SecurityKeyboard 东方证券安全键盘。
orientui 东方证券Android的UI组件库。
MultipleStatusView 一个支持多种状态的自定义View,可以方便的切换到:加载中视图、错误视图、空数据视图、网络异常视图、内容视图。
StatusLayoutManager 切换不同的数据状态布局,包含加载中、空数据和出错状态,可自定义状态布局。
Android-AlertView 仿iOS的AlertViewController。
其他
QMUI 提高 Android UI 开发效率的 UI 库(官网)。
android-ui 精选的Android UI / UX库的精选列表。
ImmersionBar android 4.4以上沉浸式实现。
StatusBarUtil 设置状态栏的工具库。
Richeditor-android 一个美丽的富文本编辑器。
AndroidAutoSize 今日头条屏幕适配方案终极版,一个极低成本的 Android 屏幕适配方案。
XhsEmoticonsKeyboard 最良心的开源表情键盘解决方案。
Recovery 崩溃恢复框架。
CustomActivityOnCrash 崩溃处理。
SuperCleanMaster 一键清理 开源版,包括内存加速,缓存清理,自启管理,软件管理等。
FileDownloader 文件下载引擎。
tess-two Android 图片文字识别。
ExplosionField 爆炸性粉尘效果。
WaveLoading 波浪状加载效果。
ShortcutBadger Android 应用角库(文章)。
AndroidPdfViewer PDF阅读器。
Logger 一款让log日志优雅显示的框架。
dagger 一款通过依赖注入降低程序间耦合的开发框架。
Apktool 一款反编译apk的工具。
DiskLruCache 一款提供磁盘文件缓存管理能力的框架。
conceal 一款facebook提供的加密本地大文件的框架。
Keyframes 一个用于将基于Adobe AE形状的动画转换为数据格式并在Android和iOS设备上播放的库。
JKeyboardPanelSwitch Android键盘面板冲突 布局闪动处理方案。
WaveView 显示波效果的视图。
Vorolay VoronoiView是一个视图(ViewGroup),允许您在Voronoi图区域内添加和显示视图。
TextDrawable 这个轻量级的库提供带有字母/文本的图像。
autofittextview ,它会自动调整文本大小以使其完全适合其边界。
android-ripple-background 适用于您应用的精美波纹动画。
BluetoothSocket 此库可以方便的帮你使用经典蓝牙做socket 通讯。
EasyNavigation 几行代码实现Tab导航(随意定制加号、带红点消息提示、高度定制、支持ViewPager2。
MMKV 微信开发的高效,小型移动键值存储框架。
jadx Dex到Java反编译器。
Cactus 安卓保活,Cactus 集成双进程前台服务,JobScheduler,一像素,WorkManager,无声音乐。
watermark-android 加文字水印 支持配置文字大小,倾斜角度,多行水印。
soter 腾讯开源, 在Android设备上实现可信的指纹认证。
MusicIndicator Android音乐指示器。易于使用。
VRPlayer 一个简单但功能强大的本地VR视频播放器。
AndServer Android平台的Web服务器和Web框架(文章)。
SwipeCaptcha Android 平台的滑动验证码。
CombineBitmap 仿钉钉、微信 群聊组合头像。
excelPanel Android的二维RecyclerView。不仅可以加载历史数据,还可以加载将来的数据。
XUpdate 一个轻量级、高可用性的Android版本更新框架。
AndroidPdfViewer 用于显示使用PdfiumAndroid渲染的PDF。
MagicIndicator 强大、可定制、易扩展的 ViewPager 指示器框架。
NineGridView 展示图片的九宫格控件。

23. 开源项目

cocoachina 开发者成长社区。
SeeWeather 是一款遵循 Material Design 风格的只看天气的APP。
EffectiveAndroidUI 一款讲解高效展示UI的教学型App。
u2020 款提供Dagger的高级教学示例的app。
androidmvp 一款展示Android端Mvp设计的demo。
C9MJ 个人练手项目(新闻 + 视频直播): 基于 MVP。
WeChatLuckyMoney 微信抢红包插件。
bilibili-android-client 仿哔哩哔哩客户端。
MVPArms 一个整合了大量主流开源项目高度可配置化的 Android MVP 快速集成框架。

HighPerformanceFriendsCircle 实现高性能微信朋友圈。

AnchorImageView 支持给图片加锚点的 Android 组件。
Isometric Android 透视三维体效果实现。

23. 学习资源

Android-training Android学习网址。
Android官网 谷歌中国网站。
AndroidAll 最全的 Android 技术栈。
Android_Data Android 学习资料收集。
UltimateAndroidReference Android开发者的道路



作者:Luke_单车
链接:
https://www.jianshu.com/p/0b4fb628bcf4

来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

相关推荐

oracle数据导入导出_oracle数据导入导出工具

关于oracle的数据导入导出,这个功能的使用场景,一般是换服务环境,把原先的oracle数据导入到另外一台oracle数据库,或者导出备份使用。只不过oracle的导入导出命令不好记忆,稍稍有点复杂...

继续学习Python中的while true/break语句

上次讲到if语句的用法,大家在微信公众号问了小编很多问题,那么小编在这几种解决一下,1.else和elif是子模块,不能单独使用2.一个if语句中可以包括很多个elif语句,但结尾只能有一个else解...

python continue和break的区别_python中break语句和continue语句的区别

python中循环语句经常会使用continue和break,那么这2者的区别是?continue是跳出本次循环,进行下一次循环;break是跳出整个循环;例如:...

简单学Python——关键字6——break和continue

Python退出循环,有break语句和continue语句两种实现方式。break语句和continue语句的区别:break语句作用是终止循环。continue语句作用是跳出本轮循环,继续下一次循...

2-1,0基础学Python之 break退出循环、 continue继续循环 多重循

用for循环或者while循环时,如果要在循环体内直接退出循环,可以使用break语句。比如计算1至100的整数和,我们用while来实现:sum=0x=1whileTrue...

Python 中 break 和 continue 傻傻分不清

大家好啊,我是大田。今天分享一下break和continue在代码中的执行效果是什么,进一步区分出二者的区别。一、continue例1:当小明3岁时不打印年龄,其余年龄正常循环打印。可以看...

python中的流程控制语句:continue、break 和 return使用方法

Python中,continue、break和return是控制流程的关键语句,用于在循环或函数中提前退出或跳过某些操作。它们的用途和区别如下:1.continue(跳过当前循环的剩余部分,进...

L017:continue和break - 教程文案

continue和break在Python中,continue和break是用于控制循环(如for和while)执行流程的关键字,它们的作用如下:1.continue:跳过当前迭代,...

作为前端开发者,你都经历过怎样的面试?

已经裸辞1个月了,最近开始投简历找工作,遇到各种各样的面试,今天分享一下。其实在职的时候也做过面试官,面试官时,感觉自己问的问题很难区分候选人的能力,最好的办法就是看看候选人的github上的代码仓库...

面试被问 const 是否不可变?这样回答才显功底

作为前端开发者,我在学习ES6特性时,总被const的"善变"搞得一头雾水——为什么用const声明的数组还能push元素?为什么基本类型赋值就会报错?直到翻遍MDN文档、对着内存图反...

2023金九银十必看前端面试题!2w字精品!

导文2023金九银十必看前端面试题!金九银十黄金期来了想要跳槽的小伙伴快来看啊CSS1.请解释CSS的盒模型是什么,并描述其组成部分。答案:CSS的盒模型是用于布局和定位元素的概念。它由内容区域...

前端面试总结_前端面试题整理

记得当时大二的时候,看到实验室的学长学姐忙于各种春招,有些收获了大厂offer,有些还在苦苦面试,其实那时候的心里还蛮忐忑的,不知道自己大三的时候会是什么样的一个水平,所以从19年的寒假放完,大二下学...

由浅入深,66条JavaScript面试知识点(七)

作者:JakeZhang转发链接:https://juejin.im/post/5ef8377f6fb9a07e693a6061目录由浅入深,66条JavaScript面试知识点(一)由浅入深,66...

2024前端面试真题之—VUE篇_前端面试题vue2020及答案

添加图片注释,不超过140字(可选)1.vue的生命周期有哪些及每个生命周期做了什么?beforeCreate是newVue()之后触发的第一个钩子,在当前阶段data、methods、com...

今年最常见的前端面试题,你会做几道?

在面试或招聘前端开发人员时,期望、现实和需求之间总是存在着巨大差距。面试其实是一个交流想法的地方,挑战人们的思考方式,并客观地分析给定的问题。可以通过面试了解人们如何做出决策,了解一个人对技术和解决问...