AndroidUtil - 强大易用的安卓工具类库

AndroidUtilCode是强大易用的安卓工具类库,合理封装常用函数,有完善Demo和单元测试。它包含主工具类模块utilcode和子工具类模块subutil,利用其APIs可提高开发效率,涵盖Activity、App、文件等多方面工具类。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

官网

https://github.com/Blankj/AndroidUtilCode/blob/master/README-CN.md

项目介绍

AndroidUtilCode 🔥 是一个强大易用的安卓工具类库,它合理地封装了安卓开发中常用的函数,具有完善的 Demo 和单元测试,利用其封装好的 APIs 可以大大提高开发效率,如今它主要包括两部分模块,其一是主工具类模块:utilcode,其中的工具类是开发中常用到的;其二是子工具类模块:subutil,它包含的工具类并不是很常用,它的出现是为了防止主工具类的臃肿。

utilcode

Download

Gradle:

// if u use AndroidX, use the following
implementation 'com.blankj:utilcodex:1.31.1'

// Not in maintenance
implementation 'com.blankj:utilcode:1.30.7'

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 版本码
getAppMinSdkVersion               : 获取 App 支持最低系统版本号
getAppTargetSdkVersion            : 获取 App 目标系统版本号
getAppSignatures                  : 获取 App 签名
getAppSignaturesSHA1              : 获取应用签名的的 SHA1 值
getAppSignaturesSHA256            : 获取应用签名的的 SHA256 值
getAppSignaturesMD5               : 获取应用签名的的 MD5 值
getAppInfo                        : 获取 App 信息
getAppsInfo                       : 获取所有已安装 App 信息
getApkInfo                        : 获取 Apk 信息
isFirstTimeInstalled              : 判断应用是否首次安装

数组相关 -> 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                    : 判断导航栏是否为浅色模式
transparentNavBar                    : 透明导航栏

亮度相关 -> 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       : 缓存中读取 JSONArray
Instance.getBitmap          : 缓存中读取 Bitmap
Instance.getDrawable        : 缓存中读取 Drawable
Instance.getParcelable      : 缓存中读取 Parcelable
Instance.getSerializable    : 缓存中读取 Serializable
Instance.getCacheDiskSize   : 获取磁盘缓存大小
Instance.getCacheDiskCount  : 获取磁盘缓存个数
Instance.getCacheMemoryCount: 获取内存缓存个数
Instance.remove             : 根据键值移除缓存
Instance.clear              : 清除所有缓存

内存缓存相关 -> CacheMemoryStaticUtils.java -> Test

setDefaultCacheMemoryUtils: 设置默认内存缓存实例
put                       : 缓存中写入数据
get                       : 缓存中读取字节数组
getCacheCount             : 获取缓存个数
remove                    : 根据键值移除缓存
clear                     : 清除所有缓存

内存缓存相关 -> CacheMemoryUtils.java -> Test

getInstance           : 获取缓存实例
Instance.put          : 缓存中写入数据
Instance.get          : 缓存中读取字节数组
Instance.getCacheCount: 获取缓存个数
Instance.remove       : 根据键值移除缓存
Instance.clear        : 清除所有缓存

清除相关 -> CleanUtils.java -> Demo

cleanInternalCache   : 清除内部缓存
cleanInternalFiles   : 清除内部文件
cleanInternalDbs     : 清除内部数据库
cleanInternalDbByName: 根据名称清除数据库
cleanInternalSp      : 清除内部 SP
cleanExternalCache   : 清除外部缓存
cleanCustomDir       : 清除自定义目录下的文件

点击相关 -> ClickUtils.java -> Demo

applyPressedViewScale               : 应用点击后对视图缩放
applyPressedViewAlpha               : 应用点击后对视图改变透明度
applyPressedBgAlpha                 : 应用点击后对背景改变透明度
applyPressedBgDark                  : 应用点击后对背景加深
applySingleDebouncing               : 对单视图应用防抖点击
applyGlobalDebouncing               : 对所有设置 GlobalDebouncing 的视图应用防抖点击
expandClickArea                     : 扩大点击区域
back2HomeFriendly                   : 友好地返回桌面
ClickUtils#OnDebouncingClickListener: 防抖点击监听器
ClickUtils#OnMultiClickListener     : 连续点击监听器

剪贴板相关 -> ClipboardUtils.java -> Demo

copyText             : 复制文本到剪贴板
getText              : 获取剪贴板的文本
copyUri              : 复制 uri 到剪贴板
getUri               : 获取剪贴板的 uri
copyIntent           : 复制意图到剪贴板
getIntent            : 获取剪贴板的意图
addChangedListener   : 增加剪贴板监听器
removeChangedListener: 移除剪贴板监听器

克隆相关 -> CloneUtils.java -> Test

deepClone: 深度克隆

关闭相关 -> CloseUtils.java

closeIO       : 关闭 IO
closeIOQuietly: 安静关闭 IO

集合相关 -> CollectionUtils.java -> Test

newUnmodifiableList[NotNull]: 新建只读[非空]链表
newArrayList[NotNull]       : 新建数组型[非空]链表
newLinkedList[NotNull]      : 新建指针型[非空]链表
newHashSet[NotNull]         : 新建哈希[非空]集合
newTreeSet[NotNull]         : 新建有序[非空]集合
newSynchronizedCollection   : 新建同步集合
newUnmodifiableCollection   : 新建只读集合
union                       : 获取并集
intersection                : 获取交集
disjunction                 : 获取并集减交集
subtract                    : 获取差集
containsAny                 : 判断是否有交集
getCardinalityMap           : 获取集合中所有元素的基数
isSubCollection             : 是否子集
isProperSubCollection       : 是否真子集
isEqualCollection           : 判断集合是否相等
cardinality                 : 获取集合中元素的基数
find                        : 查找第一个符合条件的元素
forAllDo                    : 对所有元素做操作
filter                      : 删除原集合中不符合条件的元素
select                      : 查找出所有符合条件的元素并返回新集合
selectRejected              : 查找出所有不符合条件的元素并返回新集合
transform                   : 对原集合进行转变
collect                     : 转变为新的集合
countMatches                : 查找到匹配的元素个数
exists                      : 判断集合是否存在符合条件的元素
addIgnoreNull               : 增加元素如果不为空
addAll                      : 增加多个元素
get                         : 获取集合元素
size                        : 获取集合个数
sizeIsEmpty                 : 判断个数是否为零
isEmpty                     : 判断是否为空
isNotEmpty                  : 判断是否非空
retainAll                   : 保留元素
removeAll                   : 删除下来
toString                    : 集合转为字符串

颜色相关 -> ColorUtils.java

getColor         : 获取颜色
setAlphaComponent: 设置颜色透明度值
setRedComponent  : 设置颜色红色值
setGreenComponent: 设置颜色绿色值
setBlueComponent : 设置颜色蓝色值
string2Int       : 颜色串转颜色值
int2RgbString    : 颜色值转 RGB 串
int2ArgbString   : 颜色值转 ARGB 串
getRandomColor   : 获取随机色
isLightColor     : 判断是否亮色

转换相关 -> ConvertUtils.java -> Test

int2HexString, hexString2Int            : int 与 hexString 互转
bytes2Bits, bits2Bytes                  : bytes 与 bits 互转
bytes2Chars, chars2Bytes                : bytes 与 chars 互转
bytes2HexString, hexString2Bytes        : bytes 与 hexString 互转
bytes2String, string2Bytes              : bytes 与 string 互转
bytes2JSONObject, jsonObject2Bytes      : bytes 与 JSONObject 互转
bytes2JSONArray, jsonArray2Bytes        : bytes 与 JSONArray 互转
bytes2Parcelable, parcelable2Bytes      : bytes 与 Parcelable 互转
bytes2Object, serializable2Bytes        : bytes 与 Object 互转
bytes2Bitmap, bitmap2Bytes              : bytes 与 Bitmap 互转
memorySize2Byte, byte2MemorySize        : 以 unit 为单位的内存大小与字节数互转
byte2FitMemorySize                      : 字节数转合适内存大小
timeSpan2Millis, millis2TimeSpan        : 以 unit 为单位的时间长度与毫秒时间戳互转
millis2FitTimeSpan                      : 毫秒时间戳转合适时间长度
input2OutputStream, output2InputStream  : inputStream 与 outputStream 互转
inputStream2Bytes, bytes2InputStream    : inputStream 与 bytes 互转
outputStream2Bytes, bytes2OutputStream  : outputStream 与 bytes 互转
inputStream2String, string2InputStream  : inputStream 与 string 按编码互转
outputStream2String, string2OutputStream: outputStream 与 string 按编码互转
inputStream2Lines                       : inputStream 转 文本行
drawable2Bitmap, bitmap2Drawable        : drawable 与 bitmap 互转
drawable2Bytes, bytes2Drawable          : drawable 与 bytes 互转
view2Bitmap                             : view 转 Bitmap
dp2px, px2dp                            : dp 与 px 互转
sp2px, px2sp                            : sp 与 px 互转

崩溃相关 -> CrashUtils.java

init                  : 初始化
CrashInfo.addExtraHead: 增加额外头部
CrashInfo.getThrowable: 获取崩溃异常
CrashInfo.toString    : 获取崩溃信息

防抖相关 -> DebouncingUtils.java

isValid: 是否有效

设备相关 -> DeviceUtils.java -> Demo

isDeviceRooted              : 判断设备是否 rooted
isAdbEnabled                : 判断设备 ADB 是否可用
getSDKVersionName           : 获取设备系统版本号
getSDKVersionCode           : 获取设备系统版本码
getAndroidID                : 获取设备 AndroidID
getMacAddress               : 获取设备 MAC 地址
getManufacturer             : 获取设备厂商
getModel                    : 获取设备型号
getABIs                     : 获取设备 ABIs
isTablet                    : 判断是否是平板
isEmulator                  : 判断是否是模拟器
isDevelopmentSettingsEnabled: 开发者选项是否打开
getUniqueDeviceId           : 获取唯一设备 ID
isSameDevice                : 判断是否同一设备

闪光灯相关 -> FlashlightUtils.java -> Demo

isFlashlightEnable : 判断设备是否支持闪光灯
isFlashlightOn     : 判断闪光灯是否打开
setFlashlightStatus: 设置闪光灯状态
destroy            : 销毁

编码解码相关 -> EncodeUtils.java -> Test

urlEncode          : URL 编码
urlDecode          : URL 解码
base64Encode       : Base64 编码
base64Encode2String: Base64 编码
base64Decode       : Base64 解码
htmlEncode         : Html 编码
htmlDecode         : Html 解码
binaryEncode       : 二进制编码
binaryDecode       : 二进制解码

加密解密相关 -> EncryptUtils.java -> Test

encryptMD2, encryptMD2ToString                        : MD2 加密
encryptMD5, encryptMD5ToString                        : MD5 加密
encryptMD5File, encryptMD5File2String                 : MD5 加密文件
encryptSHA1, encryptSHA1ToString                      : SHA1 加密
encryptSHA224, encryptSHA224ToString                  : SHA224 加密
encryptSHA256, encryptSHA256ToString                  : SHA256 加密
encryptSHA384, encryptSHA384ToString                  : SHA384 加密
encryptSHA512, encryptSHA512ToString                  : SHA512 加密
encryptHmacMD5, encryptHmacMD5ToString                : HmacMD5 加密
encryptHmacSHA1, encryptHmacSHA1ToString              : HmacSHA1 加密
encryptHmacSHA224, encryptHmacSHA224ToString          : HmacSHA224 加密
encryptHmacSHA256, encryptHmacSHA256ToString          : HmacSHA256 加密
encryptHmacSHA384, encryptHmacSHA384ToString          : HmacSHA384 加密
encryptHmacSHA512, encryptHmacSHA512ToString          : HmacSHA512 加密
encryptDES, encryptDES2HexString, encryptDES2Base64   : DES 加密
decryptDES, decryptHexStringDES, decryptBase64DES     : DES 解密
encrypt3DES, encrypt3DES2HexString, encrypt3DES2Base64: 3DES 加密
decrypt3DES, decryptHexString3DES, decryptBase64_3DES : 3DES 解密
encryptAES, encryptAES2HexString, encryptAES2Base64   : AES 加密
decryptAES, decryptHexStringAES, decryptBase64AES     : AES 解密
encryptRSA, encryptRSA2HexString, encryptRSA2Base64   : RSA 加密
decryptRSA, decryptHexStringRSA, decryptBase64RSA     : RSA 解密
rc4                                                   : rc4 加解密

文件相关 -> FileIOUtils.java -> Test

writeFileFromIS            : 将输入流写入文件
writeFileFromBytesByStream : 将字节数组写入文件
writeFileFromBytesByChannel: 将字节数组写入文件
writeFileFromBytesByMap    : 将字节数组写入文件
writeFileFromString        : 将字符串写入文件
readFile2List              : 读取文件到字符串链表中
readFile2String            : 读取文件到字符串中
readFile2BytesByStream     : 读取文件到字节数组中
readFile2BytesByChannel    : 读取文件到字节数组中
readFile2BytesByMap        : 读取文件到字节数组中
setBufferSize              : 设置缓冲区尺寸

文件相关 -> FileUtils.java -> Test

getFileByPath             : 根据文件路径获取文件
isFileExists              : 判断文件是否存在
rename                    : 重命名文件
isDir                     : 判断是否是目录
isFile                    : 判断是否是文件
createOrExistsDir         : 判断目录是否存在,不存在则判断是否创建成功
createOrExistsFile        : 判断文件是否存在,不存在则判断是否创建成功
createFileByDeleteOldFile : 判断文件是否存在,存在则在创建之前删除
copy                      : 复制文件或目录
move                      : 移动文件或目录
delete                    : 删除文件或目录
deleteAllInDir            : 删除目录下所有内容
deleteFilesInDir          : 删除目录下所有文件
deleteFilesInDirWithFilter: 删除目录下所有过滤的文件
listFilesInDir            : 获取目录下所有文件
listFilesInDirWithFilter  : 获取目录下所有过滤的文件
getFileLastModified       : 获取文件最后修改的毫秒时间戳
getFileCharsetSimple      : 简单获取文件编码格式
getFileLines              : 获取文件行数
getSize                   : 获取文件或目录大小
getLength                 : 获取文件或目录长度
getFileMD5                : 获取文件的 MD5 校验码
getFileMD5ToString        : 获取文件的 MD5 校验码
getDirName                : 根据全路径获取最长目录
getFileName               : 根据全路径获取文件名
getFileNameNoExtension    : 根据全路径获取文件名不带拓展名
getFileExtension          : 根据全路径获取文件拓展名
notifySystemToScan        : 通知系统扫描文件
getFsTotalSize            : 获取文件系统总大小
getFsAvailableSize        : 获取文件系统可用大小

Fragment 相关 -> FragmentUtils.java -> Demo

add                   : 增加 fragment
show                  : 显示 fragment
hide                  : 隐藏 fragment
showHide              : 先显示后隐藏 fragment
replace               : 替换 fragment
pop                   : 出栈 fragment
popTo                 : 出栈到指定 fragment
popAll                : 出栈所有 fragment
remove                : 移除 fragment
removeTo              : 移除到指定 fragment
removeAll             : 移除所有 fragment
getTop                : 获取顶部 fragment
getTopInStack         : 获取栈中顶部 fragment
getTopShow            : 获取顶部可见 fragment
getTopShowInStack     : 获取栈中顶部可见 fragment
getFragments          : 获取同级别的 fragment
getFragmentsInStack   : 获取同级别栈中的 fragment
getAllFragments       : 获取所有 fragment
getAllFragmentsInStack: 获取栈中所有 fragment
findFragment          : 查找 fragment
dispatchBackPress     : 处理 fragment 回退键
setBackgroundColor    : 设置背景色
setBackgroundResource : 设置背景资源
setBackground         : 设置背景

Gson 相关 -> GsonUtils.java -> Test

setGsonDelegate: 设置默认的 Gson 代理对象
setGson        : 设置 Gson 对象
getGson        : 获取 Gson 对象
toJson         : 对象转 Json 串
fromJson       : Json 串转对象
getListType    : 获取链表类型
getSetType     : 获取集合类型
getMapType     : 获取字典类型
getArrayType   : 获取数组类型
getType        : 获取类型

图片相关 -> ImageUtils.java -> Demo

bitmap2Bytes, bytes2Bitmap      : bitmap 与 bytes 互转
drawable2Bitmap, bitmap2Drawable: drawable 与 bitmap 互转
drawable2Bytes, bytes2Drawable  : drawable 与 bytes 互转
view2Bitmap                     : view 转 bitmap
getBitmap                       : 获取 bitmap
scale                           : 缩放图片
clip                            : 裁剪图片
skew                            : 倾斜图片
rotate                          : 旋转图片
getRotateDegree                 : 获取图片旋转角度
toRound                         : 转为圆形图片
toRoundCorner                   : 转为圆角图片
addCornerBorder                 : 添加圆角边框
addCircleBorder                 : 添加圆形边框
addReflection                   : 添加倒影
addTextWatermark                : 添加文字水印
addImageWatermark               : 添加图片水印
toAlpha                         : 转为 alpha 位图
toGray                          : 转为灰度图片
fastBlur                        : 快速模糊
renderScriptBlur                : renderScript 模糊图片
stackBlur                       : stack 模糊图片
save                            : 保存图片
save2Album                      : 保存图片到相册
isImage                         : 根据文件名判断文件是否为图片
getImageType                    : 获取图片类型
compressByScale                 : 按缩放压缩
compressByQuality               : 按质量压缩
compressBySampleSize            : 按采样大小压缩
getSize                         : 获取图片尺寸

意图相关 -> IntentUtils.java

isIntentAvailable                : 判断意图是否可用
getInstallAppIntent              : 获取安装 App(支持 6.0)的意图
getUninstallAppIntent            : 获取卸载 App 的意图
getLaunchAppIntent               : 获取打开 App 的意图
getLaunchAppDetailsSettingsIntent: 获取 App 具体设置的意图
getShareTextIntent               : 获取分享文本的意图
getShareImageIntent              : 获取分享图片的意图
getShareTextImageIntent          : 获取分享图文的意图
getComponentIntent               : 获取其他应用组件的意图
getShutdownIntent                : 获取关机的意图
getCaptureIntent                 : 获取拍照的意图

键盘相关 -> KeyboardUtils.java -> Demo

showSoftInput                     : 显示软键盘
hideSoftInput                     : 隐藏软键盘
toggleSoftInput                   : 切换键盘显示与否状态
isSoftInputVisible                : 判断软键盘是否可见
registerSoftInputChangedListener  : 注册软键盘改变监听器
unregisterSoftInputChangedListener: 注销软键盘改变监听器
fixAndroidBug5497                 : 修复安卓 5497 BUG
fixSoftInputLeaks                 : 修复软键盘内存泄漏
clickBlankArea2HideSoftInput      : 点击屏幕空白区域隐藏软键盘

语言相关 -> LanguageUtils.java -> Demo

applySystemLanguage     : 设置系统语言
applyLanguage           : 设置语言
isAppliedLanguage       : 是否设置了语言
getAppliedLanguage      : 获取设置的语言
getContextLanguage      : 获取上下文的语言
getAppContextLanguage   : 获取应用上下文的语言
getSystemLanguage       : 获取系统的语言
updateAppContextLanguage: 更新应用上下文语言
attachBaseContext       : 如果设置语言无效则在 Activity#attachBaseContext 调用它

日志相关 -> LogUtils.java -> Demo

getConfig                        : 获取 log 配置
Config.setLogSwitch              : 设置 log 总开关
Config.setConsoleSwitch          : 设置 log 控制台开关
Config.setGlobalTag              : 设置 log 全局 tag
Config.setLogHeadSwitch          : 设置 log 头部信息开关
Config.setLog2FileSwitch         : 设置 log 文件开关
Config.setDir                    : 设置 log 文件存储目录
Config.setFilePrefix             : 设置 log 文件前缀
Config.setBorderSwitch           : 设置 log 边框开关
Config.setSingleTagSwitch        : 设置 log 单一 tag 开关(为美化 AS 3.1 的 Logcat)
Config.setConsoleFilter          : 设置 log 控制台过滤器
Config.setFileFilter             : 设置 log 文件过滤器
Config.setStackDeep              : 设置 log 栈深度
Config.setStackOffset            : 设置 log 栈偏移
Config.setSaveDays               : 设置 log 可保留天数
Config.addFormatter              : 增加 log 格式化器
Config.setFileWriter             : 设置文件写入器
Config.setOnConsoleOutputListener: 设置控制台输出监听器
Config.setOnFileOutputListener   : 设置文件输出监听器
Config.addFileExtraHead          : 增加 log 文件头部
log                              : 自定义 tag 的 type 日志
v                                : tag 为类名的 Verbose 日志
vTag                             : 自定义 tag 的 Verbose 日志
d                                : tag 为类名的 Debug 日志
dTag                             : 自定义 tag 的 Debug 日志
i                                : tag 为类名的 Info 日志
iTag                             : 自定义 tag 的 Info 日志
w                                : tag 为类名的 Warn 日志
wTag                             : 自定义 tag 的 Warn 日志
e                                : tag 为类名的 Error 日志
eTag                             : 自定义 tag 的 Error 日志
a                                : tag 为类名的 Assert 日志
aTag                             : 自定义 tag 的 Assert 日志
file                             : log 到文件
json                             : log 字符串之 json
xml                              : log 字符串之 xml
getCurrentLogFilePath            : 获取当前日志文件路径
getLogFiles                      : 获取所有日志

Map 相关 -> MapUtils.java -> Test

newUnmodifiableMap: 创建 UnmodifiableMap
newHashMap        : 创建 HashMap
newLinkedHashMap  : 创建 LinkedHashMap
newTreeMap        : 创建 TreeMap
newHashTable      : 创建 HashTable
isEmpty           : 判断 Map 是否为空
isNotEmpty        : 判断 Map 是否非空
size              : 获取 Map 元素个数
forAllDo          : 对所有元素做操作
transform         : 对 Map 做转变
toString          : Map 转为字符串

MetaData 相关 -> MetaDataUtils.java -> Demo

getMetaDataInApp     : 获取 application 的 meta-data 值
getMetaDataInActivity: 获取 activity 的 meta-data 值
getMetaDataInService : 获取 service 的 meta-data 值
getMetaDataInReceiver: 获取 receiver 的 meta-data 值

网络相关 -> NetworkUtils.java -> Demo

openWirelessSettings                    : 打开网络设置界面
isConnected                             : 判断网络是否连接
isAvailable[Async]                      : 判断网络是否可用
isAvailableByPing[Async]                : 用 ping 判断网络是否可用
isAvailableByDns[Async]                 : 用 DNS 判断网络是否可用
getMobileDataEnabled                    : 判断移动数据是否打开
isMobileData                            : 判断网络是否是移动数据
is4G                                    : 判断网络是否是 4G
getWifiEnabled                          : 判断 wifi 是否打开
setWifiEnabled                          : 打开或关闭 wifi
isWifiConnected                         : 判断 wifi 是否连接状态
isWifiAvailable[Async]                  : 判断 wifi 数据是否可用
getNetworkOperatorName                  : 获取移动网络运营商名称
getNetworkType                          : 获取当前网络类型
getIPAddress[Async]                     : 获取 IP 地址
getDomainAddress[Async]                 : 获取域名 IP 地址
getIpAddressByWifi                      : 根据 WiFi 获取网络 IP 地址
getGatewayByWifi                        : 根据 WiFi 获取网关 IP 地址
getNetMaskByWifi                        : 根据 WiFi 获取子网掩码 IP 地址
getServerAddressByWifi                  : 根据 WiFi 获取服务端 IP 地址
registerNetworkStatusChangedListener    : 注册网络状态改变监听器
isRegisteredNetworkStatusChangedListener: 判断是否注册网络状态改变监听器
unregisterNetworkStatusChangedListener  : 注销网络状态改变监听器
getWifiScanResult                       : 获取 WIFI 列表
addOnWifiChangedConsumer                : 增加 WIFI 改变监听
removeOnWifiChangedConsumer             : 移除 WIFI 改变监听

通知相关 -> NotificationUtils.java -> Demo

areNotificationsEnabled     : 判断通知是否可用
notify                      : 发送通知
cancel                      : 取消通知
cancelAll                   : 取消所有通知
setNotificationBarVisibility: 设置通知栏是否可见

数字相关 -> NumberUtils.java -> Test

format      : 格式化
float2Double: 浮点转双精度

对象相关 -> ObjectUtils.java -> Test

isEmpty          : 判断对象是否为空
isNotEmpty       : 判断对象是否非空
equals           : 判断对象是否相等
compare          : 比较对象大小
requireNonNull(s): 要求对象非空
getOrDefault     : 获取非空或默认对象
toString         : 转字符串
hashCode(s)      : 获取对象哈希值

路径相关 -> PathUtils.java -> Demo

join                           : 连接路径
getRootPath                    : 获取根路径
getDataPath                    : 获取数据路径
getDownloadCachePath           : 获取下载缓存路径
getInternalAppDataPath         : 获取内存应用数据路径
getInternalAppCodeCacheDir     : 获取内存应用代码缓存路径
getInternalAppCachePath        : 获取内存应用缓存路径
getInternalAppDbsPath          : 获取内存应用数据库路径
getInternalAppDbPath           : 获取内存应用数据库路径
getInternalAppFilesPath        : 获取内存应用文件路径
getInternalAppSpPath           : 获取内存应用 SP 路径
getInternalAppNoBackupFilesPath: 获取内存应用未备份文件路径
getExternalStoragePath         : 获取外存路径
getExternalMusicPath           : 获取外存音乐路径
getExternalPodcastsPath        : 获取外存播客路径
getExternalRingtonesPath       : 获取外存铃声路径
getExternalAlarmsPath          : 获取外存闹铃路径
getExternalNotificationsPath   : 获取外存通知路径
getExternalPicturesPath        : 获取外存图片路径
getExternalMoviesPath          : 获取外存影片路径
getExternalDownloadsPath       : 获取外存下载路径
getExternalDcimPath            : 获取外存数码相机图片路径
getExternalDocumentsPath       : 获取外存文档路径
getExternalAppDataPath         : 获取外存应用数据路径
getExternalAppCachePath        : 获取外存应用缓存路径
getExternalAppFilesPath        : 获取外存应用文件路径
getExternalAppMusicPath        : 获取外存应用音乐路径
getExternalAppPodcastsPath     : 获取外存应用播客路径
getExternalAppRingtonesPath    : 获取外存应用铃声路径
getExternalAppAlarmsPath       : 获取外存应用闹铃路径
getExternalAppNotificationsPath: 获取外存应用通知路径
getExternalAppPicturesPath     : 获取外存应用图片路径
getExternalAppMoviesPath       : 获取外存应用影片路径
getExternalAppDownloadPath     : 获取外存应用下载路径
getExternalAppDcimPath         : 获取外存应用数码相机图片路径
getExternalAppDocumentsPath    : 获取外存应用文档路径
getExternalAppObbPath          : 获取外存应用 OBB 路径
getRootPathExternalFirst       : 优先获取外部根路径
getAppDataPathExternalFirst    : 优先获取外部数据路径
getFilesPathExternalFirst      : 优先获取外部文件路径
getCachePathExternalFirst      : 优先获取外部缓存路径

权限相关 -> PermissionUtils.java -> Demo

permission              : 设置请求权限
permissionGroup         : 设置请求权限组
permission.explain      : 设置权限请求前的解释
permission.rationale    : 设置拒绝权限后再次请求的回调接口
permission.callback     : 设置回调
permission.theme        : 设置主题
permission.request      : 开始请求
getPermissions          : 获取应用权限
isGranted               : 判断权限是否被授予
isGrantedWriteSettings  : 判断修改系统权限是否被授予
requestWriteSettings    : 申请修改系统权限
isGrantedDrawOverlays   : 判断悬浮窗权限是否被授予
requestDrawOverlays     : 申请悬浮窗权限
launchAppDetailsSettings: 打开应用具体设置

手机相关 -> PhoneUtils.java -> Demo

isPhone            : 判断设备是否是手机
getDeviceId        : 获取设备码
getSerial          : 获取序列号
getIMEI            : 获取 IMEI 码
getMEID            : 获取 MEID 码
getIMSI            : 获取 IMSI 码
getPhoneType       : 获取移动终端类型
isSimCardReady     : 判断 sim 卡是否准备好
getSimOperatorName : 获取 Sim 卡运营商名称
getSimOperatorByMnc: 获取 Sim 卡运营商名称
dial               : 跳至拨号界面
call               : 拨打 phoneNumber
sendSms            : 跳至发送短信界面

进程相关 -> ProcessUtils.java -> Demo

getForegroundProcessName  : 获取前台线程包名
killAllBackgroundProcesses: 杀死所有的后台服务进程
killBackgroundProcesses   : 杀死后台服务进程
isMainProcess             : 判断是否运行在主进程
getCurrentProcessName     : 获取当前进程名称

反射相关 -> ReflectUtils.java -> Test

reflect    : 设置要反射的类
newInstance: 实例化反射对象
field      : 设置反射的字段
method     : 设置反射的方法
get        : 获取反射想要获取的

正则相关 -> RegexUtils.java -> Test

isMobileSimple                           : 简单验证手机号
isMobileExact                            : 精确验证手机号
isTel                                    : 验证电话号码
isIDCard15                               : 验证身份证号码 15 位
isIDCard18                               : 简单验证身份证号码 18 位
isIDCard18Exact                          : 精确验证身份证号码 18 位
isEmail                                  : 验证邮箱
isURL                                    : 验证 URL
isZh                                     : 验证汉字
isUsername                               : 验证用户名
isDate                                   : 验证 yyyy-MM-dd 格式的日期校验,已考虑平闰年
isIP                                     : 验证 IP 地址
isMatch                                  : 判断是否匹配正则
getMatches                               : 获取正则匹配的部分
getSplits                                : 获取正则匹配分组
getReplaceFirst                          : 替换正则匹配的第一部分
getReplaceAll                            : 替换所有正则匹配的部分
RegexConstants.REGEX_DOUBLE_BYTE_CHAR    : 双字节
RegexConstants.REGEX_BLANK_LINE          : 空行
RegexConstants.REGEX_QQ_NUM              : QQ 号
RegexConstants.REGEX_CHINA_POSTAL_CODE   : 邮编
RegexConstants.REGEX_INTEGER             : 整数
RegexConstants.REGEX_POSITIVE_INTEGER    : 正整数
RegexConstants.REGEX_NEGATIVE_INTEGER    : 负整数
RegexConstants.REGEX_NOT_NEGATIVE_INTEGER: 非负整数
RegexConstants.REGEX_NOT_POSITIVE_INTEGER: 非正整数
RegexConstants.REGEX_FLOAT               : 浮点数
RegexConstants.REGEX_POSITIVE_FLOAT      : 正浮点数
RegexConstants.REGEX_NEGATIVE_FLOAT      : 负浮点数
RegexConstants.REGEX_NOT_NEGATIVE_FLOAT  : 非负浮点数
RegexConstants.REGEX_NOT_POSITIVE_FLOAT  : 非正浮点数

资源相关 -> ResourceUtils.java -> Demo

getDrawable        : 获取 Drawable
getIdByName        : 根据名字获取 ID
getStringIdByName  : 根据名字获取 string ID
getColorIdByName   : 根据名字获取 color ID
getDimenIdByName   : 根据名字获取 dimen ID
getDrawableIdByName: 根据名字获取 dimen ID
getMipmapIdByName  : 根据名字获取 mipmap ID
getLayoutIdByName  : 根据名字获取 layout ID
getStyleIdByName   : 根据名字获取 style ID
getAnimIdByName    : 根据名字获取 anim ID
getMenuIdByName    : 根据名字获取 menu ID
copyFileFromAssets : 从 assets 中拷贝文件
readAssets2String  : 从 assets 中读取字符串
readAssets2List    : 从 assets 中按行读取字符串
copyFileFromRaw    : 从 raw 中拷贝文件
readRaw2String     : 从 raw 中读取字符串
readRaw2List       : 从 raw 中按行读取字符串

Rom 相关 -> RomUtils.java -> Demo

isHuawei   : 是否华为
isVivo     : 是否 VIVO
isXiaomi   : 是否小米
isOppo     : 是否 OPPO
isLeeco    : 是否乐视
is360      : 是否 360
isZte      : 是否中兴
isOneplus  : 是否一加
isNubia    : 是否努比亚
isCoolpad  : 是否酷派
isLg       : 是否 LG
isGoogle   : 是否谷歌
isSamsung  : 是否三星
isMeizu    : 是否魅族
isLenovo   : 是否联想
isSmartisan: 是否锤子
isHtc      : 是否 HTC
isSony     : 是否索尼
isGionee   : 是否金立
isMotorola : 是否摩托罗拉
getRomInfo : 获取 ROM 信息

屏幕相关 -> ScreenUtils.java -> Demo

getScreenWidth     : 获取屏幕的宽度(单位:px)
getScreenHeight    : 获取屏幕的高度(单位:px)
getAppScreenWidth  : 获取应用屏幕的宽度(单位:px)
getAppScreenHeight : 获取应用屏幕的高度(单位:px)
getScreenDensity   : 获取屏幕密度
getScreenDensityDpi: 获取屏幕密度 DPI
setFullScreen      : 设置屏幕为全屏
setNonFullScreen   : 设置屏幕为非全屏
toggleFullScreen   : 切换屏幕为全屏与否状态
isFullScreen       : 判断屏幕是否为全屏
setLandscape       : 设置屏幕为横屏
setPortrait        : 设置屏幕为竖屏
isLandscape        : 判断是否横屏
isPortrait         : 判断是否竖屏
getScreenRotation  : 获取屏幕旋转角度
screenShot         : 截屏
isScreenLock       : 判断是否锁屏
setSleepDuration   : 设置进入休眠时长
getSleepDuration   : 获取进入休眠时长

SD 卡相关 -> SDCardUtils.java -> Demo

isSDCardEnableByEnvironment: 根据 Environment 判断 SD 卡是否可用
getSDCardPathByEnvironment : 根据 Environment 获取 SD 卡路径
getSDCardInfo              : 获取 SD 卡信息
getMountedSDCardPath       : 获取已挂载的 SD 卡路径
getExternalTotalSize       : 获取外置 SD 卡总大小
getExternalAvailableSize   : 获取外置 SD 卡可用大小
getInternalTotalSize       : 获取内置 SD 卡总大小
getInternalAvailableSize   : 获取内置 SD 卡可用大小

服务相关 -> ServiceUtils.java

getAllRunningServices: 获取所有运行的服务
startService         : 启动服务
stopService          : 停止服务
bindService          : 绑定服务
unbindService        : 解绑服务
isServiceRunning     : 判断服务是否运行

阴影相关 -> ShadowUtils.java -> Demo

apply: 应用阴影

Shell 相关 -> ShellUtils.java

execCmd[Async]: 执行命令

尺寸相关 -> SizeUtils.java

dp2px, px2dp     : dp 与 px 转换
sp2px, px2sp     : sp 与 px 转换
applyDimension   : 各种单位转换
forceGetViewSize : 在 onCreate 中获取视图的尺寸
measureView      : 测量视图尺寸
getMeasuredWidth : 获取测量视图宽度
getMeasuredHeight: 获取测量视图高度

Snackbar 相关 -> SnackbarUtils.java -> Demo

with           : 设置 snackbar 依赖 view
setMessage     : 设置消息
setMessageColor: 设置消息颜色
setBgColor     : 设置背景色
setBgResource  : 设置背景资源
setDuration    : 设置显示时长
setAction      : 设置行为
setBottomMargin: 设置底边距
show           : 显示 snackbar
showSuccess    : 显示预设成功的 snackbar
showWarning    : 显示预设警告的 snackbar
showError      : 显示预设错误的 snackbar
dismiss        : 消失 snackbar
getView        : 获取 snackbar 视图
addView        : 添加 snackbar 视图

SpannableString 相关 -> SpanUtils.java -> Demo

with              : 设置控件
setFlag           : 设置标识
setForegroundColor: 设置前景色
setBackgroundColor: 设置背景色
setLineHeight     : 设置行高
setQuoteColor     : 设置引用线的颜色
setLeadingMargin  : 设置缩进
setBullet         : 设置列表标记
setFontSize       : 设置字体尺寸
setFontProportion : 设置字体比例
setFontXProportion: 设置字体横向比例
setStrikethrough  : 设置删除线
setUnderline      : 设置下划线
setSuperscript    : 设置上标
setSubscript      : 设置下标
setBold           : 设置粗体
setItalic         : 设置斜体
setBoldItalic     : 设置粗斜体
setFontFamily     : 设置字体系列
setTypeface       : 设置字体
setAlign          : 设置对齐
setClickSpan      : 设置点击事件
setUrl            : 设置超链接
setBlur           : 设置模糊
setShader         : 设置着色器
setShadow         : 设置阴影
setSpans          : 设置样式
append            : 追加样式字符串
appendLine        : 追加一行样式字符串
appendImage       : 追加图片
appendSpace       : 追加空白
create            : 创建样式字符串

SP 相关 -> SPStaticUtils.java -> Demo

setDefaultSPUtils: 设置默认 SP 实例
put              : SP 中写入数据
getString        : SP 中读取 String
getInt           : SP 中读取 int
getLong          : SP 中读取 long
getFloat         : SP 中读取 float
getBoolean       : SP 中读取 boolean
getAll           : SP 中获取所有键值对
contains         : SP 中是否存在该 key
remove           : SP 中移除该 key
clear            : SP 中清除所有数据

SP 相关 -> SPUtils.java

getInstance        : 获取 SP 实例
Instance.put       : SP 中写入数据
Instance.getString : SP 中读取 String
Instance.getInt    : SP 中读取 int
Instance.getLong   : SP 中读取 long
Instance.getFloat  : SP 中读取 float
Instance.getBoolean: SP 中读取 boolean
Instance.getAll    : SP 中获取所有键值对
Instance.contains  : SP 中是否存在该 key
Instance.remove    : SP 中移除该 key
Instance.clear     : SP 中清除所有数据

字符串相关 -> StringUtils.java -> Test

isEmpty         : 判断字符串是否为 null 或长度为 0
isTrimEmpty     : 判断字符串是否为 null 或全为空格
isSpace         : 判断字符串是否为 null 或全为空白字符
equals          : 判断两字符串是否相等
equalsIgnoreCase: 判断两字符串忽略大小写是否相等
null2Length0    : null 转为长度为 0 的字符串
length          : 返回字符串长度
upperFirstLetter: 首字母大写
lowerFirstLetter: 首字母小写
reverse         : 反转字符串
toDBC           : 转化为半角字符
toSBC           : 转化为全角字符
getString       : 获取字符资源
getStringArray  : 获取字符数组资源
format          : 格式化字符串

线程相关 -> ThreadUtils.java -> Test

isMainThread            : 判断当前是否主线程
getMainHandler          : 获取主线程 Handler
runOnUiThread           : 运行在主线程
runOnUiThreadDelayed    : 延时运行在主线程
getFixedPool            : 获取固定线程池
getSinglePool           : 获取单线程池
getCachedPool           : 获取缓冲线程池
getIoPool               : 获取 IO 线程池
getCpuPool              : 获取 CPU 线程池
executeByFixed          : 在固定线程池执行任务
executeByFixedWithDelay : 在固定线程池延时执行任务
executeByFixedAtFixRate : 在固定线程池按固定频率执行任务
executeBySingle         : 在单线程池执行任务
executeBySingleWithDelay: 在单线程池延时执行任务
executeBySingleAtFixRate: 在单线程池按固定频率执行任务
executeByCached         : 在缓冲线程池执行任务
executeByCachedWithDelay: 在缓冲线程池延时执行任务
executeByCachedAtFixRate: 在缓冲线程池按固定频率执行任务
executeByIo             : 在 IO 线程池执行任务
executeByIoWithDelay    : 在 IO 线程池延时执行任务
executeByIoAtFixRate    : 在 IO 线程池按固定频率执行任务
executeByCpu            : 在 CPU 线程池执行任务
executeByCpuWithDelay   : 在 CPU 线程池延时执行任务
executeByCpuAtFixRate   : 在 CPU 线程池按固定频率执行任务
executeByCustom         : 在自定义线程池执行任务
executeByCustomWithDelay: 在自定义线程池延时执行任务
executeByCustomAtFixRate: 在自定义线程池按固定频率执行任务
cancel                  : 取消任务的执行
setDeliver              : 设置任务结束后交付的线程

时间相关 -> TimeUtils.java -> Test

getSafeDateFormat       : 获取安全的日期格式
millis2String           : 将时间戳转为时间字符串
string2Millis           : 将时间字符串转为时间戳
string2Date             : 将时间字符串转为 Date 类型
date2String             : 将 Date 类型转为时间字符串
date2Millis             : 将 Date 类型转为时间戳
millis2Date             : 将时间戳转为 Date 类型
getTimeSpan             : 获取两个时间差(单位:unit)
getFitTimeSpan          : 获取合适型两个时间差
getNowMills             : 获取当前毫秒时间戳
getNowString            : 获取当前时间字符串
getNowDate              : 获取当前 Date
getTimeSpanByNow        : 获取与当前时间的差(单位:unit)
getFitTimeSpanByNow     : 获取合适型与当前时间的差
getFriendlyTimeSpanByNow: 获取友好型与当前时间的差
getMillis               : 获取与给定时间等于时间差的时间戳
getString               : 获取与给定时间等于时间差的时间字符串
getDate                 : 获取与给定时间等于时间差的 Date
getMillisByNow          : 获取与当前时间等于时间差的时间戳
getStringByNow          : 获取与当前时间等于时间差的时间字符串
getDateByNow            : 获取与当前时间等于时间差的 Date
isToday                 : 判断是否今天
isLeapYear              : 判断是否闰年
getChineseWeek          : 获取中式星期
getUSWeek               : 获取美式式星期
isAm                    : 判断是否上午
isPm                    : 判断是否下午
getValueByCalendarField : 根据日历字段获取值
getChineseZodiac        : 获取生肖
getZodiac               : 获取星座

吐司相关 -> ToastUtils.java -> Demo

make                     : 制作吐司
make.setMode             : 设置模式
make.setGravity          : 设置位置
make.setBgColor          : 设置背景颜色
make.setBgResource       : 设置背景资源
make.setTextColor        : 设置字体颜色
make.setTextSize         : 设置字体大小
make.setDurationIsLong   : 设置是否长时间显示
make.setLeftIcon         : 设置左侧图标
make.setTopIcon          : 设置顶部图标
make.setRightIcon        : 设置右侧图标
make.setBottomIcon       : 设置底部图标
make.setNotUseSystemToast: 设置不使用系统吐司
make.show                : 显示吐司
getDefaultMaker          : 获取默认制作实例(控制 showShort、showLong 样式)
showShort                : 显示短时吐司
showLong                 : 显示长时吐司
cancel                   : 取消吐司显示

触摸相关 -> TouchUtils.java

setOnTouchListener: 设置触摸事件

UI 消息相关 -> UiMessageUtils.java -> Demo

send          : 发送消息
addListener   : 增加消息监听器
removeListener: 移除消息监听器

URI 相关 -> UriUtils.java

res2Uri            : res 转 uri
file2Uri           : file 转 uri
uri2File           : uri 转 file
uri2FileNoCacheCopy: uri 转 file 不拷贝缓存
uri2Bytes          : uri 转 bytes

UtilsTransActivity -> UtilsTransActivity.java

start: 启动随当前线程的透明 Activity

UtilsTransActivity4MainProcess -> UtilsTransActivity4MainProcess.java

start: 启动主线程的透明 Activity

震动相关 -> VibrateUtils.java -> Demo

vibrate: 震动
cancel : 取消

视图相关 -> ViewUtils.java

setViewEnabled      : 设置视图是否可用
runOnUiThread       : 在 UI 线程运行
runOnUiThreadDelayed: 在 UI 线程延迟运行
isLayoutRtl         : 布局是否从右到左
fixScrollViewTopping: 修复 ScrollView 置顶问题
layoutId2View       : layoutId 转为 view

音量相关 -> VolumeUtils.java

getVolume   : 获取音量
setVolume   : 设置音量
getMaxVolume: 获取最大音量
getMinVolume: 获取最小音量

压缩相关 -> ZipUtils.java -> Test

zipFiles          : 批量压缩文件
zipFile           : 压缩文件
unzipFile         : 解压文件
unzipFileByKeyword: 解压带有关键字的文件
getFilesPath      : 获取压缩文件中的文件路径链表
getComments       : 获取压缩文件中的注释链表

subutil

How to use

从下面选择拷贝你需要用到的类到你项目中即可。

APIs

应用商店相关 -> AppStoreUtils.java -> Demo

getAppStoreIntent: 获取跳转应用商店意图

电池相关 -> BatteryUtils.java -> Demo

registerBatteryStatusChangedListener    : 注册电池状态改变监听器
isRegisteredBatteryStatusChangedListener: 判断是否注册电池状态改变监听器
unregisterBatteryStatusChangedListener  : 注销电池状态改变监听器

坐标转换相关 -> CoordinateUtils.java -> Test

bd09ToGcj02 : BD09 坐标转 GCJ02 坐标
gcj02ToBd09 : GCJ02 坐标转 BD09 坐标
gcj02ToWGS84: GCJ02 坐标转 WGS84 坐标
wgs84ToGcj02: WGS84 坐标转 GCJ02 坐标
bd09ToWGS84 : BD09 坐标转 WGS84 坐标
wgs84ToBd09 : WGS84 坐标转 BD09 坐标

国家相关 -> CountryUtils.java -> Demo

getCountryCodeBySim     : 根据 Sim 卡获取国家码
getCountryCodeByLanguage: 根据系统语言获取国家码
getCountryBySim         : 根据 Sim 卡获取国家
getCountryByLanguage    : 根据系统语言获取国家

危险相关 -> DangerousUtils.java -> Demo

installAppSilent    : 静默安装 App
uninstallAppSilent  : 静默卸载 App
shutdown            : 关机
reboot              : 重启
reboot2Recovery     : 重启到 recovery
reboot2Bootloader   : 重启到 bootloader
setMobileDataEnabled: 打开或关闭移动数据
sendSmsSilent       : 发送短信

定位相关 -> LocationUtils.java -> Demo

isGpsEnabled     : 判断 Gps 是否可用
isLocationEnabled: 判断定位是否可用
openGpsSettings  : 打开 Gps 设置界面
register         : 注册
unregister       : 注销
getAddress       : 根据经纬度获取地理位置
getCountryName   : 根据经纬度获取所在国家
getLocality      : 根据经纬度获取所在地
getStreet        : 根据经纬度获取所在街道
isBetterLocation : 是否更好的位置
isSameProvider   : 是否相同的提供者

拼音相关 -> PinyinUtils.java -> Demo

ccs2Pinyin           : 汉字转拼音
ccs2Pinyin           : 汉字转拼音
getPinyinFirstLetter : 获取第一个汉字首字母
getPinyinFirstLetters: 获取所有汉字的首字母
getSurnamePinyin     : 根据名字获取姓氏的拼音
getSurnameFirstLetter: 根据名字获取姓氏的首字母
一个简单的开源Android工具类库,提供许多常用的类帮助我们开发程序。 AndroidCommon 一个简单的开源Android工具类库,提供许多常用的类帮助我们开发程序。 These are the Android Common Utils. Class Introduction AnimationUtils Animation Unility Class AppUtils App Unility Class ArrayUtils Array Unility Class AssetsUtils Assets Unility Class BASE64Utils Base64 Unility Class BitmapUtils Bitmap Unility Class BlurUtils Blur Unility Class ByteUtils Byte Unility Class CalendarUtils Calendar Unility Class ClipboardUtils Clipboard Unility Class CollectionUtils Collection Unility Class CommonUtils Common Unility Class CpuUtils Cpu Unility Class DeviceUtils Device Unility Class DisplayUtils Display Unility Class FileUtils File Unility Class FragmentUtils Fragment Unility Class HandlerUtils Handler Unility Class IOUtils IO Unility Class ImageUtils Image Unility Class InputMethodUtils InputMethod Unility Class IntentUtils Intent Unility Class JsonUtils Json Unility Class LogUtils Log Unility Class MD5Utils Md5 Unility Class MapUtils Map Unility Class MemoryUtils Memory Unility Class NetworkUtils Network Unility Class NumberUtils Number Unility Class ObjectUtils Object Unility Class PackageUtils Package Unility Class PropertyUtils Property Unility Class RandomUtils Random Unility Class ResourceUtils Resource Unility Class SHA1Utils Sha1 Unility Class SerializableUtils Serializable Unility Class SharedPreferencesUtils SharedPreferences Unility Class ShellUtils Shell Unility Class StringUtils String Unility Class SystemUtils System Unility Class TelephonyUtils Telephony Unility Class ThreadUtils Thread Unility Class TimeUtils Time Unility Class ToastUtils Toast Unility Class UrlUtils Url Unility Class VibratorUtils Vibrator Unility Class ViewUtils View Unility Class Permission <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> Proguard -keep class com.wx.android.common.** { *; } -keepclassmembers class com.wx.android.common.** { *; } -dontwarn com.wx.android.common.** Setup Download the project from GitHub Import it to your Eclipse workspace or IntelliJ IDEA project Set your project properties, then add a android project library, and select AndroidCommon Usage Gradle: compile 'com.wx.android.common:common:1.0.1' Author venshine venshine.cn@gmail.com License Copyright (C) 2015 venshine.cn@gmail.com Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值