Android开发好用的依赖库和工具收集

Stella981
• 阅读 800

GitHub相关:

GitHub520(让你“爱”上 GitHub,解决访问时图裂、加载慢的问题。)

免费接口相关:

free-api(收集免费的接口服务,做一个api的搬运工)

热门依赖库:

banner(Banner 2.0 来了!Android广告图片轮播控件,内部基于ViewPager2实现,Indicator和UI都可以自定义。)

SmartRefreshLayout(下拉刷新、上拉加载、二级刷新、淘宝二楼、RefreshLayout、OverScroll,Android智能下拉刷新框架,支持越界回弹、越界拖动,具有极强的扩展性,集成了几十种炫酷的Header和 Footer。)

EventBus(事件总线用于Android和Java,简化了活动、片段、线程、服务等之间的通信。代码越少,质量越好。)

butterknife(绑定Android视图并回调到字段和方法。)

greenDAO(greenDAO是一个轻量级和快速的ORM解决方案,Android映射对象到SQLite数据库)

Android-PickerView(时间选择器、省市区三级联动)

BaseRecyclerViewAdapterHelper(强大而灵活的回收适配器)

glide(一个用于Android的图像加载和缓存库,专注于平滑滚动)

gson(一个Java序列化/反序列化库,用于将Java对象转换为JSON)

okhttp-OkGo(OkGo - 3.0 震撼来袭,该库是基于 Http 协议,封装了 OkHttp 的网络请求框架,比 Retrofit 更简单易用,支持 RxJava,RxJava2,支持自定义缓存,支持批量断点下载管理和批量上传管理功能)

okhttp(Square为JVM、Android和GraalVM精心设计的HTTP客户端。)

RxJava(一个库,用于在Java虚拟机中使用可观察序列编写异步和基于事件的程序。)

RxAndroid(用于Android的RxJava绑定)

retrofit(用于Android和JVM的类型安全HTTP客户机)

状态栏相关:

ImmersionBar(android 4.4以上沉浸式状态栏和沉浸式导航栏管理,适配横竖屏切换、刘海屏、软键盘弹出等问题,可以修改状态栏字体颜色和导航栏图标颜色,以及不可修改字体颜色手机的适配,适用于Activity、Fragment、DialogFragment、Dialog,PopupWindow,一句代码轻松实现,以及对bar的其他设置,详见README。简书请参考:http://www.jianshu.com/p/2a884e211a62

UltimateBarX(kotlin版并支持Java:使Android透明的状态栏和导航栏容易。)

StatusBarUtil(安卓应用中设置状态栏样式的util。)

底部导航相关:

BottomBarLayout(一个轻量级的底部导航控件,可设置未读数、提示点、提示消息)

权限相关:

PermissionX(一个开源的Android库,使处理运行时权限非常容易。)

RxPermissions(由RxJava2支持的Android运行时权限)

字体相关:

AlignTextView(字体对齐的textview)

AlginProject(模仿微信读书左右对齐的文字效果)

弹窗相关:

XPopup(XPopup2.0版本重磅来袭,2倍以上性能提升,带来可观的动画性能优化和交互细节的提升!!!功能强大,交互优雅,动画丝滑的通用弹窗!可以替代Dialog,PopupWindow,PopupMenu,BottomSheet,DrawerLayout,Spinner等组件,自带十几种效果良好的动画, 支持完全的UI和动画自定义!)

侧滑相关:

SwipeDelMenuLayout(史上最简单侧滑菜单,0耦合,支持任意ViewGroup。一步集成侧滑(删除)菜单,高仿QQ、IOS。~)

SmartSwipe(Android各种侧滑,有这一个就够了)

二维码相关:

BGAQRCode-Android( 扫描二维码、扫描条形码、相册获取图片后识别、生成带 Logo 二维码、支持微博微信 QQ 二维码扫描样式)

图标相关:

MPAndroidChart(一个强大的rocket Android图表视图/图形视图库,支持线-条形-饼-雷达-气泡-烛台图表以及缩放,平移和动画。)

视频相关:

JiaoZiVideoPlayer(MediaPlayer外部播放器ijkplayer ffmpeg)

GSYVideoPlayer(视频播放器(IJKplayer、ExoPlayer、MediaPlayer),HTTPS,支持弹幕,外挂字幕,支持滤镜、水印、gif截图,片头广告、中间广告,多个同时播放,支持基本的拖动,声音、亮度调节,支持边播边缓存,支持视频自带rotation的旋转(90,270之类),重力旋转与手动旋转的同步支持,支持列表播放 ,列表全屏动画,视频加载速度,列表小窗口支持拖动,动画效果,调整比例,多分辨率切换,支持切换播放器,进度条小窗口预览,列表切换详情页面无缝播放,rtsp、concat、mpeg。)

数据存储相关:

MMKV(微信开发的一个高效、小的移动键值存储框架。适用于Android, iOS, macOS, Windows和POSIX。)

greenDAO(greenDAO是一个轻量级和快速的ORM解决方案,Android映射对象到SQLite数据库)

LitePal(一个Android库,让开发人员使用SQLite数据库非常容易。)

日历相关:

CalendarView(Android上一个优雅、万能自定义UI、支持周视图、自定义周起始、性能高效的日历控件,支持热插拔实现的UI定制!支持标记、自定义颜色、农历、自定义月视图各种显示模式等。Canvas绘制,速度快、占用内存低,你真的想不到日历居然还可以如此优雅!)

material-calendarview(Android的CalendarView材质设计)

选择器&媒体相关:

Matisse(一个精心设计的Android本地图像和视频选择器)

Android-PickerView(时间选择器、省市区三级联动)

TakePhoto(一款用于在Android设备上获取照片(拍照或从相册、文件中选择)、裁剪图片、压缩图片的开源工具库)

生物识别相关:

BiometricPrompt(生物识别库,目前仅支持指纹识别,计划实现面部识别)

日志相关:

logger(简单,漂亮和强大的android日志程序)

动画&效果等相关:

WaveView(一个水波纹动画控件视图,支持波纹数,波纹振幅,波纹颜色,渐变色,波纹速度,波纹方向等属性完全可配。)

LabelsView(Android的标签列表控件。可以设置标签的选中效果。 可以设置标签的选中类型:不可选中、单选、限数量多选和不限数量多选等, 并支持设置必选项、单行显示、最大显示行数等功能。)

ArcSeekBar(ArcSeekBar 一个弧形可拖动进度条控件。弧形大小,弧度,颜色渐变等配置完全可定制化)

ConsecutiveScroller(ConsecutiveScrollerLayout是Android下支持多个滑动布局(RecyclerView、WebView、ScrollView等)和普通控件(TextView、ImageView、LinearLayou、自定义View等)持续连贯滑动的容器,它使所有的子View像一个整体一样连续顺畅滑动。并且支持布局吸顶功能。)

BackgroundLibrary(通过标签直接生成shape,无需再写shape.xml)

DR_MoneyEditTextDemo(专为金额输入定制,通过参数,自由限制输入小数的位数)

DL10RoundMenuView(Android 圆形遥控器按钮盘 带中间按钮)

AndroidLocalizePlugin(Android本地化插件。支持多种语言,无需申请密钥。)

Android3dTagViewTest(Android开发-仿Soul社交应用首页3D星球视图旋转样式)

Broccoli(显示视图占位符的Android库)

SplitEditTextView(Android类似支付宝密码输入框,美团外卖验证码输入框,验证码粘贴等;有效果图,有demo;支持下划线,方框,连体框样式;可设置光标、光标颜色,下划线输入时高亮,边框大小、颜色、圆角等等;设置密码显示的样式)

opencamera-for-android(android 美颜相机)

QMUI_Android(提高 Android UI 开发效率的 UI 库)

PreventKeyboardBlockUtil(一句代码解决软键盘挡住相关控件,适用于任何布局,一般作用于登录界面,注册界面等,当软键盘弹出时避免挡住登录(注册)按钮。)

HeartTree(一些动画绘制与画布绘制的心形树。)

TextPathView(一个视图与文本路径动画!)

SwitchButton(一个漂亮的+轻量级+自定义风格易于切换小部件的Android切换开关,minSdkVersion >= 11)

CircleImageView(安卓的圆形ImageView)

SmartLoadingView(一个自带dialog联网请求的button。且自带多种酷炫效果:有转场效果,和正常联网请求等。支持设置圆角;支持设置背景颜色值;设置字体颜色值;字体大小;自带dialog;字体超过一行,自动滚动(带2种滚动样式);通过对动画的不同监听可以实现不同的效果。具体看README)

SlidingTutorial-Android(引导页视觉容差库)

colorpicker(android的颜色选择器)

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
3个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
Android So动态加载 优雅实现与原理分析
背景:漫品Android客户端集成适配转换功能(基于目标识别(So库35M)和人脸识别库(5M)),导致apk体积50M左右,为优化客户端体验,决定实现So文件动态加载.!(https://oscimg.oschina.net/oscnet/00d1ff90e4b34869664fef59e3ec3fdd20b.png)点击上方“蓝字”关注我
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
9个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这