官方地址:
https://github.com/Blankj/AndroidUtilCode
简介
AndroidUtilCode 🔥 是一个强大易用的安卓工具类库,它合理地封装了安卓开发中常用的函数,具有完善的 Demo 和单元测试,利用其封装好的 APIs 可以大大提高开发效率,如今它主要包括两部分模块,其一是主工具类模块:utilcode,其中的工具类是开发中常用到的;其二是子工具类模块:subutil,它包含的工具类并不是很常用,它的出现是为了防止主工具类的臃肿
接入方式
implementation 'com.blankj:utilcode:1.29.0'
// if u use AndroidX, use the following
implementation 'com.blankj:utilcodex:1.29.0'
APIs
-
Activity 相关 -> ActivityUtils.java -> Demo
addActivityLifecycleCallbacks : 新增 Activity 生命周期监听
removeActivityLifecycleCallbacks: 移除 Activity 生命周期监听
getAliveActivityByContext : 根据上下文获取存活的 Activity
getActivityByContext : 根据上下文获取 Activity
isActivityExists : 判断 Activity 是否存在
startActivity : 启动 Activity
startActivityForResult : 启动 Activity 为返回结果
startActivities : 启动多个 Activity
startHomeActivity : 回到桌面
getActivityList : 获取 Activity 栈链表
getLauncherActivity : 获取启动项 Activity
getMainActivities : 获取主的 Activity 们
getTopActivity : 获取栈顶 Activity
isActivityAlive : 判断 Activity 是否存活
isActivityExistsInStack : 判断 Activity 是否存在栈中
finishActivity : 结束 Activity
finishToActivity : 结束到指定 Activity
finishOtherActivities : 结束所有其他类型的 Activity
finishAllActivities : 结束所有 Activity
finishAllActivitiesExceptNewest : 结束除最新之外的所有 Activity
-
AdaptScreen 相关 -> AdaptScreenUtils.java -> Demo
adaptWidth : 适配宽度
adaptHeight: 适配高度
closeAdapt : 关闭适配(pt 等同于 dp)
pt2Px : pt 转 px
px2Pt : px 转 pt
-
Api 相关 -> ApiUtils.java -> README
getApi: 获取 api 的实例
-
App 相关 -> AppUtils.java -> Demo
registerAppStatusChangedListener : 注册 App 前后台切换监听器
unregisterAppStatusChangedListener: 注销 App 前后台切换监听器
installApp : 安装 App(支持 8.0)
uninstallApp : 卸载 App
isAppInstalled : 判断 App 是否安装
isAppRoot : 判断 App 是否有 root 权限
isAppDebug : 判断 App 是否是 Debug 版本
isAppSystem : 判断 App 是否是系统应用
isAppForeground : 判断 App 是否处于前台
isAppRunning : 判断 App 是否运行
launchApp : 打开 App
relaunchApp : 重启 App
launchAppDetailsSettings : 打开 App 具体设置
exitApp : 关闭应用
getAppIcon : 获取 App 图标
getAppPackageName : 获取 App 包名
getAppName : 获取 App 名称
getAppPath : 获取 App 路径
getAppVersionName : 获取 App 版本号
getAppVersionCode : 获取 App 版本码
getAppSignature : 获取 App 签名
getAppSignatureSHA1 : 获取应用签名的的 SHA1 值
getAppSignatureSHA256 : 获取应用签名的的 SHA256 值
getAppSignatureMD5 : 获取应用签名的的 MD5 值
getAppInfo : 获取 App 信息
getAppsInfo : 获取所有已安装 App 信息
getApkInfo : 获取 Apk 信息
-
数组相关 -> ArrayUtils.java -> Test
newArray : 新建数组
newLongArray : 新建长整型数组
newIntArray : 新建整型数组
newShortArray : 新建 short 数组
newCharArray : 新建字符数组
newByteArray : 新建字节数组
newDoubleArray : 新建双精度数组
newFloatArray : 新建浮点数数组
newBooleanArray : 新建 boolean 数组
isEmpty : 判断数组是否为空
getLength : 获取数组长度
isSameLength : 判断两数组长度是否相等
get : 获取数组的索引值
set : 设置数组的索引值
equals : 判断数组是否相等
reverse : 逆序数组
copy : 拷贝数组
subArray : 截取数组
add : 增加数组
remove : 移除指定的索引
removeElement : 移除指定的元素
indexOf : 查找第一个元素的索引
lastIndexOf : 查找最后一个元素的索引
contains : 判断是否包含该元素
toPrimitive : 装箱数组转基本类型数组
toObject : 基本类型数组转装箱数组
asList : 转为链表
asUnmodifiableList: 转为不可变链表
asArrayList : 转为数组链表
asLinkedList : 转为双向链表
sort : 排序
forAllDo : 对所有元素做操作
toString : 数组转为字符串
-
栏相关 -> BarUtils.java -> Demo
getStatusBarHeight : 获取状态栏高度(px)
setStatusBarVisibility : 设置状态栏是否可见
isStatusBarVisible : 判断状态栏是否可见
setStatusBarLightMode : 设置状态栏是否为浅色模式
isStatusBarLightMode : 判断状态栏是否为浅色模式
addMarginTopEqualStatusBarHeight : 为 view 增加 MarginTop 为状态栏高度
subtractMarginTopEqualStatusBarHeight: 为 view 减少 MarginTop 为状态栏高度
setStatusBarColor : 设置状态栏颜色
setStatusBarColor4Drawer : 为 DrawerLayout 设置状态栏颜色
transparentStatusBar : 透明状态栏
getActionBarHeight : 获取 ActionBar 高度
setNotificationBarVisibility : 设置通知栏是否可见
getNavBarHeight : 获取导航栏高度
setNavBarVisibility : 设置导航栏是否可见
isNavBarVisible : 判断导航栏是否可见
setNavBarColor : 设置导航栏颜色
getNavBarColor : 获取导航栏颜色
isSupportNavBar : 判断是否支持导航栏
setNavBarLightMode : 设置导航栏是否为浅色模式
isNavBarLightMode : 判断导航栏是否为浅色模式
-
亮度相关 -> BrightnessUtils.java -> Demo
isAutoBrightnessEnabled : 判断是否开启自动调节亮度
setAutoBrightnessEnabled: 设置是否开启自动调节亮度
getBrightness : 获取屏幕亮度
setBrightness : 设置屏幕亮度
setWindowBrightness : 设置窗口亮度
getWindowBrightness : 获取窗口亮度
-
Bus 相关 -> BusUtils.java -> README
register : 注册
unregister : 注销
post : 发送
postSticky : 发送粘性
removeSticky: 移除粘性
toString_ : 查看插入的信息
-
磁盘缓存相关 -> CacheDiskStaticUtils.java -> Test
setDefaultCacheDiskUtils: 设置默认磁盘缓存实例
put : 缓存中写入数据
getBytes : 缓存中读取字节数组
getString : 缓存中读取 String
getJSONObject : 缓存中读取 JSONObject
getJSONArray : 缓存中读取 JSONArray
getBitmap : 缓存中读取 Bitmap
getDrawable : 缓存中读取 Drawable
getParcelable : 缓存中读取 Parcelable
getSerializable : 缓存中读取 Serializable
getCacheSize : 获取缓存大小
getCacheCount : 获取缓存个数
remove : 根据键值移除缓存
clear : 清除所有缓存
-
磁盘缓存相关 -> CacheDiskUtils.java -> Test
getInstance : 获取缓存实例
Instance.put : 缓存中写入数据
Instance.getBytes : 缓存中读取字节数组
Instance.getString : 缓存中读取 String
Instance.getJSONObject : 缓存中读取 JSONObject
Instance.getJSONArray : 缓存中读取 JSONArray
Instance.getBitmap : 缓存中读取 Bitmap
Instance.getDrawable : 缓存中读取 Drawable
Instance.getParcelable : 缓存中读取 Parcelable
Instance.getSerializable: 缓存中读取 Serializable
Instance.getCacheSize : 获取缓存大小
Instance.getCacheCount : 获取缓存个数
Instance.remove : 根据键值移除缓存
Instance.clear : 清除所有缓存
-
二级缓存相关 -> CacheDoubleStaticUtils.java -> Test
setDefaultCacheDoubleUtils: 设置默认二级缓存实例
put : 缓存中写入数据
getBytes : 缓存中读取字节数组
getString : 缓存中读取 String
getJSONObject : 缓存中读取 JSONObject
getJSONArray : 缓存中读取 JSONArray
getBitmap : 缓存中读取 Bitmap
getDrawable : 缓存中读取 Drawable
getParcelable : 缓存中读取 Parcelable
getSerializable : 缓存中读取 Serializable
getCacheDiskSize : 获取磁盘缓存大小
getCacheDiskCount : 获取磁盘缓存个数
getCacheMemoryCount : 获取内存缓存个数
remove : 根据键值移除缓存
clear : 清除所有缓存
-
二级缓存相关 -> CacheDoubleUtils.java -> Test
getInstance : 获取缓存实例
Instance.put : 缓存中写入数据
Instance.getBytes : 缓存中读取字节数组
Instance.getString : 缓存中读取 String
Instance.getJSONObject : 缓存中读取 JSONObject
Instance.getJSONArray : 缓存中读取