Android开发人员不得不收集的代码(持续更新中)
Download
【Android开发人员不得不收集的代码(持续更新中)】Gradle:
implementation 'com.blankj:utilcode:1.28.4'// if u use AndroidX, use the following
implementation 'com.blankj:utilcodex:1.28.4'
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: 缓存中读取 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: 连续点击监听器
- 克隆相关 -> 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: 获取随机色
- 转换相关 -> 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: 初始化
- 设备相关 -> DeviceUtils.java -> Demo
isDeviceRooted: 判断设备是否 rooted
isAdbEnabled: 判断设备 ADB 是否可用
getSDKVersionName: 获取设备系统版本号
getSDKVersionCode: 获取设备系统版本码
getAndroidID: 获取设备 AndroidID
getMacAddress: 获取设备 MAC 地址
getManufacturer: 获取设备厂商
getModel: 获取设备型号
getABIs: 获取设备 ABIs
isTablet: 判断是否是平板
isEmulator: 判断是否是模拟器
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: 保存图片
isImage: 根据文件名判断文件是否为图片
getImageType: 获取图片类型
compressByScale: 按缩放压缩
compressByQuality: 按质量压缩
compressBySampleSize: 按采样大小压缩
getSize: 获取图片尺寸
- 意图相关 -> IntentUtils.java
isIntentAvailable: 判断意图是否可用
getInstallAppIntent: 获取安装 App(支持 6.0)的意图
getUninstallAppIntent: 获取卸载 App 的意图
getLaunchAppIntent: 获取打开 App 的意图
getLaunchAppDetailsSettingsIntent: 获取 App 具体设置的意图
getShareTextIntent: 获取分享文本的意图
getShareImageIntent: 获取分享图片的意图
getComponentIntent: 获取其他应用组件的意图
getShutdownIntent: 获取关机的意图
getCaptureIntent: 获取拍照的意图
- 键盘相关 -> KeyboardUtils.java -> Demo
showSoftInput: 显示软键盘
hideSoftInput: 隐藏软键盘
toggleSoftInput: 切换键盘显示与否状态
isSoftInputVisible: 判断软键盘是否可见
registerSoftInputChangedListener: 注册软键盘改变监听器
unregisterSoftInputChangedListener: 注销软键盘改变监听器
fixAndroidBug5497: 修复安卓 5497 BUG
fixSoftInputLeaks: 修复软键盘内存泄漏
clickBlankArea2HideSoftInput: 点击屏幕空白区域隐藏软键盘
- 语言相关 -> LanguageUtils.java -> Demo
applySystemLanguage: 应用系统语言
applyLanguage: 应用语言
isAppliedSystemLanguage: 判断是否使用系统语言
isAppliedLanguage: 判断是否使用某语言
getCurrentLocale: 获取当前语言
- 日志相关 -> 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 格式化器
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
- 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: 注销网络状态改变监听器
- 通知相关 -> 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
getPermissions: 获取应用权限
isGranted: 判断权限是否被授予
isGrantedWriteSettings: 判断修改系统权限是否被授予
requestWriteSettings: 申请修改系统权限
isGrantedDrawOverlays: 判断悬浮窗权限是否被授予
requestDrawOverlays: 申请悬浮窗权限
launchAppDetailsSettings: 打开应用具体设置
permission: 设置请求权限
rationale: 设置拒绝权限后再次请求的回调接口
callback: 设置回调
theme: 设置主题
request: 开始请求
- 手机相关 -> 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: 获取字符数组资源
- 线程相关 -> 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
setGravity: 设置吐司位置
setBgColor: 设置背景颜色
setBgResource: 设置背景资源
setMsgColor: 设置消息颜色
setMsgTextSize : 设置消息字体大小
showShort: 显示短时吐司
showLong: 显示长时吐司
showCustomShort: 显示短时自定义吐司
showCustomLong : 显示长时自定义吐司
cancel: 取消吐司显示
- 触摸相关 -> TouchUtils.java
setOnTouchListener: 设置触摸事件
- UI 消息相关 -> UiMessageUtils.java -> Demo
send: 发送消息
addListener: 新增消息监听器
removeListener: 移除消息监听器
- URI 相关 -> UriUtils.java
res2Uri: res 转 uri
file2Uri: file 转 uri
uri2File: uri 转 file
uri2InputStream: uri 转 InputStream
- UtilsTransActivity -> UtilsTransActivity.java
start: 启动透明 Activity
- 震动相关 -> VibrateUtils.java -> Demo
vibrate: 震动
cancel : 取消
- 视图相关 -> ViewUtils.java
setViewEnabled: 设置视图是否可用
runOnUiThread: 在 UI 线程运行
runOnUiThreadDelayed: 在 UI 线程延迟运行
isLayoutRtl: 布局是否从右到左
fixScrollViewTopping: 修复 ScrollView 置顶问题
- 压缩相关 -> ZipUtils.java -> Test
zipFiles: 批量压缩文件
zipFile: 压缩文件
unzipFile: 解压文件
unzipFileByKeyword: 解压带有关键字的文件
getFilesPath: 获取压缩文件中的文件路径链表
getComments: 获取压缩文件中的注释链表
打个小广告 欢迎加入我的知识星球「基你太美」,我会在星球中分享 AucFrame 框架、大厂面经、AndroidUtilCode 更详尽的说明...一切我所了解的知识,你可以通过支付进入我的星球「基你太美」进行体验,加入后优先观看星球中精华的部分,如果觉得星球的内容对自身没有收益,你可以自行申请退款退出星球,也没必要加我好友;如果你已确定要留在我的星球,可以通过扫描如下二维码(备注:基你太美)加我个人微信,发送给我你的星球 ID,方便我后续拉你进群(PS:进得越早价格越便宜)。
[图片上传失败...(image-7d6939-1589175929430)]
推荐阅读
- android第三方框架(五)ButterKnife
- 深入理解Go之generate
- 参保人员因患病来不及到指定的医疗机构就医,能否报销医疗费用()
- Android中的AES加密-下
- 标签、语法规范、内联框架、超链接、CSS的编写位置、CSS语法、开发工具、块和内联、常用选择器、后代元素选择器、伪类、伪元素。
- 带有Hilt的Android上的依赖注入
- android|android studio中ndk的使用
- Android事件传递源码分析
- RxJava|RxJava 在Android项目中的使用(一)
- Android7.0|Android7.0 第三方应用无法访问私有库