## Gradle
```gradle
// Android ( 1.9.4 以后只更新 AndroidX ) JCenter
//implementation 'com.afkt:DevApp:1.9.4'
// AndroidX ( Maven Central )
implementation 'io.github.afkt:DevAppX:2.4.6'
```
## 目录结构
```
- dev.utils | 根目录
- app | APP 相关工具类
- activity_result | Activity Result API
- anim | 动画工具类
- assist | 辅助类
- exif | 图片 EXIF 读写辅助类
- floating | 悬浮窗实现方案辅助类
- lifecycle | Activity 生命周期监听辅助类
- current | 当前 Activity、Fragment 生命周期辅助类
- fragment | Fragment 生命周期辅助类
- record | 文件记录分析类
- url | Url 携带信息解析
- cache | 缓存工具类
- camera | 摄像头相关
- camera1 | android.hardware.Camera ( Camera1 相关 )
- helper | 功能 Helper 辅助类
- dev | Dev 工具类链式调用 Helper 类
- flow | 流式 ( 链式 ) 连接 Helper 类
- quick | 简化链式设置 View Quick Helper 类
- version | Android 版本适配 Helper 类
- view | View 链式调用快捷设置 Helper 类
- image | 图片相关处理
- info | APP 信息、PackageInfo 等
- logger | 日志库 DevLogger
- permission | 权限工具类
- player | 多媒体 ( 视频、音频 ) 播放封装
- share | SharedPreferences 封装
- timer | 定时器
- toast | Toast
- toaster | Toaster 处理无通知权限
- wifi | Wifi、热点工具类
- common | Java 工具类, 不依赖 android api
- able | 通用接口定义
- assist | 各种快捷辅助类
- record | 文件记录分析类
- search | 搜索相关 ( 文件搜索等 )
- url | Url 携带信息解析
- cipher | 编 / 解码工具类
- comparator | 排序比较器
- sort | 各种类型比较器排序实现
- encrypt | 加密工具类
- file | 文件分片相关
- format | 格式化相关
- random | 随机概率算法工具类
- thread | 线程相关
- validator | 数据校验工具类
```
## 初始化
> ##### ~~只需要在 Application 中调用 `DevUtils.init()` 进行初始化~~,在 DevUtils FileProviderDevApp 中已初始化,无需主动调用
> 视情况决定是否主动调用 `DevUtils.init()` 方法 ( 可自行查阅 FileProvider onCreate() 方法什么时候被调用及 Application 初始化顺序 )
## 事项
- 部分 API 更新不及时或有遗漏等,`具体以对应的工具类为准`
- [检测代码规范、注释内容排版,API 文档生成](https://github.com/afkT/JavaDoc)
- [Change Log](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/CHANGELOG.md)
- 内部存在两个日志工具类 ( 工具类内部调用 ),对外使用 [DevLogger](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/utils_readme/logger/DevLogger.md)
```java
// 整个工具类内部日志信息,都通过以下两个工具类输出打印,并且通过 DevUtils.openLog() 控制开关
// dev.utils.app - APP 日志打印工具类
LogPrintUtils
// dev.utils.common - Java Common 日志打印工具类
JCLogUtils
```
- 开启日志
```java
// 打开 lib 内部日志 - 线上 (release) 环境,不调用方法
DevUtils.openLog();
// 标记 Debug 模式
DevUtils.openDebug();
```
- 工具类部分模块配置与使用 - [Use and Config](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/utils_readme/USE_CONFIG.md)
- [View 链式调用快捷设置 Helper 类](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/helper/view/ViewHelper.java)
- [Dev 工具类链式调用 Helper 类](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/helper/dev/DevHelper.java)
- [Android 版本适配 Helper 类](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/helper/version/VersionHelper.java)
## API
- dev.utils | 根目录
- [app](#devutilsapp) | APP 相关工具类
- [activity_result](#devutilsappactivity_result) | Activity Result API
- [anim](#devutilsappanim) | 动画工具类
- [assist](#devutilsappassist) | 辅助类
- [exif](#devutilsappassistexif) | 图片 EXIF 读写辅助类
- [floating](#devutilsappassistfloating) | 悬浮窗实现方案辅助类
- [lifecycle](#devutilsappassistlifecycle) | Activity 生命周期监听辅助类
- [current](#devutilsappassistlifecyclecurrent) | 当前 Activity、Fragment 生命周期辅助类
- [fragment](#devutilsappassistlifecyclefragment) | Fragment 生命周期辅助类
- [record](#devutilsappassistrecord) | 文件记录分析类
- [url](#devutilsappassisturl) | Url 携带信息解析
- [cache](#devutilsappcache) | 缓存工具类
- [camera](#devutilsappcamera) | 摄像头相关
- [camera1](#devutilsappcameracamera1) | android.hardware.Camera ( Camera1 相关 )
- [helper](#devutilsapphelper) | 功能 Helper 辅助类
- [dev](#devutilsapphelperdev) | Dev 工具类链式调用 Helper 类
- [flow](#devutilsapphelperflow) | 流式 ( 链式 ) 连接 Helper 类
- [quick](#devutilsapphelperquick) | 简化链式设置 View Quick Helper 类
- [version](#devutilsapphelperversion) | Android 版本适配 Helper 类
- [view](#devutilsapphelperview) | View 链式调用快捷设置 Helper 类
- [image](#devutilsappimage) | 图片相关处理
- [info](#devutilsappinfo) | APP 信息、PackageInfo 等
- [logger](#devutilsapplogger) | 日志库 DevLogger
- [permission](#devutilsapppermission) | 权限工具类
- [player](#devutilsappplayer) | 多媒体 ( 视频、音频 ) 播放封装
- [share](#devutilsappshare) | SharedPreferences 封装
- [timer](#devutilsapptimer) | 定时器
- [toast](#devutilsapptoast) | Toast
- [toaster](#devutilsapptoasttoaster) | Toaster 处理无通知权限
- [wifi](#devutilsappwifi) | Wifi、热点工具类
- [common](#devutilscommon) | Java 工具类, 不依赖 android api
- [able](#devutilscommonable) | 通用接口定义
- [assist](#devutilscommonassist) | 各种快捷辅助类
- [record](#devutilscommonassistrecord) | 文件记录分析类
- [search](#devutilscommonassistsearch) | 搜索相关 ( 文件搜索等 )
- [url](#devutilscommonassisturl) | Url 携带信息解析
- [cipher](#devutilscommoncipher) | 编 / 解码工具类
- [comparator](#devutilscommoncomparator) | 排序比较器
- [sort](#devutilscommoncomparatorsort) | 各种类型比较器排序实现
- [encrypt](#devutilscommonencrypt) | 加密工具类
- [file](#devutilscommonfile) | 文件分片相关
- [format](#devutilscommonformat) | 格式化相关
- [random](#devutilscommonrandom) | 随机概率算法工具类
- [thread](#devutilscommonthread) | 线程相关
- [validator](#devutilscommonvalidator) | 数据校验工具类
## **`dev.utils.app`**
* **无障碍功能工具类 ->** [AccessibilityUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/AccessibilityUtils.java)
| 方法 | 注释 |
| :- | :- |
| getService | 获取 AccessibilityService 对象 |
| setService | 设置 AccessibilityService 对象 |
| checkAccessibility | 检查是否开启无障碍功能 |
| isAccessibilitySettingsOn | 判断是否开启无障碍功能 |
| disableSelf | 禁用无障碍服务 |
| getServiceInfo | 获取无障碍服务信息 |
| setServiceInfo | 设置无障碍服务信息 ( 动态配置方式 ) |
| getRootInActiveWindow | 获取根节点 |
| operation | 获取 Operation |
| node | 获取 Node |
| performGlobalAction | 模拟全局对应 Action 操作 |
| dispatchGesture | 模拟手势操作 |
| performActionBack | 触发返回键 |
| performActionHome | 触发 Home 键 |
| performActionPowerDialog | 启动长按电源按钮 Dialog |
| performActionLockScreen | 锁定屏幕 ( 非锁屏 ) |
| performActionTakeScreenshot | 截屏 |
| performActionNotifications | 打开通知栏 |
| performActionRecents | 最近打开应用列表 |
| performActionQuickSettings | 打开设置 |
| performActionSplitScreen | 分屏 |
| accept | 是否允许添加 |
| getNodeInfo | 获取无障碍节点 |
| performAction | 模拟对应 Action 操作 |
| performClick | 点击指定节点 |
| performLongClick | 长按指定节点 |
| inputText | 指定节点输入文本 |
| findFocus | 查找符合条件的节点 |
| findAccessibilityNodeInfosByText | 查找符合条件的节点 |
| findAccessibilityNodeInfosByViewId | 查找符合条件的节点 |
| findByFilter | 查找全部子节点并进行筛选 |
| logEvent | 拼接 AccessibilityEvent 信息日志 |
| logNodeInfo | 拼接 AccessibilityNodeInfo 信息日志 |
| logComplete | 拼接 AccessibilityEvent、AccessibilityService 完整信息日志 |
| logNodeInfoChild | 拼接 AccessibilityNodeInfo 以及 Child 信息日志 |
| contentChangeTypesToString | copy AccessibilityEvent singleContentChangeTypeToString |
| windowChangeTypesToString | copy AccessibilityEvent singleWindowChangeTypeToString |
| movementGranularitiesToString | copy AccessibilityNodeInfo getMovementGranularitySymbolicName |
| getMovementGranularitySymbolicName | 封装 AccessibilityNodeInfo#toString() granularity 拼接代码 |
* **Activity Result 工具类 ->** [ActivityResultUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/ActivityResultUtils.java)
| 方法 | 注释 |
| :- | :- |
| getDefault | 获取默认实现 ( 原始 onActivityResult ) 封装辅助类 |
| launch | 执行 ActivityResultContract createIntent 并进行跳转 |
| unregister | 取消启动器注册, 并释放回调监听 |
| getContract | 获取创建启动器对应 ActivityResultContract |
| registerForActivityResult | 注册创建跳转回传值启动器并返回 |
| register | 注册创建跳转回传值启动器并返回 |
* **Activity 工具类 ( 包含 Activity 控制管理 ) ->** [ActivityUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/ActivityUtils.java)
| 方法 | 注释 |
| :- | :- |
| getActivity | 通过 Context 获取 Activity |
| isFinishing | 判断 Activity 是否关闭 |
| isNotFinishing | 判断 Activity 是否未关闭 |
| isDestroyed | 判断 Activity 是否销毁 |
| isNotDestroyed | 判断 Activity 是否未销毁 |
| assertValidActivity | 判断 Activity 是否有效 |
| isActivityExists | 判断是否存在指定的 Activity |
| startHomeActivity | 回到桌面 ( 同点击 Home 键效果 ) |
| getLauncherActivity | 获取 Launcher activity |
| getActivityIcon | 获取 Activity 对应的 icon |
| getActivityLogo | 获取 Activity 对应的 logo |
| getActivityToLauncher | 获取对应包名应用启动的 Activity |
| getLauncherCategoryHomeToResolveInfo | 获取系统桌面信息 |
| getLauncherCategoryHomeToPackageName | 获取系统桌面信息 ( packageName ) |
| getLauncherCategoryHomeToActivityName | 获取系统桌面信息 ( activityName ) |
| getLauncherCategoryHomeToPackageAndName | 获取系统桌面信息 ( package/activityName ) |
| getOptionsBundle | 设置跳转动画 |
| getManager | 获取 ActivityManagerAssist 管理实例 |
* **ADB shell 工具类 ->** [ADBUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/ADBUtils.java)
| 方法 | 注释 |
| :- | :- |
| isDeviceRooted | 判断设备是否 root |
| requestRoot | 请求 Root 权限 |
| isGrantedRoot | 判断 APP 是否授权 Root 权限 |
| getAppList | 获取 APP 列表 ( 包名 ) |
| getInstallAppList | 获取 APP 安装列表 ( 包名 ) |
| getUserAppList | 获取用户安装的应用列表 ( 包名 ) |
| getSystemAppList | 获取系统应用列表 ( 包名 ) |
| getEnableAppList | 获取启用的应用列表 ( 包名 ) |
| getDisableAppList | 获取禁用的应用列表 ( 包名 ) |
| getAppListToFilter | 获取包名包含字符串 xxx 的应用列表 |
| isInstalledApp | 判断是否安装应用 |
| getAppInstallPath | 查看应用安装路径 |
| clearAppDataCache | 清除应用数据与缓存 ( 相当于在设置里的应用信息界面点击了「清除缓存」和「清除数据」 ) |
| getAppMessage | 查看应用详细信息 |
| getVersionCode | 获取 APP versionCode |
| getVersionName | 获取 APP versionName |
| installApp | 安装应用 |
| installAppSilent | 静默安装应用 |
| uninstallApp | 卸载应用 |
| uninstallAppSilent | 静默卸载应用 |
| getActivityToLauncher | 获取对应包名应用启动的 Activity |
| getWindowCurrent | 获取当前显示的 Window |
| getWindowCurrent2 | 获取当前显示的 Window |
| getWindowCurrentToPackage | 获取对应包名显示的 Window |
| getActivityCurrent | 获取当前显示的 Activity |
| getActivitys | 获取 Activity 栈 |
| getActivitysToPackage | 获取对应包名的 Activity 栈 |
| getActivitysToPackageLists | 获取对应包名的 Activity 栈 ( 最新的 Activity 越靠后 ) |
| isActivityTopRepeat | 判断 Activity 栈顶是否重复 |
| getActivityTopRepeatCount | 获取 Activity 栈顶重复总数 |
| getServices | 查看正在运行的 Services |
| startSelfApp | 启动自身应用 |
| startActivity | 跳转页面 Activity |
| startService | 启动服务 |
| stopService | 停止服务 |
| sendBroadcastToAll | 发送广播 ( 向所有组件发送 ) |
| sendBroadcast | 发送广播 |
| kill | 销毁进程 |
| sendTrimMemory | 收紧内存 |
| tap | 点击某个区域 |
| swipeClick | 按压某个区域 ( 点击 ) |
| swipe | 滑动到某个区域 |
| text | 输入文本 ( 不支持中文 ) |
| keyevent | 触发某些按键 |
| screencap | 屏幕截图 |
| screenrecord | 录制屏幕 ( 以 mp4 格式保存 ) |
| wifiConf | 查看连接过的 Wifi 密码 |
| wifiSwitch | 开启 / 关闭 Wifi |
| setSystemTime | 设置系统时间 |
| setSystemTime2 | 设置系统时间 |
| shutdown | 关机 ( 需要 root 权限 ) |
| reboot | 重启设备 ( 需要 root 权限 ) |
| rebootToRecovery | 重启引导到 recovery ( 需要 root 权限 ) |
| rebootToBootloader | 重启引导到 bootloader ( 需要 root 权限 ) |
| sendEventSlide | 发送事件滑动 |
| getSDKVersion | 获取 SDK 版本 |
| getAndroidVersion | 获取 Android 系统版本 |
| getModel | 获取设备型号 ( 如 RedmiNote4X ) |
| getBrand | 获取设备品牌 |
| getDeviceName | 获取设备名 |
| getCpuAbiList | 获取 CPU 支持的 abi 列表 |
| getAppHeapsize | 获取每个应用程序的内存上限 |
| getBattery | 获取电池状况 |
| getDensity | 获取屏幕密度 |
| getScreenSize | 获取屏幕分辨率 |
| getDisplays | 获取显示屏参数 |
| getAndroidId | 获取 Android id |
| getIMEI | 获取 IMEI 码 |
| getIPAddress | 获取 IP 地址 |
| getMac | 获取 Mac 地址 |
| getCPU | 获取 CPU 信息 |
| getMemInfo | 获取内存信息 |
| setScreenSize | 设置屏幕大小 |
| resetScreen | 恢复原分辨率命令 |
| setDensity | 设置屏幕密度 |
| resetDensity | 恢复原屏幕密度 |
| setOverscan | 显示区域 ( 设置留白边距 ) |
| resetOverscan | 恢复原显示区域 |
| getScreenBrightnessMode | 获取亮度是否为自动获取 ( 自动调节亮度 ) |
| setScreenBrightnessMode | 设置亮度是否为自动获取 ( 自动调节亮度 ) |
| getScreenBrightness | 获取屏幕亮度值 |
| setScreenBrightness | 更改屏幕亮度值 ( 亮度值在 0-255 之间 ) |
| getScreenOffTimeout | 获取自动锁屏休眠时间 ( 单位毫秒 ) |
| setScreenOffTimeout | 设置自动锁屏休眠时间 ( 单位毫秒 ) |
| getGlobalAutoTime | 获取日期时间选项中通过网络获取时间的状态 |
| setGlobalAutoTime | 修改日期时间选项中通过网络获取时间的状态, 设置是否开启 |
| disableADB | 关闭 USB 调试模式 |
| putHiddenApi | 允许访问非 SDK API |
| deleteHiddenApi | 禁止访问非 SDK API |
| openAccessibility | 开启无障碍辅助功能 |
| closeAccessibility | 关闭无障碍辅助功能 |
* **AlarmManager ( 全局定时器、闹钟 ) 工具类 ->** [AlarmUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/AlarmUtils.java)
| 方法 | 注释 |
| :- | :- |
| startAlarmIntent | 开启一次性闹钟 |
| stopAlarmIntent | 关闭闹钟 |
| startAlarmService | 开启 Service 闹钟 |
| stopAlarmService | 关闭 Service 闹钟 |
| startAlarmForegroundService | 开启 ForegroundService 闹钟 |
| stopAlarmForegroundService | 关闭 ForegroundService 闹钟 |
| startAlarmBroadcast | 开启 Receiver 闹钟 |
| stopAlarmBroadcast | 关闭 Receiver 闹钟 |
| startAlarmActivity | 开启 Activity 闹钟 |
| stopAlarmActivity | 关闭 Activity 闹钟 |
* **APP ( Android ) 工具类 ->** [AppUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/AppUtils.java)
| 方法 | 注释 |
| :- | :- |
| getSystemService | 获取 SystemService |
| getWindowManager | 获取 WindowManager |
| getAudioManager | 获取 AudioManager |
| getStatusBarManager | 获取 StatusBarManager |
| getSensorManager | 获取 SensorManager |
| getStorageManager | 获取 StorageManager |
| getWifiManager | 获取 WifiManager |
| getConnectivityManager | 获取 ConnectivityManager |
| getTelephonyManager | 获取 TelephonyManager |
| getAppOpsManager | 获取 AppOpsManager |
| getNotificationManager | 获取 NotificationManager |
| getShortcutManager | 获取 ShortcutManager |
| getActivityManager | 获取 ActivityManager |
| getPowerManager | 获取 PowerManager |
| getBatteryManager | 获取 BatteryManager |
| getKeyguardManager | 获取 KeyguardManager |
| getInputMethodManager | 获取 InputMethodManager |
| getClipboardManager | 获取 ClipboardManager |
| getUsageStatsManager | 获取 UsageStatsManager |
| getAlarmManager | 获取 AlarmManager |
| getLocationManager | 获取 LocationManager |
| getVibrator | 获取 Vibrator |
| getDevicePolicyManager | 获取 DevicePolicyManager |
| getSensorPrivacyManager | 获取 SensorPrivacyManager |
| getWallpaperManager | 获取 WallpaperManager |
| getPackageManager | 获取 PackageManager |
| getCurrentWindowMetrics | 获取 Current WindowMetrics |
| getMaximumWindowMetrics | 获取 Maximum WindowMetrics |
| getApplicationInfo | 获取 ApplicationInfo |
| getPackageInfo | 获取 PackageInfo |
| getSharedPreferences | 获取 SharedPreferences |
| deleteDatabase | 根据名称清除数据库 |
| getPackageName | 获取 APP 包名 |
| getAppIcon | 获取 APP 图标 |
| getAppName | 获取 APP 应用名 |
| getAppVersionName | 获取 APP versionName |
| getAppVersionCode | 获取 APP versionCode |
| getAppPath | 获取 APP 安装包路径 /data/data/packageName/.apk |
| getAppSignature | 获取 APP Signature |
| getAppSignatureMD5 | 获取 APP 签名 MD5 值 |
| getAppSignatureSHA1 | 获取 APP 签名 SHA1 值 |
| getAppSignatureSHA256 | 获取 APP 签名 SHA256 值 |
| getAppSignatureHash | 获取应用签名 Hash 值 |
| isAppDebug | 判断 APP 是否 debug 模式 |
| isAppRelease | 判断 APP 是否 release 模式 |
| isAppSystem | 判断 APP 是否系统 app |
| isAppForeground | 判断 APP 是否在前台 |
| isInstalledApp | 判断是否安装了 APP |
| isInstalledApp2 | 判断是否安装了 APP |
| startActivity | Activity 跳转 |
| startActivityForResult | Activity 跳转回传 |
| startIntentSenderForResult | Activity 请求权限跳转回传 |
| registerReceiverBool | 注册广播监听 |
| registerReceiver | 注册广播监听 |
| unregisterReceiver | 注销广播监听 |
| sendBroadcast | 发送广播 ( 无序 ) |
| sendOrderedBroadcast | 发送广播 ( 有序 ) |
| startService | 启动服务 |
| stopService | 停止服务 |
| installApp | 安装 APP ( 支持 8.0 ) 的意图 |
| installAppSilent | 静默安装应用 |
| uninstallApp | 卸载应用 |
| uninstallAppSilent | 静默卸载应用 |
| launchApp | 打开 APP |
| launchApp2 | 打开 APP |
| launchAppDetailsSettings | 跳转到 APP 设置详情页面 |
| launchAppDetails | 跳转到 APP 应用商城详情页面 |
| launchAppInstallPermissionSettings | 跳转设置页面, 开启安装未知应用权限 |
| launchManageAppAllFilesAccessPermission | 跳转设置页面, 开启 APP 授予所有文件管理权限 |
| openFile | 打开文件 |
| openFileByApp | 打开文件 ( 指定应用 ) |
| openPDFFile | 打开 PDF 文件 |
| openWordFile | 打开 Word 文件 |
| openOfficeByWPS | 调用 WPS 打开 office 文档 |
| startSysSetting | 跳转到系统设置页面 |
| openWirelessSettings | 打开网络设置界面 |
| openGpsSettings | 打开 GPS 设置界面 |
* **音频管理工具类 ->** [AudioManagerUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/AudioManagerUtils.java)
| 方法 | 注释 |
| :- | :- |
| getStreamMaxVolume | 获取指定声音流最大音量大小 |
| getStreamVolume | 获取指定声音流音量大小 |
| setStreamVolume | 设置指定声音流音量大小 |
| adjustVolumeLower | 控制手机音量, 调小一个单位 |
| adjustVolumeRaise | 控制手机音量, 调大一个单位 |
| adjustVolume | 控制手机音量, 调大或者调小一个单位 |
| adjustStreamVolumeLower | 控制指定声音流音量, 调小一个单位 |
| adjustStreamVolumeRaise | 控制指定声音流音量, 调大一个单位 |
| adjustStreamVolume | 控制指定声音流音量, 调大或者调小一个单位 |
| setStreamMuteByMusic | 设置媒体声音静音状态 |
| setStreamMuteByVoiceCall | 设置通话声音静音状态 |
| setStreamMuteBySystem | 设置系统声音静音状态 |
| setStreamMuteByRing | 设置来电响铃静音状态 |
| setStreamMuteByAlarm | 设置闹钟声音静音状态 |
| setStreamMuteByNotification | 设置通知声音静音状态 |
| setStreamMute | 设置指定声音流静音状态 |
| getMode | 获取当前的音频模式 |
| setMode | 设置当前的音频模式 |
| getRingerMode | 获取当前的铃声模式 |
| setRingerMode | 获取当前的铃声模式 |
| ringerSilent | 设置静音模式 ( 静音, 且无振动 ) |
| ringerVibrate | 设置震动模式 ( 静音, 但有振动 ) |
| ringerNormal | 设置正常模式 ( 正常声音, 振动开关由 setVibrateSetting 决定 ) |
| isDoNotDisturb | 判断是否授权 Do not disturb 权限 |
| setSpeakerphoneOn | 设置是否打开扩音器 ( 扬声器 ) |
| setMicrophoneMute | 设置是否让麦克风静音 |
| isSpeakerphoneOn | 判断是否打开扩音器 ( 扬声器 ) |
| isMicrophoneMute | 判断麦克风是否静音 |
| isMusicActive | 判断是否有音乐处于活跃状态 |
| isWiredHeadsetOn | 判断是否插入了耳机 |
| isBluetoothA2dpOn | 检查蓝牙 A2DP 音频外设是否已连接 |
| isBluetoothScoAvailableOffCall | 检查当前平台是否支持使用 SCO 的关闭调用用例 |
| isBluetoothScoOn | 检查通信是否使用蓝牙 SCO |
| setBluetoothScoOn | 设置是否使用蓝牙 SCO 耳机进行通讯 |
| startBluetoothSco | 启动蓝牙 SCO 音频连接 |
| stopBluetoothSco | 停止蓝牙 SCO 音频连接 |
| loadSoundEffects | 加载音效 |
| unloadSoundEffects | 卸载音效 |
| playSoundEffect | 播放音效 |
| abandonAudioFocus | 放弃音频焦点, 使上一个焦点所有者 ( 如果有 ) 接收焦点 |
| adjustSuggestedStreamVolume | 调整最相关的流的音量, 或者给定的回退流 |
| getParameters | 获取音频硬件指定 key 的参数值 |
| getVibrateSetting | 获取用户对振动类型的振动设置 |
* **Bar 相关工具类 ->** [BarUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/BarUtils.java)
| 方法 | 注释 |
| :- | :- |
| getStatusBarHeight | 获取 StatusBar 高度 |
| getStatusBarHeight2 | 获取 StatusBar 高度 |
| isStatusBarVisible | 判断 StatusBar 是否显示 |
| setStatusBarVisibility | 设置 StatusBar 是否显示 |
| setStatusBarLightMode | 设置 StatusBar 是否高亮模式 |
| isStatusBarLightMode | 获取 StatusBar 是否高亮模式 |
| addMarginTopEqualStatusBarHeight | 添加 View 向上 StatusBar 同等高度边距 |
| subtractMarginTopEqualStatusBarHeight | 移除 View 向上 StatusBar 同等高度边距 |
| setStatusBarColor | 设置 StatusBar 颜色 |
| setStatusBarCustom | 设置自定义 StatusBar View |
| setStatusBarColorDrawer | 设置 DrawerLayout StatusBar 颜色 |
| transparentStatusBar | 设置透明 StatusBar |
| getActionBarHeight | 获取 ActionBar 高度 |
| setNotificationBarVisibility | 设置 Notification Bar 是否显示 |
| getNavBarHeight | 获取 Navigation Bar 高度 |
| setNavBarVisibility | 设置 Navigation Bar 是否可见 |
| isNavBarVisible | 判断 Navigation Bar 是否可见 |
| isSupportNavBar | 判断是否支持 Navigation Bar |
| setNavBarColor | 设置 Navigation Bar 颜色 |
| getNavBarColor | 获取 Navigation Bar 颜色 |
| setNavBarLightMode | 设置 Navigation Bar 是否高亮模式 |
| isNavBarLightMode | 获取 Navigation Bar 是否高亮模式 |
* **电量管理工具类 ->** [BatteryUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/BatteryUtils.java)
| 方法 | 注释 |
| :- | :- |
| isPowerSaveMode | 是否省电模式 |
| getInfo | 获取电池信息获取包装类 |
| refreshBatteryStatus | 刷新电池信息粘性 Intent |
| isPresent | 是否存在电池 |
| isBatteryLow | 是否低电量 |
| isBatteryLow20 | 是否低电量 |
| isBatteryHigh | 是否高电量 |
| getLevelPercent | 获取当前电量百分比 |
| getLevel | 获取当前电量 |
| getScale | 获取电池最大电量 |
| getCycleCount | 获取电池充电周期 |
| getTemperature | 获取电池温度 |
| getVoltage | 获取电池电压 |
| getTechnology | 获取电池技术 |
| getChargePlug | 获取充电方式 |
| isCharge | 是否充电中 |
| isPluggedAC | 是否 AC 充电方式 |
| isPluggedUSB | 是否 USB 充电方式 |
| isPluggedWireless | 是否无线充电方式 |
| isPluggedDock | 是否 DOCK 充电方式 |
| getChargeStatus | 获取充电状态 |
| isChargingStatus | 是否充电状态 |
| isDisChargingStatus | 是否放电状态 |
| isFullStatus | 是否充满电状态 |
| isNotChargingStatus | 是否不在充电状态 |
| isUnknownStatus | 是否未知充电状态 |
| getHealth | 获取电池健康状况 |
| isHealthGood | 是否电池状况良好 |
| isHealthOverheat | 是否电池状况过热 |
| isHealthCold | 是否电池状况低温 |
| isHealthDead | 是否电池状况死机 |
| isHealthOverVoltage | 是否电池状况电压过载 |
| isHealthUnspecifiedFailure | 是否电池状况不明故障 |
| isHealthUnknown | 是否电池状况未知 |
| isRefreshEnabled | 是否启用 Intent 每次刷新 |
| setRefreshEnabled | 启用 Intent 每次刷新 |
| setRefreshDisabled | 禁用 Intent 每次刷新 |
| batteryStatus | 获取电池信息粘性 Intent |
* **亮度相关工具类 ->** [BrightnessUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/BrightnessUtils.java)
| 方法 | 注释 |
| :- | :- |
| isAutoBrightnessEnabled | 判断是否开启自动调节亮度 |
| setAutoBrightnessEnabled | 设置是否开启自动调节亮度 |
| getBrightness | 获取屏幕亮度 0-255 |
| setBrightness | 设置屏幕亮度 |
| setWindowBrightness | 设置窗口亮度 |
| getWindowBrightness | 获取窗口亮度 |
* **截图工具类 ->** [CapturePictureUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/CapturePictureUtils.java)
| 方法 | 注释 |
| :- | :- |
| setBitmapConfig | 设置 Bitmap Config |
| setBackgroundColor | 设置 Canvas 背景色 |
| setPaint | 设置画笔 |
| snapshotWithStatusBar | 获取当前屏幕截图, 包含状态栏 ( 顶部灰色 TitleBar 高度, 没有设置 android:theme 的 NoTitleBar 时会显示 ) |
| snapshotWithoutStatusBar | 获取当前屏幕截图, 不包含状态栏 ( 如果 android:theme 全屏, 则截图无状态栏 ) |
| enableSlowWholeDocumentDraw | 关闭 WebView 优化 |
| snapshotByWebView | 截图 WebView |
| snapshotByView | 通过 View 绘制为 Bitmap |
| snapshotByViewCache | 通过 View Cache 绘制为 Bitmap |
| snapshotByLinearLayout | 通过 LinearLayout 绘制为 Bitmap |
| snapshotByFrameLayout | 通过 FrameLayout 绘制为 Bitmap |
| snapshotByRelativeLayout | 通过 RelativeLayout 绘制为 Bitmap |
| snapshotByScrollView | 通过 ScrollView 绘制为 Bitmap |
| snapshotByHorizontalScrollView | 通过 HorizontalScrollView 绘制为 Bitmap |
| snapshotByNestedScrollView | 通过 NestedScrollView 绘制为 Bitmap |
| snapshotByListView | 通过 ListView 绘制为 Bitmap |
| snapshotByGridView | 通过 GridView 绘制为 Bitmap |
| snapshotByRecyclerView | 通过 RecyclerView 绘制为 Bitmap |
* **本应用数据清除管理工具类 ->** [CleanUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/CleanUtils.java)
| 方法 | 注释 |
| :- | :- |
| cleanCache | 清除外部缓存 ( path /storage/emulated/0/android/data/package/cache ) |
| cleanAppCache | 清除内部缓存 ( path /data/data/package/cache ) |
| cleanAppFiles | 清除内部文件 ( path /data/data/package/files ) |
| cleanAppSp | 清除内部 SP ( path /data/data/package/shared_prefs ) |
| cleanAppDbs | 清除内部数据库 ( path /data/data/package/databases ) |
| cleanAppDbByName | 根据名称清除数据库 ( path /data/data/package/databases/dbName ) |
| cleanCustomDir | 清除自定义路径下的文件 |
| cleanApplicationData | 清除本应用所有的数据 |
* **点击 ( 双击 ) 工具类 ->** [ClickUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/ClickUtils.java)
| 方法 | 注释 |
| :- | :- |
| addTouchArea | 增加控件的触摸范围, 最大范围只能是父布局所包含的的区域 |
| setCheckViewId | 设置全局是否校验 viewId |
| getGlobalIntervalTime | 获取全局双击间隔时间 |
| setGlobalIntervalTime | 设置全局双击间隔时间 |
| get | 获取对应功能模块点击辅助类 |
| remove | 移除对应功能模块点击辅助类 |
| isFastDoubleClick | 判断是否双击 ( 无效点击, 短时间内多次点击 ) |
| initConfig | 初始化配置信息 |
| putConfig | 添加配置信息 |
| removeConfig | 移除配置信息 |
| getConfigTime | 获取配置时间 |
| removeRecord | 移除点击记录 |
| clearRecord | 清空全部点击记录 |
| getIntervalTime | 获取默认点击时间间隔 |
| setIntervalTime | 设置默认点击时间间隔 |
| reset | 重置处理 |
| setOnClick | 设置点击事件 |
| setOnLongClick | 设置长按事件 |
| setOnTouch | 设置触摸事件 |
* **剪贴板相关工具类 ->** [ClipboardUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/ClipboardUtils.java)
| 方法 | 注释 |
| :- | :- |
| copyText | 复制文本到剪贴板 |
| getText | 获取剪贴板文本 |
| copyUri | 复制 URI 到剪贴板 |
| getUri | 获取剪贴板 URI |
| copyIntent | 复制意图到剪贴板 |
| getIntent | 获取剪贴板意图 |
* **ContentResolver 工具类 ->** [ContentResolverUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/ContentResolverUtils.java)
| 方法 | 注释 |
| :- | :- |
| getDataColumn | 获取 Uri Cursor 对应条件的数据行 data 字段 |
| getDisplayNameColumn | 获取 Uri Cursor 对应条件的数据行 display_name 字段 |
| delete | 删除多媒体资源 |
| update | 更新多媒体资源 |
| deleteDocument | 删除文件 |
| query | 获取 Uri Cursor |
| getMediaUri | 通过 File 获取 Media Uri |
| mediaQuery | 通过 File 获取 Media 信息 |
| getResult | 获取查询结果 |
| getProjection | 获取查询的字段 |
| getSelection | 获取查询条件 |
| getSelectionArgs | 获取查询条件的参数 |
| getSortOrder | 获取排序方式 |
* **获取 CPU 信息工具类 ->** [CPUUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/CPUUtils.java)
| 方法 | 注释 |
| :- | :- |
| getProcessorsCount | 获取处理器的 Java 虚拟机的数量 |
| getSysCPUSerialNum | 获取手机 CPU 序列号 |
| getCpuInfo | 获取 CPU 信息 |
| getCpuModel | 获取 CPU 型号 |
| getMaxCpuFreq | 获取 CPU 最大频率 ( 单位 KHZ ) |
| getMinCpuFreq | 获取 CPU 最小频率 ( 单位 KHZ ) |
| getCurCpuFreq | 获取 CPU 当前频率 ( 单位 KHZ ) |
| getCoresNumbers | 获取 CPU 核心数 |
| getCpuName | 获取 CPU 名字 |
| getCMDOutputString | 获取 CMD 指令回调数据 |
* **UncaughtException 处理工具类 ->** [CrashUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/CrashUtils.java)
| 方法 | 注释 |
| :- | :- |
| getInstance | 获取 CrashUtils 实例 |
| initialize | 初始化方法 |
| uncaughtException | 当 UncaughtException 发生时会转入该函数来处理 |
| handleException | 处理异常 |
* **数据库工具类 ( 导入导出等 ) ->** [DBUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/DBUtils.java)
| 方法 | 注释 |
| :- | :- |
| getAppDbsPath | 获取应用内部存储数据库路径 ( path /data/data/package/databases ) |
| getAppDbPath | 获取应用内部存储数据库路径 ( path /data/data/package/databases/name ) |
| deleteDatabase | 根据名称清除数据库 |
| startExportDatabase | 导出数据库 |
| startImportDatabase | 导入数据库 |
* **设备管理工具类 ->** [DevicePolicyUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/DevicePolicyUtils.java)
| 方法 | 注释 |
| :- | :- |
| getInstance | 获取 DevicePolicyUtils 实例 |
| getDevicePolicyManager | 获取 DevicePolicyManager |
| isAdminActive | 判断给定的组件是否启动 ( 活跃 ) 中 |
| getActiveIntent | 获取激活跳转 Intent |
| activeAdmin | 激活给定的组件 |
| removeActiveAdmin | 移除激活组件 |
| startLockPassword | 设置锁屏密码 ( 不需要激活就可以运行 ) |
| setLockPassword | 设置锁屏密码 |
| lockNow | 立刻锁屏 |
| lockByTime | 设置多长时间后锁屏 |
| wipeData | 清除所有数据 ( 恢复出厂设置 ) |
| resetPassword | 设置新解锁密码 |
| setStorageEncryption | 设置存储设备加密 |
| setCameraDisabled | 设置停用相机 |
| getComponentName | 获取 ComponentName |
| setComponentName | 设置 ComponentName |
* **设备相关工具类 ->** [DeviceUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/DeviceUtils.java)
| 方法 | 注释 |
| :- | :- |
| getAppDeviceInfo | 获取应用、设备信息 |
| refreshAppDeviceInfo | 刷新应用、设备信息 |
| getUUID | 获取设备唯一 UUID |
| getUUIDDevice | 获取设备唯一 UUID ( 使用硬件信息拼凑出来的 ) |
| getDeviceInfo | 获取设备信息 |
| handlerDeviceInfo | 处理设备信息 |
| getBoard | 获取设备基板名称 |
| getBootloader | 获取设备引导程序版本号 |
| getBrand | 获取设备品牌 |
| getCPU_ABI | 获取支持的第一个指令集 |
| getCPU_ABI2 | 获取支持的第二个指令集 |
| getABIs | 获取支持的指令集 如: [arm64-v8a, armeabi-v7a, armeabi] |
| getSUPPORTED_32_BIT_ABIS | 获取支持的 32 位指令集 |
| getSUPPORTED_64_BIT_ABIS | 获取支持的 64 位指令集 |
| getDevice | 获取设备驱动名称 |
| getDisplay | 获取设备显示的版本包 ( 在系统设置中显示为版本号 ) 和 ID 一样 |
| getFingerprint | 获取设备的唯一标识, 由设备的多个信息拼接合成 |
| getHardware | 获取设备硬件名称, 一般和基板名称一样 ( BOARD ) |
| getHost | 获取设备主机地址 |
| getID | 获取设备版本号 |
| getModel | 获取设备型号 如 RedmiNote4X |
| getManufacturer | 获取设备厂商 如 Xiaomi |
| getProduct | 获取整个产品的名称 |
| getRadio | 获取无线电固件版本号, 通常是不可用的 显示 unknown |
| getTags | 获取设备标签, 如 release-keys 或测试的 test-keys |
| getTime | 获取设备时间 |
| getType | 获取设备版本类型 主要为 "user" 或 "eng". |
| getUser | 获取设备用户名 基本上都为 android-build |
| getSDKVersion | 获取 SDK 版本号 |
| getRelease | 获取系统版本号, 如 4.1.2 或 2.2 或 2.3 等 |
| getCodename | 获取设备当前的系统开发代号, 一般使用 REL 代替 |
| getIncremental | 获取系统源代码控制值, 一个数字或者 git hash 值 |
| getAndroidId | 获取 Android id |
| getBaseband_Ver | 获取基带版本 BASEBAND-VER |
| getLinuxCore_Ver | 获取内核版本 CORE-VER |
| isDeviceRooted | 判断设备是否 root |
| isAdbEnabled | 获取是否启用 ADB |
| isDevelopmentSettingsEnabled | 是否打开开发者选项 |
| getMacAddress | 获取设备 MAC 地址 |
| shutdown | 关机 ( 需要 root 权限 ) |
| reboot | 重启设备 ( 需要 root 权限 ) |
| rebootToRecovery | 重启引导到 recovery ( 需要 root 权限 ) |
| rebootToBootloader | 重启引导到 bootloader ( 需要 root 权限 ) |
| isTablet | 判断是否是平板 |
* **Dialog 操作相关工具类 ->** [DialogUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/DialogUtils.java)
| 方法 | 注释 |
| :- | :- |
| setStatusBarColor | 设置 Dialog 状态栏颜色 |
| setSemiTransparentStatusBarColor | 设置 Dialog 高版本状态栏蒙层 |
| setStatusBarColorAndFlag | 设置 Dialog 状态栏颜色、高版本状态栏蒙层 |
| getAttributes | 获取 Dialog Window LayoutParams |
| setAttributes | 设置 Dialog Window LayoutParams |
| setWidth | 设置 Dialog 宽度 |
| setHeight | 设置 Dialog 高度 |
| setWidthHeight | 设置 Dialog 宽度、高度 |
| setX | 设置 Dialog X 轴坐标 |
| setY | 设置 Dialog Y 轴坐标 |
| setXY | 设置 Dialog X、Y 轴坐标 |
| setGravity | 设置 Dialog Gravity |
| setDimAmount | 设置 Dialog 透明度 |
| setCancelable | 设置是否允许返回键关闭 |
| setCanceledOnTouchOutside | 设置是否允许点击其他地方自动关闭 |
| setCancelableAndTouchOutside | 设置是否允许 返回键关闭、点击其他地方自动关闭 |
| isShowing | 获取 Dialog 是否显示 |
| showDialog | 显示 Dialog |
| closeDialog | 关闭 Dialog |
| closeDialogs | 关闭多个 Dialog |
| closePopupWindow | 关闭 PopupWindow |
| closePopupWindows | 关闭多个 PopupWindow |
| showDialogAndCloses | 显示 Dialog 并关闭其他 Dialog |
| createAlertDialog | 创建提示 Dialog ( 原生样式 ) |
| createProgressDialog | 创建加载中 Dialog ( 原生样式 ) |
| autoCloseDialog | 自动关闭 dialog |
| autoClosePopupWindow | 自动关闭 PopupWindow |
| createSingleChoiceListDialog | 创建单选列表样式 Dialog |
| createSingleChoiceDialog | 创建单选样式 Dialog |
| createMultiChoiceDialog | 创建多选样式 Dialog |
| createViewDialog | 创建自定义 View 样式 Dialog |
* **EditText 工具类 ->** [EditTextUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/EditTextUtils.java)
| 方法 | 注释 |
| :- | :- |
| getEditText | 获取 EditText |
| getText | 获取输入的内容 |
| getTextLength | 获取输入的内容长度 |
| setText | 设置内容 |
| setTexts | 设置多个 EditText 文本 |
| insert | 追加内容 ( 当前光标位置追加 ) |
| setMaxLength | 设置长度限制 |
| setMaxLengthAndText | 设置长度限制, 并且设置内容 |
| isCursorVisible | 是否显示光标 |
| setCursorVisible | 设置是否显示光标 |
| setTextCursorDrawable | 设置光标 |
| getSelectionStart | 获取光标位置 |
| setSelectionToTop | 设置光标在第一位 |
| setSelectionToBottom | 设置光标在最后一位 |
| setSelection | 设置光标位置 |
| getInputType | 设置输入类型 |
| setInputType | 设置输入类型 |
| getImeOptions | 设置软键盘右下角按钮类型 |
| setImeOptions | 设置软键盘右下角按钮类型 |
| getTransformationMethod | 获取文本视图显示转换 |
| setTransformationMethod | 设置文本视图显示转换 |
| addTextChangedListener | 添加输入监听事件 |
| removeTextChangedListener | 移除输入监听事件 |
| setKeyListener | 设置 KeyListener |
| getLettersKeyListener | 获取 DigitsKeyListener ( 限制只能输入字母, 默认弹出英文软键盘 ) |
| getNumberAndLettersKeyListener | 获取 DigitsKeyListener ( 限制只能输入字母和数字, 默认弹出英文软键盘 ) |
| getNumberKeyListener | 获取 DigitsKeyListener ( 限制只能输入数字, 默认弹出数字列表 ) |
| createDigitsKeyListener | 创建 DigitsKeyListener |
* **Fragment 工具类 ->** [FragmentUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/FragmentUtils.java)
| 方法 | 注释 |
| :- | :- |
| add | 添加 Fragment |
| show | 显示 Fragment |
| hide | Hide fragment |
| showHide | 显示 Fragment 并隐藏其他 Fragment |
| replace | 替换 Fragment |
| pop | 回退 Fragment |
| popTo | 回退到指定 Fragment |
| popAll | 回退所有 Fragment |
| remove | 移除 Fragment |
| removeTo | 移除 Fragment |
| removeAll | 移除全部 Fragment |
| findFragment | 查找 Fragment |
| getTop | 获取顶部 Fragment |
| getTopInStack | 获取栈顶 Fragment |
| getTopShow | 获取顶部显示的 Fragment |
| getTopShowInStack | 获取栈顶显示的 Fragment |
| getFragments | 获取 FragmentManager 全部 Fragment |
| getFragmentsInStack | 获取 FragmentManager 全部栈顶 Fragment |
| getAllFragments | 获取 FragmentManager 全部 Fragment |
| getAllFragmentsInStack | 获取 FragmentManager 全部栈顶 Fragment |
| getSimpleName | 获取 Fragment SimpleName |
| dispatchBackPress | 调用 Fragment OnBackClickListener 校验是否进行消费 |
| setBackgroundColor | 设置 Fragment View 背景 |
| setBackgroundResource | 设置 Fragment View 背景 |
| setBackground | 设置 Fragment View 背景 |
| getFragment | getFragment |
| getNext | getNext |
| toString | toString |
| onBackClick | 是否允许处理返回键 |
* **Handler 工具类 ->** [HandlerUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/HandlerUtils.java)
| 方法 | 注释 |
| :- | :- |
| getMainHandler | 获取主线程 Handler |
| isMainThread | 当前线程是否主线程 |
| postRunnable | 在主线程 Handler 中执行任务 |
| removeRunnable | 在主线程 Handler 中清除任务 |
| getRunnableMaps | 获取 Key Runnable Map |
| clearRunnableMaps | 清空 Key Runnable Map |
| containsKey | 判断 Map 是否存储 key Runnable |
| put | 通过 Key 存储 Runnable |
| remove | 通过 Key 移除 Runnable |
* **ImageView 工具类 ->** [ImageViewUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/ImageViewUtils.java)
| 方法 | 注释 |
| :- | :- |
| getImageView | 获取 ImageView |
| getAdjustViewBounds | 获取 ImageView 是否保持宽高比 |
| setAdjustViewBounds | 设置 ImageView 是否保持宽高比 |
| getMaxHeight | 获取 ImageView 最大高度 |
| setMaxHeight | 设置 ImageView 最大高度 |
| getMaxWidth | 获取 ImageView 最大宽度 |
| setMaxWidth | 设置 ImageView 最大宽度 |
| setImageLevel | 设置 ImageView Level |
| setImageBitmap | 设置 ImageView Bitmap |
| setImageDrawable | 设置 ImageView Drawable |
| setImageResource | 设置 ImageView 资源 |
| setImageMatrix | 设置 ImageView Matrix |
| setImageTintList | 设置 ImageView 着色颜色 |
| setImageTintMode | 设置 ImageView 着色模式 |
| setScaleType | 设置 ImageView 缩放类型 |
| getImageMatrix | 获取 ImageView Matrix |
| getImageTintList | 获取 ImageView 着色颜色 |
| getImageTintMode | 获取 ImageView 着色模式 |
| getScaleType | 获取 ImageView 缩放模式 |
| getDrawable | 获取 ImageView Drawable |
| setBackgroundResources | 设置 View 图片资源 |
| setImageResources | 设置 View 图片资源 |
| setImageBitmaps | 设置 View Bitmap |
| setImageDrawables | 设置 View Drawable |
| setScaleTypes | 设置 View 缩放模式 |
| getImageViewSize | 根据 ImageView 获适当的宽高 |
* **Intent 相关工具类 ->** [IntentUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/IntentUtils.java)
| 方法 | 注释 |
| :- | :- |
| getIntent | 获取 Intent |
| isIntentAvailable | 判断 Intent 是否可用 |
| getCategoryLauncherIntent | 获取 CATEGORY_LAUNCHER Intent |
| getInstallAppIntent | 获取安装 APP ( 支持 8.0 ) 的意图 |
| getUninstallAppIntent | 获取卸载 APP 的意图 |
| getLaunchAppIntent | 获取打开 APP 的意图 |
| getSystemSettingIntent | 获取跳转到系统设置的意图 |
| getLaunchAppInstallPermissionSettingsIntent | 获取 APP 安装权限设置的意图 |
| getLaunchAppNotificationSettingsIntent | 获取 APP 通知权限设置的意图 |
| getLaunchAppNotificationListenSettingsIntent | 获取 APP 通知使用权页面 |
| getManageOverlayPermissionIntent | 获取悬浮窗口权限列表的意图 |
| getManageAppAllFilesAccessPermissionIntent | 获取 APP 授予所有文件管理权限的意图 |
| getManageAllFilesAccessPermissionIntent | 获取授予所有文件管理权限列表的意图 |
| getLaunchAppDetailsSettingsIntent | 获取 APP 具体设置的意图 |
| getLaunchAppDetailIntent | 获取到应用商店 APP 详情界面的意图 |
| getShareTextIntent | 获取分享文本的意图 |
| getShareImageIntent | 获取分享图片的意图 |
| getComponentIntent | 获取其他应用组件的意图 |
| getShutdownIntent | 获取关机的意图 |
| getDialIntent | 获取跳至拨号界面意图 |
| getCallIntent | 获取拨打电话意图 |
| getSendSmsIntent | 获取发送短信界面的意图 |
| getImageCaptureIntent | 获取图片拍摄的意图 |
| getVideoCaptureIntent | 获取视频拍摄的意图 |
| getOpenDocumentIntent | 获取存储访问框架的意图 |
| getCreateDocumentIntent | 获取创建文件的意图 |
| getOpenBrowserIntent | 获取打开浏览器的意图 |
| getOpenAndroidBrowserIntent | 获取打开 Android 浏览器的意图 |
* **Android 原生 JSONObject 工具类 ->** [JSONObjectUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/JSONObjectUtils.java)
| 方法 | 注释 |
| :- | :- |
| toJson | 转换为 JSON 格式字符串 |
| fromJson | Object 转换 JSON 对象 |
| wrap | 包装转换 Object |
| stringJSONEscape | 字符串 JSON 转义处理 |
| isJSON | 判断字符串是否 JSON 格式 |
| isJSONObject | 判断字符串是否 JSON Object 格式 |
| isJSONArray | 判断字符串是否 JSON Array 格式 |
| jsonToMap | 将 JSON 格式字符串转化为 Map |
| jsonToList | 将 JSON 格式字符串转化为 List |
| getJSONObject | 获取 JSONObject |
| getJSONArray | 获取 JSONArray |
| get | 获取指定 key 数据 |
| opt | 获取指定 key 数据 |
* **软键盘相关工具类 ->** [KeyBoardUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/KeyBoardUtils.java)
| 方法 | 注释 |
| :- | :- |
| setDelayMillis | 设置延迟时间 |
| setSoftInputMode | 设置 Window 软键盘是否显示 |
| judgeView | 设置某个 View 内所有非 EditText 的子 View OnTouchListener 事件 |
| isSoftInputVisible | 判断软键盘是否可见 |
| registerSoftInputChangedListener | 注册软键盘改变监听 |
| registerSoftInputChangedListener2 | 注册软键盘改变监听 |
| fixSoftInputLeaks | 修复软键盘内存泄漏 在 Activity.onDestroy() 中使用 |
| toggleKeyboard | 自动切换键盘状态, 如果键盘显示则隐藏反之显示 |
| openKeyboard | 打开软键盘 |
| openKeyboardDelay | 延时打开软键盘 |
| openKeyboardByFocus | 打开软键盘 |
| closeKeyboard | 关闭软键盘 |
| closeKeyBoardSpecial | 关闭软键盘 |
| closeKeyBoardSpecialDelay | 延时关闭软键盘 |
| closeKeyboardDelay | 延时关闭软键盘 |
* **锁屏管理工具类 ( 锁屏、禁用锁屏, 判断是否锁屏 ) ->** [KeyguardUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/KeyguardUtils.java)
| 方法 | 注释 |
| :- | :- |
| getInstance | 获取 KeyguardUtils 实例 |
| isKeyguardLocked | 是否锁屏 ( android 4.1 以上支持 ) |
| isKeyguardSecure | 是否有锁屏密码 ( android 4.1 以上支持 ) |
| inKeyguardRestrictedInputMode | 是否锁屏 |
| getKeyguardManager | 获取 KeyguardManager |
| setKeyguardManager | 设置 KeyguardManager |
| disableKeyguard | 屏蔽系统的屏保 |
| reenableKeyguard | 使能显示锁屏界面, 如果你之前调用了 disableKeyguard() 方法取消锁屏界面, 那么会马上显示锁屏界面 |
| release | 释放资源 |
| getKeyguardLock | 获取 KeyguardManager.KeyguardLock |
| setKeyguardLock | 设置 KeyguardManager.KeyguardLock |
* **语言工具类 ->** [LanguageUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/LanguageUtils.java)
| 方法 | 注释 |
| :- | :- |
| getSystemLanguage | 获取系统语言 |
| getSystemCountry | 获取系统语言区域 |
| getSystemPreferredLanguage | 获取系统首选语言 |
| applyLanguage | 修改系统语言 ( APP 多语言, 单独改变 APP 语言 ) |
| getSupportLanguages | 获取支持的语言 |
| putSupportLanguage | 添加支持的语言 |
| removeSupportLanguage | 移除支持的语言 |
| isSupportLanguage | 是否支持此语言 |
| getSupportLanguage | 获取支持语言 |
| isEn | 判断是否为英文语言环境 |
| isZh | 判断是否为中文语言环境 |
| isZhCN | 判断是否为中文简体语言环境 |
| isZhTW | 判断是否为中文繁体语言环境 |
| isLanguage | 判断是否为指定语言环境 |
| isRegion | 判断是否为指定区域语言环境 |
* **事件工具类 ->** [ListenerUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/ListenerUtils.java)
| 方法 | 注释 |
| :- | :- |
| getTouchListener | 获取 View 设置的 OnTouchListener 事件对象 |
| getClickListener | 获取 View 设置的 OnClickListener 事件对象 |
| getListenerInfo | 获取 View ListenerInfo 对象 ( 内部类 ) |
| getListenerInfoListener | 获取 View ListenerInfo 对象内部事件对象 |
| setOnClicks | 设置点击事件 |
| setOnLongClicks | 设置长按事件 |
| setOnTouchs | 设置触摸事件 |
* **List View ( 列表 View ) 相关工具类 ->** [ListViewUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/ListViewUtils.java)
| 方法 | 注释 |
| :- | :- |
| getItemCount | 获取 Adapter Item 总数 |
| getItemView | 获取指定索引 Item View |
| smoothScrollToPosition | 滑动到指定索引 ( 有滚动过程 ) |
| scrollToPosition | 滑动到指定索引 ( 无滚动过程 ) |
| smoothScrollToTop | 滑动到顶部 ( 有滚动过程 ) |
| scrollToTop | 滑动到顶部 ( 无滚动过程 ) |
| smoothScrollToBottom | 滑动到底部 ( 有滚动过程 ) |
| scrollToBottom | 滑动到底部 ( 无滚动过程 ) |
| smoothScrollTo | 滚动到指定位置 ( 有滚动过程, 相对于初始位置移动 ) |
| smoothScrollBy | 滚动到指定位置 ( 有滚动过程, 相对于上次移动的最后位置移动 ) |
| fullScroll | 滚动方向 ( 有滚动过程 ) |
| scrollTo | View 内容滚动位置 ( 相对于初始位置移动 ) |
| scrollBy | View 内部滚动位置 ( 相对于上次移动的最后位置移动 ) |
| setScrollX | 设置 View 滑动的 X 轴坐标 |
| setScrollY | 设置 View 滑动的 Y 轴坐标 |
| getScrollX | 获取 View 滑动的 X 轴坐标 |
| getScrollY | 获取 View 滑动的 Y 轴坐标 |
| setDescendantFocusability | 设置 ViewGroup 和其子控件两者之间的关系 |
| setOverScrollMode | 设置 View 滚动模式 |
| calcListViewHeight | 计算 ListView 高度 |
| calcGridViewHeight | 计算 GridView 高度 |
* **定位相关工具类 ->** [LocationUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/LocationUtils.java)
| 方法 | 注释 |
| :- | :- |
| isGpsEnabled | 判断 GPS 是否可用 |
| isLocationEnabled | 判断定位是否可用 |
| isLocationEnabled2 | 判断定位是否可用 |
| isPassiveEnable | 判断定位是否可用 |
| openGpsSettings | 打开 GPS 设置界面 |
| register | 注册 |
| unregister | 注销监听 |
| getLocation | 获取位置 ( 需要先判断是否开启了定位 ) |
| getAddress | 根据经纬度获取地理位置 |
| getCountryName | 根据经纬度获取所在国家 |
| getLocality | 根据经纬度获取所在地 |
| getStreet | 根据经纬度获取所在街道 |
| isBetterLocation | 判断是否更好的位置 |
| isSameProvider | 是否相同的提供者 |
| getLastKnownLocation | 获取最后一次保留的坐标 |
| onLocationChanged | 当坐标改变时触发此函数, 如果 Provider 传进相同的坐标, 它就不会被触发 |
| onStatusChanged | provider 的在可用、暂时不可用和无服务三个状态直接切换时触发此函数 |
* **Android Manifest 工具类 ->** [ManifestUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/ManifestUtils.java)
| 方法 | 注释 |
| :- | :- |
| getMetaData | 获取 Application meta Data |
| getMetaDataInActivity | 获取 Activity meta Data |
| getMetaDataInService | 获取 Service meta Data |
| getMetaDataInReceiver | 获取 Receiver meta Data |
| getMetaDataInProvider | 获取 ContentProvider meta Data |
| getAppVersion | 获取 APP 版本信息 |
| getAppVersionCode | 获取 APP versionCode |
| getAppVersionName | 获取 APP versionName |
* **MediaStore 工具类 ->** [MediaStoreUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/MediaStoreUtils.java)
| 方法 | 注释 |
| :- | :- |
| notifyMediaStore | 通知刷新本地资源 |
| getDisplayName | 获取待显示名 |
| getImageDisplayName | 获取 Image 显示名 |
| getVideoDisplayName | 获取 Video 显示名 |
| getAudioDisplayName | 获取 Audio 显示名 |
| createImageUri | 创建图片 Uri |
| createVideoUri | 创建视频 Uri |
| createAudioUri | 创建音频 Uri |
| createDownloadUri | 创建 Download Uri |
| createMediaUri | 创建预存储 Media Uri |
| createUriByPath | 通过 File Path 创建 Uri |
| createUriByFile | 通过 File Path 创建 Uri |
| insertImage | 插入一张图片 |
| insertVideo | 插入一条视频 |
| insertAudio | 插入一条音频 |
| insertDownload | 插入一条文件资源 |
| insertMedia | 插入一条多媒体资源 |
| getVideoDuration | 获取本地视频时长 |
| getVideoSize | 获取本地视频宽高 |
| getImageWidthHeight | 获取本地图片宽高 |
| getMediaInfo | 获取多媒体资源信息 |
| createWriteRequest | 获取用户向应用授予对指定媒体文件组的写入访问权限的请求 |
| createFavoriteRequest | 获取用户将设备上指定的媒体文件标记为收藏的请求 |
| createTrashRequest | 获取用户将指定的媒体文件放入设备垃圾箱的请求 |
| createDeleteRequest | 获取用户立即永久删除指定的媒体文件 ( 而不是先将其放入垃圾箱 ) 的请求 |
| getMimeTypeFromExtension | 通过后缀获取 MimeType |
| getExtensionFromMimeType | 通过 MimeType 获取后缀 ( 不含 . ) |
| getFileExtensionFromUrl | 通过 Url 获取文件后缀 |
| hasMimeType | 判断 MimeMap 是否存在指定的 MimeType |
| hasExtension | 判断是否支持的 MimeType 后缀 |
* **内存信息工具类 ->** [MemoryUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/MemoryUtils.java)
| 方法 | 注释 |
| :- | :- |
| printMemoryInfo | 获取内存信息 |
| printMemoryInfo2 | 获取内存信息 |
| getMemoryInfo | 获取内存信息 |
| getAvailMemory | 获取可用内存信息 |
| getAvailMemoryFormat | 获取可用内存信息 ( 格式化 ) |
| getTotalMemory | 获取总内存大小 |
| getTotalMemoryFormat | 获取总内存大小 ( 格式化 ) |
| getMemoryAvailable | 获取可用内存大小 |
| getMemoryAvailableFormat | 获取可用内存大小 ( 格式化 ) |
| getMemInfoType | 通过不同 type 获取对应的内存信息 |
* **网络管理工具类 ->** [NetWorkUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/NetWorkUtils.java)
| 方法 | 注释 |
| :- | :- |
| getMobileDataEnabled | 获取移动网络打开状态 ( 默认属于未打开 ) |
| setMobileDataEnabled | 设置移动网络开关 ( 无判断是否已开启移动网络 ) |
| isConnect | 判断是否连接了网络 |
| getConnectType | 获取连接的网络类型 |
| isConnWifi | 判断是否连接 Wifi ( 连接上、连接中 ) |
| isConnMobileData | 判断是否连接移动网络 ( 连接上、连接中 ) |
| isAvailable | 判断网络是否可用 |
| isAvailableByPing | 使用 ping ip 方式判断网络是否可用 |
| getActiveNetworkInfo | 获取活动网络信息 |
| getActiveNetwork | 获取活动网络 |
| is4G | 判断是否 4G 网络 |
| getWifiEnabled | 判断 Wifi 是否打开 |
| isWifiAvailable | 判断 Wifi 数据是否可用 |
| getNetworkOperatorName | 获取网络运营商名称 ( 中国移动、如中国联通、中国电信 ) |
| getNetworkType | 获取当前网络类型 |
| getNetworkClass | 获取移动网络连接类型 |
| getBroadcastIpAddress | 获取广播 IP 地址 |
| getDomainAddress | 获取域名 IP 地址 |
| getIPAddress | 获取 IP 地址 |
| getIpAddressByWifi | 根据 Wifi 获取网络 IP 地址 |
| getGatewayByWifi | 根据 Wifi 获取网关 IP 地址 |
| getNetMaskByWifi | 根据 Wifi 获取子网掩码 IP 地址 |
| getServerAddressByWifi | 根据 Wifi 获取服务端 IP 地址 |
* **通知栏管理工具类 ->** [NotificationUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/NotificationUtils.java)
| 方法 | 注释 |
| :- | :- |
| getNotificationManager | 获取通知栏管理对象 |
| isNotificationEnabled | 检查通知栏权限是否开启 |
| checkAndIntentSetting | 检查是否有获取通知栏信息权限并跳转设置页面 |
| isNotificationListenerEnabled | 判断是否有获取通知栏信息权限 |
| startNotificationListenSettings | 跳转到设置页面, 开启获取通知栏信息权限 |
| cancelAll | 移除通知 ( 移除所有通知 ) |
| cancel | 移除通知 ( 移除标记为 id 的通知 ) |
| notify | 进行通知 |
| getNotificationChannel | 获取 NotificationChannel |
| createNotificationChannel | 创建 NotificationChannel |
| createPendingIntent | 获取 PendingIntent |
| createNotification | 创建通知栏对象 |
| createNotificationBuilder | 创建通知栏 Builder 对象 |
| get | 获取 Led 配置参数 |
| isEmpty | 判断是否为 null |
* **路径相关工具类 ->** [PathUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/PathUtils.java)
| 方法 | 注释 |
| :- | :- |
| getInternal | 获取内部存储路径类 |
| getAppExternal | 获取应用外部存储路径类 |
| getSDCard | 获取 SDCard 外部存储路径类 |
| isExternalStorageManager | 是否获得 MANAGE_EXTERNAL_STORAGE 权限 |
| checkExternalStorageAndIntentSetting | 检查是否有 MANAGE_EXTERNAL_STORAGE 权限并跳转设置页面 |
| isSDCardEnable | 判断 SDCard 是否正常挂载 |
| getSDCardFile | 获取 SDCard 外部存储路径 ( path /storage/emulated/0/ ) |
| getSDCardPath | 获取 SDCard 外部存储路径 ( path /storage/emulated/0/ ) |
| getExternalStoragePublicPath | 获取 SDCard 外部存储文件路径 ( path /storage/emulated/0/ ) |
| getExternalStoragePublicDir | 获取 SDCard 外部存储文件路径 ( path /storage/emulated/0/ ) |
| getMusicPath | 获取 SDCard 外部存储音乐路径 ( path /storage/emulated/0/Music ) |
| getMusicDir | 获取 SDCard 外部存储音乐路径 ( path /storage/emulated/0/Music ) |
| getPodcastsPath | 获取 SDCard 外部存储播客路径 ( path /storage/emulated/0/Podcasts ) |
| getPodcastsDir | 获取 SDCard 外部存储播客路径 ( path /storage/emulated/0/Podcasts ) |
| getRingtonesPath | 获取 SDCard 外部存储铃声路径 ( path /storage/emulated/0/Ringtones ) |
| getRingtonesDir | 获取 SDCard 外部存储铃声路径 ( path /storage/emulated/0/Ringtones ) |
| getAlarmsPath | 获取 SDCard 外部存储闹铃路径 ( path /storage/emulated/0/Alarms ) |
| getAlarmsDir | 获取 SDCard 外部存储闹铃路径 ( path /storage/emulated/0/Alarms ) |
| getNotificationsPath | 获取 SDCard 外部存储通知路径 ( path /storage/emulated/0/Notifications ) |
| getNotificationsDir | 获取 SDCard 外部存储通知路径 ( path /storage/emulated/0/Notifications ) |
| getPicturesPath | 获取 SDCard 外部存储图片路径 ( path /storage/emulated/0/Pictures ) |
| getPicturesDir | 获取 SDCard 外部存储图片路径 ( path /storage/emulated/0/Pictures ) |
| getMoviesPath | 获取 SDCard 外部存储影片路径 ( path /storage/emulated/0/Movies ) |
| getMoviesDir | 获取 SDCard 外部存储影片路径 ( path /storage/emulated/0/Movies ) |
| getDownloadPath | 获取 SDCard 外部存储下载路径 ( path /storage/emulated/0/Download ) |
| getDownloadDir | 获取 SDCard 外部存储下载路径 ( path /storage/emulated/0/Download ) |
| getDCIMPath | 获取 SDCard 外部存储数码相机图片路径 ( path /storage/emulated/0/DCIM ) |
| getDCIMDir | 获取 SDCard 外部存储数码相机图片路径 ( path /storage/emulated/0/DCIM ) |
| getDocumentsPath | 获取 SDCard 外部存储文档路径 ( path /storage/emulated/0/Documents ) |
| getDocumentsDir | 获取 SDCard 外部存储文档路径 ( path /storage/emulated/0/Documents ) |
| getAudiobooksPath | 获取 SDCard 外部存储有声读物路径 ( path /storage/emulated/0/Audiobooks ) |
| getAudiobooksDir | 获取 SDCard 外部存储有声读物路径 ( path /storage/emulated/0/Audiobooks ) |
| getAppDataPath | 获取应用外部存储数据路径 ( path /storage/emulated/0/Android/data/package ) |
| getAppDataDir | 获取应用外部存储数据路径 ( path /storage/emulated/0/Android/data/package ) |
| getAppCachePath | 获取应用外部存储缓存路径 ( path /storage/emulated/0/Android/data/package/cache ) |
| getAppCacheDir | 获取应用外部存储缓存路径 ( path /storage/emulated/0/Android/data/package/cache ) |
| getExternalFilesPath | 获取应用外部存储文件路径 ( path /storage/emulated/0/Android/data/package/files ) |
| getExternalFilesDir | 获取应用外部存储文件路径 ( path /storage/emulated/0/Android/data/package/files ) |
| getAppFilesPath | 获取应用外部存储文件路径 ( path /storage/emulated/0/Android/data/package/files ) |
| getAppFilesDir | 获取应用外部存储文件路径 ( path /storage/emulated/0/Android/data/package/files ) |
| getAppMusicPath | 获取应用外部存储音乐路径 ( path /storage/emulated/0/Android/data/package/files/Music ) |
| getAppMusicDir | 获取应用外部存储音乐路径 ( path /storage/emulated/0/Android/data/package/files/Music ) |
| getAppPodcastsPath | 获取应用外部存储播客路径 ( path /storage/emulated/0/Android/data/package/files/Podcasts ) |
| getAppPodcastsDir | 获取应用外部存储播客路径 ( path /storage/emulated/0/Android/data/package/files/Podcasts ) |
| getAppRingtonesPath | 获取应用外部存储铃声路径 ( path /storage/emulated/0/Android/data/package/files/Ringtones ) |
| getAppRingtonesDir | 获取应用外部存储铃声路径 ( path /storage/emulated/0/Android/data/package/files/Ringtones ) |
| getAppAlarmsPath | 获取应用外部存储闹铃路径 ( path /storage/emulated/0/Android/data/package/files/Alarms ) |
| getAppAlarmsDir | 获取应用外部存储闹铃路径 ( path /storage/emulated/0/Android/data/package/files/Alarms ) |
| getAppNotificationsPath | 获取应用外部存储通知路径 ( path /storage/emulated/0/Android/data/package/files/Notifications ) |
| getAppNotificationsDir | 获取应用外部存储通知路径 ( path /storage/emulated/0/Android/data/package/files/Notifications ) |
| getAppPicturesPath | 获取应用外部存储图片路径 ( path /storage/emulated/0/Android/data/package/files/Pictures ) |
| getAppPicturesDir | 获取应用外部存储图片路径 ( path /storage/emulated/0/Android/data/package/files/Pictures ) |
| getAppMoviesPath | 获取应用外部存储影片路径 ( path /storage/emulated/0/Android/data/package/files/Movies ) |
| getAppMoviesDir | 获取应用外部存储影片路径 ( path /storage/emulated/0/Android/data/package/files/Movies ) |
| getAppDownloadPath | 获取应用外部存储下载路径 ( path /storage/emulated/0/Android/data/package/files/Download ) |
| getAppDownloadDir | 获取应用外部存储下载路径 ( path /storage/emulated/0/Android/data/package/files/Download ) |
| getAppDCIMPath | 获取应用外部存储数码相机图片路径 ( path /storage/emulated/0/Android/data/package/files/DCIM ) |
| getAppDCIMDir | 获取应用外部存储数码相机图片路径 ( path /storage/emulated/0/Android/data/package/files/DCIM ) |
| getAppDocumentsPath | 获取应用外部存储文档路径 ( path /storage/emulated/0/Android/data/package/files/Documents ) |
| getAppDocumentsDir | 获取应用外部存储文档路径 ( path /storage/emulated/0/Android/data/package/files/Documents ) |
| getAppAudiobooksPath | 获取应用外部存储有声读物路径 ( path /storage/emulated/0/Android/data/package/files/Audiobooks ) |
| getAppAudiobooksDir | 获取应用外部存储有声读物路径 ( path /storage/emulated/0/Android/data/package/files/Audiobooks ) |
| getAppObbPath | 获取应用外部存储 OBB 路径 ( path /storage/emulated/0/Android/obb/package ) |
| getAppObbDir | 获取应用外部存储 OBB 路径 ( path /storage/emulated/0/Android/obb/package ) |
| getRootPath | 获取 Android 系统根目录 ( path /system ) |
| getRootDirectory | 获取 Android 系统根目录 ( path /system ) |
| getDataPath | 获取 data 目录 ( path /data ) |
| getDataDirectory | 获取 data 目录 ( path /data ) |
| getDownloadCachePath | 获取下载缓存目录 ( path data/cache ) |
| getDownloadCacheDirectory | 获取下载缓存目录 ( path data/cache ) |
| getAppCodeCachePath | 获取应用内部存储代码缓存路径 ( path /data/data/package/code_cache ) |
| getAppCodeCacheDir | 获取应用内部存储代码缓存路径 ( path /data/data/package/code_cache ) |
| getAppDbsPath | 获取应用内部存储数据库路径 ( path /data/data/package/databases ) |
| getAppDbsDir | 获取应用内部存储数据库路径 ( path /data/data/package/databases ) |
| getAppDbPath | 获取应用内部存储数据库路径 ( path /data/data/package/databases/name ) |
| getAppDbFile | 获取应用内部存储数据库路径 ( path /data/data/package/databases/name ) |
| getAppSpPath | 获取应用内部存储 SP 路径 ( path /data/data/package/shared_prefs ) |
| getAppSpDir | 获取应用内部存储 SP 路径 ( path /data/data/package/shared_prefs ) |
| getAppSpFile | 获取应用内部存储 SP 路径 ( path /data/data/package/shared_prefs ) |
| getAppNoBackupFilesPath | 获取应用内部存储未备份文件路径 ( path /data/data/package/no_backup ) |
| getAppNoBackupFilesDir | 获取应用内部存储未备份文件路径 ( path /data/data/package/no_backup ) |
* **手机相关工具类 ->** [PhoneUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/PhoneUtils.java)
| 方法 | 注释 |
| :- | :- |
| isPhone | 判断设备是否是手机 |
| getSimState | 获取 SIM 卡状态 |
| isSimReady | 判断是否装载 SIM 卡 |
| getSimCountryIso | 获取 SIM 卡运营商的国家代码 |
| getNetworkCountryIso | 获取 SIM 卡注册的网络运营商的国家代码 |
| getSimCountry | 获取 SIM 卡运营商的国家代码 |
| checkSimCountry | 判断 SIM 卡运营商是否国内 |
| getMEID | 获取 MEID 码 |
| getIMEI | 获取 IMEI 码 |
| getIMSI | 获取 IMSI 码 |
| getSimOperatorName | 获取 SIM 卡运营商名称 ( 如: 中国移动、如中国联通、中国电信 ) |
| getSimOperator | 获取 SIM 卡运营商 MCC + MNC |
| getChinaOperatorByIMSI | 通过 IMSI 获取中国运营商简称 |
| getChinaOperatorBySimOperator | 获取 SIM 卡中国运营商简称 |
| getPhoneType | 获取手机类型 |
| getDeviceId | 获取设备 id |
| getAndroidId | 获取 Android id |
| getSerialNumber | 获取设备序列号 |
| getSimSerialNumber | 获取 SIM 卡序列号 |
| getUUID | 获取设备唯一 UUID |
| getPhoneStatus | 获取手机状态信息 |
| dial | 跳至拨号界面 |
| call | 拨打电话 |
| sendSms | 跳至发送短信界面 |
| sendSmsSilent | 发送短信 |
| getContactNum | 打开手机联系人界面点击联系人后便获取该号码 |
| getAllContactInfo | 获取手机联系人信息 |
| getAllContactInfo2 | 获取手机联系人信息 |
| getAllSMS | 获取手机短信并保存到 xml 中 |
* **电源管理工具类 ->** [PowerManagerUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/PowerManagerUtils.java)
| 方法 | 注释 |
| :- | :- |
| getInstance | 获取 PowerManagerUtils 实例 |
| isScreenOn | 屏幕是否打开 ( 亮屏 ) |
| turnScreenOn | 唤醒 / 点亮 屏幕 |
| turnScreenOff | 释放屏幕锁 ( 允许休眠时间自动黑屏 ) |
| getWakeLock | 获取 PowerManager.WakeLock |
| setWakeLock | 设置 PowerManager.WakeLock |
| getPowerManager | 获取 PowerManager |
| setPowerManager | 设置 PowerManager |
| setBright | 设置屏幕常亮 |
| setWakeLockToBright | 设置 WakeLock 常亮 |
* **进程相关工具类 ->** [ProcessUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/ProcessUtils.java)
| 方法 | 注释 |
| :- | :- |
| kill | 销毁自身进程 |
| myPid | 获取自身进程 id |
| isCurProcess | 判断是否当前进程 |
| getCurProcessName | 获取当前进程名 |
| getProcessName | 获取进程 id 对应的进程名 |
| getPid | 根据包名获取进程 id |
| getRunningAppProcessInfo | 根据进程 id 获取进程信息 |
| getForegroundProcessName | 获取前台线程包名 |
| getAllBackgroundProcesses | 获取后台服务进程 |
| killAllBackgroundProcesses | 杀死所有的后台服务进程 |
| killBackgroundProcesses | 杀死后台服务进程 |
* **RecyclerView 工具类 ->** [RecyclerViewUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/RecyclerViewUtils.java)
| 方法 | 注释 |
| :- | :- |
| getRecyclerView | 获取 RecyclerView |
| getLayoutParams | 获取 RecyclerView Item View LayoutParams |
| setLayoutManager | 设置 RecyclerView LayoutManager |
| getLayoutManager | 获取 RecyclerView LayoutManager |
| getLinearLayoutManager | 获取 LinearLayoutManager |
| getGridLayoutManager | 获取 GridLayoutManager |
| getStaggeredGridLayoutManager | 获取 StaggeredGridLayoutManager |
| setSpanCount | 设置 GridLayoutManager SpanCount |
| getSpanCount | 获取 GridLayoutManager SpanCount |
| getPosition | 获取 RecyclerView 对应 Item View 索引 |
| findViewByPosition | 获取 RecyclerView 对应索引 Item View |
| findFirstCompletelyVisibleItemPosition | 获取 RecyclerView 第一条完全显示 Item 索引 |
| findFirstCompletelyVisibleItemPositions | 获取 RecyclerView 第一条完全显示 Item 索引数组 |
| findLastCompletelyVisibleItemPosition | 获取 RecyclerView 最后一条完全显示 Item 索引 |
| findLastCompletelyVisibleItemPositions | 获取 RecyclerView 最后一条完全显示 Item 索引数组 |
| findFirstVisibleItemPosition | 获取 RecyclerView 第一条显示 Item 索引 |
| findFirstVisibleItemPositions | 获取 RecyclerView 第一条显示 Item 索引数组 |
| findLastVisibleItemPosition | 获取 RecyclerView 最后一条显示 Item 索引 |
| findLastVisibleItemPositions | 获取 RecyclerView 最后一条显示 Item 索引数组 |
| setOrientation | 设置 RecyclerView Orientation |
| getOrientation | 获取 RecyclerView Orientation |
| canScrollVertically | 校验 RecyclerView Orientation 是否为 VERTICAL |
| canScrollHorizontally | 校验 RecyclerView Orientation 是否为 HORIZONTAL |
| setAdapter | 设置 RecyclerView Adapter |
| getAdapter | 获取 RecyclerView Adapter |
| getItemCount | 获取 Adapter ItemCount |
| getItemId | 获取 Adapter 指定索引 Item Id |
| getItemViewType | 获取 Adapter 指定索引 Item Type |
| notifyItemRemoved | RecyclerView notifyItemRemoved |
| notifyItemInserted | RecyclerView notifyItemInserted |
| notifyItemMoved | RecyclerView notifyItemMoved |
| notifyDataSetChanged | RecyclerView notifyDataSetChanged |
| attachLinearSnapHelper | 设置 RecyclerView LinearSnapHelper |
| attachPagerSnapHelper | 设置 RecyclerView PagerSnapHelper |
| getItemDecorationCount | 获取 RecyclerView ItemDecoration 总数 |
| getItemDecorationAt | 获取 RecyclerView ItemDecoration |
| addItemDecoration | 添加 RecyclerView ItemDecoration |
| removeItemDecoration | 移除 RecyclerView ItemDecoration |
| removeItemDecorationAt | 移除 RecyclerView ItemDecoration |
| removeAllItemDecoration | 移除 RecyclerView 全部 ItemDecoration |
| setOnScrollListener | 设置 RecyclerView ScrollListener |
| addOnScrollListener | 添加 RecyclerView ScrollListener |
| removeOnScrollListener | 移除 RecyclerView ScrollListener |
| clearOnScrollListeners | 清空 RecyclerView ScrollListener |
| getScrollState | 获取 RecyclerView 滑动状态 |
| isNestedScrollingEnabled | 获取 RecyclerView 嵌套滚动开关 |
| setNestedScrollingEnabled | 设置 RecyclerView 嵌套滚动开关 |
| requestChildRectangleOnScreen | requestChildRectangleOnScreen |
* **APK Resource 工具类 ->** [ResourcePluginUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/ResourcePluginUtils.java)
| 方法 | 注释 |
| :- | :- |
| invokeByPackageName | 通过 packageName 获取 APK Resources |
| invokeByAPKPath | 通过 APK 文件获取 APK Resources |
| getResourceAssist | 获取 Resources 辅助类 |
| getResources | 获取 Resources |
| getPackageName | 获取 APK 包名 |
| getAPKPath | 获取 APK 文件路径 |
| getApkInfoItem | 获取 APK 信息 Item |
| getDisplayMetrics | 获取 DisplayMetrics |
| getConfiguration | 获取 Configuration |
| getAssets | 获取 AssetManager |
| getIdentifier | 获取资源 id |
| getResourceName | 获取给定资源标识符的全名 |
| getStringId | 获取 String id |
| getString | 获取 String |
| getDimenId | 获取 Dimension id |
| getDimension | 获取 Dimension |
| getDimensionInt | 获取 Dimension |
| getColorId | 获取 Color id |
| getColor | 获取 Color |
| getDrawableId | 获取 Drawable id |
| getDrawable | 获取 Drawable |
| getNinePatchDrawable | 获取 .9 Drawable |
| getBitmap | 获取 Bitmap |
| getMipmapId | 获取 Mipmap id |
| getDrawableMipmap | 获取 Mipmap Drawable |
| getNinePatchDrawableMipmap | 获取 Mipmap .9 Drawable |
| getBitmapMipmap | 获取 Mipmap Bitmap |
| getAnimId | 获取 Anim id |
| getAnimationXml | 获取 Animation Xml |
| getAnimation | 获取 Animation |
| getBooleanId | 获取 Boolean id |
| getBoolean | 获取 Boolean |
| getIntegerId | 获取 Integer id |
| getInteger | 获取 Integer |
| getArrayId | 获取 Array id |
| getIntArray | 获取 int[] |
| getStringArray | 获取 String[] |
| getTextArray | 获取 CharSequence[] |
| getId | 获取 id ( view ) |
| getLayoutId | 获取 Layout id |
| getMenuId | 获取 Menu id |
| getRawId | 获取 Raw id |
| getAttrId | 获取 Attr id |
| getStyleId | 获取 Style id |
| getStyleableId | 获取 Styleable id |
| getAnimatorId | 获取 Animator id |
| getXmlId | 获取 Xml id |
| getInterpolatorId | 获取 Interpolator id |
| getPluralsId | 获取 Plurals id |
| getColorStateList | 获取 ColorStateList |
| getColorDrawable | 获取十六进制颜色值 Drawable |
| open | 获取 AssetManager 指定资源 InputStream |
| openFd | 获取 AssetManager 指定资源 AssetFileDescriptor |
| openNonAssetFd | 获取 AssetManager 指定资源 AssetFileDescriptor |
| openRawResource | 获取对应资源 InputStream |
| openRawResourceFd | 获取对应资源 AssetFileDescriptor |
| readBytesFromAssets | 获取 Assets 资源文件数据 |
| readStringFromAssets | 获取 Assets 资源文件数据 |
| readBytesFromRaw | 获取 Raw 资源文件数据 |
| readStringFromRaw | 获取 Raw 资源文件数据 |
| geFileToListFromAssets | 获取 Assets 资源文件数据 ( 返回 List 一行的全部内容属于一个索引 ) |
| geFileToListFromRaw | 获取 Raw 资源文件数据 ( 返回 List 一行的全部内容属于一个索引 ) |
| saveAssetsFormFile | 获取 Assets 资源文件数据并保存到本地 |
| saveRawFormFile | 获取 Raw 资源文件数据并保存到本地 |
* **资源文件工具类 ->** [ResourceUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/ResourceUtils.java)
| 方法 | 注释 |
| :- | :- |
| getResources | 获取 Resources |
| getTheme | 获取 Resources.Theme |
| getContentResolver | 获取 ContentResolver |
| getDisplayMetrics | 获取 DisplayMetrics |
| getConfiguration | 获取 Configuration |
| getAssets | 获取 AssetManager |
| getIdentifier | 获取资源 id |
| getResourceName | 获取给定资源标识符的全名 |
| getStringId | 获取 String id |
| getString | 获取 String |
| getDimenId | 获取 Dimension id |
| getDimension | 获取 Dimension |
| getDimensionInt | 获取 Dimension |
| getColorId | 获取 Color id |
| getColor | 获取 Color |
| getDrawableId | 获取 Drawable id |
| getDrawable | 获取 Drawable |
| getNinePatchDrawable | 获取 .9 Drawable |
| getBitmap | 获取 Bitmap |
| getMipmapId | 获取 Mipmap id |
| getDrawableMipmap | 获取 Mipmap Drawable |
| getNinePatchDrawableMipmap | 获取 Mipmap .9 Drawable |
| getBitmapMipmap | 获取 Mipmap Bitmap |
| getAnimId | 获取 Anim id |
| getAnimationXml | 获取 Animation Xml |
| getAnimation | 获取 Animation |
| getBooleanId | 获取 Boolean id |
| getBoolean | 获取 Boolean |
| getIntegerId | 获取 Integer id |
| getInteger | 获取 Integer |
| getArrayId | 获取 Array id |
| getIntArray | 获取 int[] |
| getStringArray | 获取 String[] |
| getTextArray | 获取 CharSequence[] |
| getId | 获取 id ( view ) |
| getLayoutId | 获取 Layout id |
| getMenuId | 获取 Menu id |
| getRawId | 获取 Raw id |
| getAttrId | 获取 Attr id |
| getStyleId | 获取 Style id |
| getStyleableId | 获取 Styleable id |
| getAnimatorId | 获取 Animator id |
| getXmlId | 获取 Xml id |
| getInterpolatorId | 获取 Interpolator id |
| getPluralsId | 获取 Plurals id |
| getColorStateList | 获取 ColorStateList |
| getColorDrawable | 获取十六进制颜色值 Drawable |
| openInputStream | 获取 Uri InputStream |
| openOutputStream | 获取 Uri OutputStream |
| openFileDescriptor | 获取 Uri ParcelFileDescriptor |
| openAssetFileDescriptor | 获取 Uri AssetFileDescriptor |
| open | 获取 AssetManager 指定资源 InputStream |
| openFd | 获取 AssetManager 指定资源 AssetFileDescriptor |
| openNonAssetFd | 获取 AssetManager 指定资源 AssetFileDescriptor |
| openRawResource | 获取对应资源 InputStream |
| openRawResourceFd | 获取对应资源 AssetFileDescriptor |
| readBytesFromAssets | 获取 Assets 资源文件数据 |
| readStringFromAssets | 获取 Assets 资源文件数据 |
| readBytesFromRaw | 获取 Raw 资源文件数据 |
| readStringFromRaw | 获取 Raw 资源文件数据 |
| geFileToListFromAssets | 获取 Assets 资源文件数据 ( 返回 List 一行的全部内容属于一个索引 ) |
| geFileToListFromRaw | 获取 Raw 资源文件数据 ( 返回 List 一行的全部内容属于一个索引 ) |
| saveAssetsFormFile | 获取 Assets 资源文件数据并保存到本地 |
| saveRawFormFile | 获取 Raw 资源文件数据并保存到本地 |
* **ROM 相关工具类 ->** [ROMUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/ROMUtils.java)
| 方法 | 注释 |
| :- | :- |
| isHuawei | 判断 ROM 是否 Huawei ( 华为 ) |
| isHarmonyOS | 判断 ROM 是否 HarmonyOS ( 鸿蒙 ) |
| isHonor | 判断 ROM 是否 Honor ( 荣耀 ) |
| isVivo | 判断 ROM 是否 Vivo ( VIVO ) |
| isXiaomi | 判断 ROM 是否 Xiaomi ( 小米 ) |
| isOppo | 判断 ROM 是否 Oppo ( OPPO ) |
| isLeeco | 判断 ROM 是否 Leeco ( 乐视 ) |
| is360 | 判断 ROM 是否 360 ( 360 ) |
| isZte | 判断 ROM 是否 Zte ( 中兴 ) |
| isOneplus | 判断 ROM 是否 Oneplus ( 一加 ) |
| isNubia | 判断 ROM 是否 Nubia ( 努比亚 ) |
| isCoolpad | 判断 ROM 是否 Coolpad ( 酷派 ) |
| isLg | 判断 ROM 是否 Lg ( LG ) |
| isGoogle | 判断 ROM 是否 Google ( 谷歌 ) |
| isSamsung | 判断 ROM 是否 Samsung ( 三星 ) |
| isMeizu | 判断 ROM 是否 Meizu ( 魅族 ) |
| isLenovo | 判断 ROM 是否 Lenovo ( 联想 ) |
| isSmartisan | 判断 ROM 是否 Smartisan ( 锤子 ) |
| isHtc | 判断 ROM 是否 Htc ( HTC ) |
| isSony | 判断 ROM 是否 Sony ( 索尼 ) |
| isGionee | 判断 ROM 是否 Gionee ( 金立 ) |
| isMotorola | 判断 ROM 是否 Motorola ( 摩托罗拉 ) |
| getRomInfo | 获取 ROM 信息 |
| isRightRom | 是否匹配正确 ROM |
* **截图监听工具类 ->** [ScreenshotUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/ScreenshotUtils.java)
| 方法 | 注释 |
| :- | :- |
| getInstance | 获取 ScreenshotUtils 实例 |
| getStartListenTime | 获取开始监听时间 |
| isCheckPrefix | 是否判断文件名前缀 |
| setCheckPrefix | 设置是否判断文件名前缀 |
| getScreenshotChecker | 获取截图校验接口 |
| setScreenshotChecker | 设置截图校验接口 |
| getListener | 获取截图校验成功回调接口 |
| setListener | 设置截图校验成功回调接口 |
| startListener | 启动截图监听 |
| stopListener | 停止截图监听 |
| handleMediaContentChange | 内容变更处理 |
| handleMediaChecker | 内容校验处理 |
* **屏幕相关工具类 ->** [ScreenUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/ScreenUtils.java)
| 方法 | 注释 |
| :- | :- |
| getDisplayMetrics | 获取 DisplayMetrics |
| getScreenWidth | 获取屏幕宽度 |
| getScreenHeight | 获取屏幕高度 |
| getScreenWidthHeight | 获取屏幕宽高 |
| getScreenWidthHeightToPoint | 获取屏幕宽高 |
| getScreenSize | 获取屏幕分辨率 |
| getScreenSizeOfDevice | 获取屏幕英寸 ( 例 5.5 英寸 ) |
| getDensity | 获取屏幕密度 |
| getDensityDpi | 获取屏幕密度 dpi |
| getScaledDensity | 获取屏幕缩放密度 |
| getXDpi | 获取 X 轴 dpi |
| getYDpi | 获取 Y 轴 dpi |
| getWidthDpi | 获取宽度比例 dpi 基准 |
| getHeightDpi | 获取高度比例 dpi 基准 |
| getScreenInfo | 获取屏幕信息 |
| setWindowSecure | 设置禁止截屏 |
| isFullScreen | 是否屏幕为全屏 |
| setFullScreen | 设置屏幕为全屏 |
| setFullScreenNoTitle | 设置屏幕为全屏无标题 |
| setLandscape | 设置屏幕为横屏 |
| setPortrait | 设置屏幕为竖屏 |
| isLandscape | 判断是否横屏 |
| isPortrait | 判断是否竖屏 |
| toggleScreenOrientation | 切换屏幕方向 |
| getScreenRotation | 获取屏幕旋转角度 |
| isScreenLock | 判断是否锁屏 |
| isTablet | 判断是否是平板 |
| getStatusBarHeight | 获取 StatusBar 高度 |
| getStatusBarHeight2 | 获取 StatusBar 高度 |
| setSleepDuration | 设置进入休眠时长 |
| getSleepDuration | 获取进入休眠时长 |
| getNavigationBarHeight | 获取底部导航栏高度 |
| checkDeviceHasNavigationBar | 检测是否具有底部导航栏 |
* **SDCard 工具类 ->** [SDCardUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/SDCardUtils.java)
| 方法 | 注释 |
| :- | :- |
| isSDCardEnable | 判断 SDCard 是否正常挂载 |
| getSDCardFile | 获取 SDCard 外部存储路径 ( path /storage/emulated/0/ ) |
| getSDCardPath | 获取 SDCard 外部存储路径 ( path /storage/emulated/0/ ) |
| isSDCardEnablePath | 判断 SDCard 是否可用 |
| getSDCardPaths | 获取 SDCard 路径 |
| getAllBlockSize | 获取内置 SDCard 空间总大小 |
| getAllBlockSizeFormat | 获取内置 SDCard 空间总大小 |
| getAvailableBlocks | 获取内置 SDCard 空闲空间大小 |
| getAvailableBlocksFormat | 获取内置 SDCard 空闲空间大小 |
| getUsedBlocks | 获取内置 SDCard 已使用空间大小 |
| getUsedBlocksFormat | 获取内置 SDCard 已使用空间大小 |
| getBlockSizeInfos | 返回内置 SDCard 空间大小信息 |
* **服务相关工具类 ->** [ServiceUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/ServiceUtils.java)
| 方法 | 注释 |
| :- | :- |
| isServiceRunning | 判断服务是否运行 |
| getAllRunningService | 获取所有运行的服务 |
| startService | 启动服务 |
| stopService | 停止服务 |
| bindService | 绑定服务 |
| unbindService | 解绑服务 |
* **Shape 工具类 ->** [ShapeUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/ShapeUtils.java)
| 方法 | 注释 |
| :- | :- |
| getDrawable | 获取 GradientDrawable |
| setDrawable | 设置 Drawable 背景 |
| getOrientation | 获取渐变角度 |
| newShape | 创建 Shape |
| setAlpha | 设置透明度 |
| setShape | 设置形状类型 |
| setInnerRadius | 设置内环半径 |
| setInnerRadiusRatio | 设置内环半径相对于环的宽度比例 |
| setThickness | 设置环厚度 |
| setThicknessRatio | 设置环厚度相对于环的宽度比例 |
| setColor | 设置背景填充颜色 |
| setStroke | 设置描边 |
| setCornerRadius | 设置圆角 |
| setCornerRadiusLeft | 设置 leftTop、leftBottom 圆角 |
| setCornerRadiusRight | 设置 rightTop、rightBottom 圆角 |
| setCornerRadiusTop | 设置 leftTop、rightTop 圆角 |
| setCornerRadiusBottom | 设置 leftBottom、rightBottom 圆角 |
| setColors | 设置渐变颜色 |
| setGradientType | 设置渐变类型 |
| setOrientation | 设置渐变角度 |
| setGradientCenter | 设置渐变中心坐标值 |
| setGradientRadius | 设置渐变色半径 |
| setUseLevel | 是否使用 LevelListDrawable |
| setPadding | 设置内边距 |
| setSize | 设置 shape drawable 宽高 |
* **Shell 命令工具类 ->** [ShellUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/ShellUtils.java)
| 方法 | 注释 |
| :- | :- |
| execCmd | 执行 shell 命令 |
| isSuccess | 判断是否执行成功 |
| isSuccess2 | 判断是否执行成功 ( 判断 errorMsg ) |
| isSuccess3 | 判断是否执行成功 ( 判断 successMsg ) |
| isSuccess4 | 判断是否执行成功 ( 判断 successMsg ) , 并且 successMsg 是否包含某个字符串 |
* **快捷方式工具类 ->** [ShortCutUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/ShortCutUtils.java)
| 方法 | 注释 |
| :- | :- |
| hasShortcut | 检测是否存在桌面快捷方式 |
| getShortCutIntent | 获取桌面快捷方式点击 Intent |
| addShortcut | 创建桌面快捷方式 |
| deleteShortcut | 删除桌面快捷方式 |
* **签名工具类 ( 获取 APP 签名信息 ) ->** [SignaturesUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/SignaturesUtils.java)
| 方法 | 注释 |
| :- | :- |
| getAppSignature | 获取 APP Signature |
| signatureMD5 | 获取 MD5 签名 |
| signatureSHA1 | 获取签名 SHA1 加密字符串 |
| signatureSHA256 | 获取签名 SHA256 加密字符串 |
| isDebuggable | 判断 debug 签名还是 release 签名 |
| getX509Certificate | 获取证书对象 |
| printSignatureInfo | 打印签名信息 |
| getSignaturesFromApk | 从 APK 中读取签名 |
| getCertificateFromApk | 从 APK 中读取签名 |
* **大小工具类 ( dp, px, sp 转换、View 获取宽高等 ) ->** [SizeUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/SizeUtils.java)
| 方法 | 注释 |
| :- | :- |
| dp2px | dp 转 px |
| dp2pxf | dp 转 px ( float ) |
| px2dp | px 转 dp |
| px2dpf | px 转 dp ( float ) |
| sp2px | sp 转 px |
| sp2pxf | sp 转 px ( float ) |
| px2sp | px 转 sp |
| px2spf | px 转 sp ( float ) |
| applyDimension | 各种单位转换 ( 该方法存在于 TypedValue.applyDimension ) |
| forceGetViewSize | 在 onCreate 中获取视图的尺寸 ( 需回调 onGetSizeListener 接口, 在 onGetSize 中获取 View 宽高 ) |
| measureView | 测量 View |
| getMeasuredWidth | 获取 View 的宽度 |
| getMeasuredHeight | 获取 View 的高度 |
* **Snackbar 工具类 ->** [SnackbarUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/SnackbarUtils.java)
| 方法 | 注释 |
| :- | :- |
| with | 获取 SnackbarUtils 对象 |
| getStyle | 获取样式 |
| setStyle | 设置样式 |
| getSnackbar | 获取 Snackbar |
| getSnackbarView | 获取 Snackbar View |
| getTextView | 获取 Snackbar TextView ( snackbar_text ) |
| getActionButton | 获取 Snackbar Action Button ( snackbar_action ) |
| getSnackbarLayout | 获取 Snackbar.SnackbarLayout ( FrameLayout ) |
| getSnackbarContentLayout | 获取 SnackbarContentLayout ( LinearLayout ( messageView、actionView ) ) |
| addView | 向 Snackbar 布局中添加 View ( Google 不建议, 复杂的布局应该使用 DialogFragment 进行展示 ) |
| setCallback | 设置 Snackbar 展示完成、隐藏完成 的监听 |
| setAction | 设置 Action 按钮文字内容及点击监听 |
| dismiss | 关闭 Snackbar |
| showShort | 显示 Short Snackbar |
| showLong | 显示 Long Snackbar |
| showIndefinite | 显示 Indefinite Snackbar ( 无限时, 一直显示 ) |
| setSnackbarStyle | 设置 Snackbar 样式配置 |
| getShadowMargin | 获取阴影边距 |
| setShadowMargin | 设置阴影边距 |
| isAutoCalc | 判断是否自动计算边距 ( 如: 显示在 View 下面, 但是下方距离不够, 自动设置为在 View 上方显示 ) |
| setAutoCalc | 设置是否自动计算边距 ( 如: 显示在 View 下面, 但是下方距离不够, 自动设置为在 View 上方显示 ) |
| above | 设置 Snackbar 显示在指定 View 的上方 |
| bellow | 设置 Snackbar 显示在指定 View 的下方 |
* **SpannableString 工具类 ->** [SpanUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/SpanUtils.java)
| 方法 | 注释 |
| :- | :- |
| with | 获取持有 TextView SpannableString Utils |
| setFlag | 设置标识 |
| setForegroundColor | 设置前景色 |
| setBackgroundColor | 设置背景色 |
| setLineHeight | 设置行高 |
| setQuoteColor | 设置引用线的颜色 |
| setLeadingMargin | 设置缩进 |
| setBullet | 设置列表标记 |
| setFontSize | 设置字体尺寸 |
| setFontProportion | 设置字体比例 |
| setFontXProportion | 设置字体横向比例 |
| setStrikethrough | 设置删除线 |
| setUnderline | 设置下划线 |
| setSuperscript | 设置上标 |
| setSubscript | 设置下标 |
| setBold | 设置粗体 |
| setItalic | 设置斜体 |
| setBoldItalic | 设置粗斜体 |
| setFontFamily | 设置字体系列 |
| setTypeface | 设置字体 |
| setHorizontalAlign | 设置水平对齐 |
| setVerticalAlign | 设置垂直对齐 |
| setClickSpan | 设置点击事件 |
| setUrl | 设置超链接 |
| setBlur | 设置模糊 |
| setShader | 设置着色器 |
| setShadow | 设置阴影 |
| setSpans | 自定义 setSpan 参数 |
| append | 追加文本 |
| appendLine | 追加换行 |
| appendImage | 追加 Image |
| appendSpace | 追加空格 |
| get | 获取 SpannableStringBuilder |
| create | 创建 SpannableStringBuilder |
* **颜色状态列表工具类 ->** [StateListUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/StateListUtils.java)
| 方法 | 注释 |
| :- | :- |
| getColorStateList | 获取 ColorStateList |
| createColorStateList | 创建 ColorStateList |
| newSelector | 创建 StateListDrawable |
* **TextView 工具类 ->** [TextViewUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/TextViewUtils.java)
| 方法 | 注释 |
| :- | :- |
| getTextView | 获取 TextView |
| getHint | 获取 Hint 文本 |
| getHints | 获取多个 TextView Hint 文本 |
| setHint | 设置 Hint 文本 |
| getHintTextColors | 获取 Hint 字体颜色 |
| setHintTextColor | 设置 Hint 字体颜色 |
| setHintTextColors | 设置多个 TextView Hint 字体颜色 |
| getText | 获取文本 |
| getTexts | 获取多个 TextView 文本 |
| setText | 设置文本 |
| setTexts | 设置多个 TextView 文本 |
| getTextColors | 获取字体颜色 |
| setTextColor | 设置字体颜色 |
| setTextColors | 设置多个 TextView 字体颜色 |
| setHtmlText | 设置 Html 内容 |
| setHtmlTexts | 设置多个 TextView Html 内容 |
| getTypeface | 获取字体 |
| setTypeface | 设置字体 |
| setTextSizeByPx | 设置字体大小 ( px 像素 ) |
| setTextSizeBySp | 设置字体大小 ( sp 缩放像素 ) |
| setTextSizeByDp | 设置字体大小 ( dp 与设备无关的像素 ) |
| setTextSizeByIn | 设置字体大小 ( inches 英寸 ) |
| setTextSize | 设置字体大小 |
| setTextSizes | 设置多个 TextView 字体大小 |
| getTextSize | 获取 TextView 字体大小 ( px ) |
| clearFlags | 清空 flags |
| setPaintFlags | 设置 TextView flags |
| setAntiAliasFlag | 设置 TextView 抗锯齿 flags |
| setBold | 设置 TextView 是否加粗 |
| setUnderlineText | 设置下划线 |
| setStrikeThruText | 设置中划线 |
| getLetterSpacing | 获取文字水平间距 |
| setLetterSpacing | 设置文字水平间距 |
| getLineSpacingExtra | 获取文字行间距 ( 行高 ) |
| getLineSpacingMultiplier | 获取文字行间距倍数 |
| setLineSpacing | 设置文字行间距 ( 行高 ) |
| setLineSpacingAndMultiplier | 设置文字行间距 ( 行高 ) 、行间距倍数 |
| getTextScaleX | 获取字体水平方向的缩放 |
| setTextScaleX | 设置字体水平方向的缩放 |
| getIncludeFontPadding | 是否保留字体留白间隙区域 |
| setIncludeFontPadding | 设置是否保留字体留白间隙区域 |
| getInputType | 获取输入类型 |
| setInputType | 设置输入类型 |
| getImeOptions | 获取软键盘右下角按钮类型 |
| setImeOptions | 设置软键盘右下角按钮类型 |
| setLines | 设置行数 |
| getMaxLines | 获取最大行数 |
| setMaxLines | 设置最大行数 |
| getMinLines | 获取最小行数 |
| setMinLines | 设置最小行数 |
| getMaxEms | 获取最大字符宽度限制 |
| setMaxEms | 设置最大字符宽度限制 |
| getMinEms | 获取最小字符宽度限制 |
| setMinEms | 设置最小字符宽度限制 |
| setEms | 设置指定字符宽度 |
| setMaxLength | 设置长度限制 |
| setMaxLengthAndText | 设置长度限制, 并且设置内容 |
| getEllipsize | 获取 Ellipsize 效果 |
| setEllipsize | 设置 Ellipsize 效果 |
| getAutoLinkMask | 获取自动识别文本类型 |
| setAutoLinkMask | 设置自动识别文本链接 |
| setAllCaps | 设置文本全为大写 |
| getGravity | 获取 Gravity |
| setGravity | 设置 Gravity |
| getTransformationMethod | 获取文本视图显示转换 |
| setTransformationMethod | 设置文本视图显示转换 |
| getPaint | 获取 TextView Paint |
| getTextHeight | 获取字体高度 |
| getTextTopOffsetHeight | 获取字体顶部偏移高度 |
| getTextWidth | 计算字体宽度 |
| getCenterRectY | 获取画布中间居中位置 |
| reckonTextSizeByHeight | 通过需要的高度, 计算字体大小 |
| reckonTextSizeByWidth | 通过需要的宽度, 计算字体大小 ( 最接近该宽度的字体大小 ) |
| calcTextWidth | 计算第几位超过宽度 |
| calcTextLine | 计算文本换行行数 |
| getCompoundDrawables | 获取 CompoundDrawables |
| getCompoundDrawablePadding | 获取 CompoundDrawables Padding |
| setCompoundDrawablePadding | 设置 CompoundDrawables Padding |
| setCompoundDrawablesByLeft | 设置 Left CompoundDrawables |
| setCompoundDrawablesByTop | 设置 Top CompoundDrawables |
| setCompoundDrawablesByRight | 设置 Right CompoundDrawables |
| setCompoundDrawablesByBottom | 设置 Bottom CompoundDrawables |
| setCompoundDrawables | 设置 CompoundDrawables |
| setCompoundDrawablesWithIntrinsicBoundsByLeft | 设置 Left CompoundDrawables ( 按照原有比例大小显示图片 ) |
| setCompoundDrawablesWithIntrinsicBoundsByTop | 设置 Top CompoundDrawables ( 按照原有比例大小显示图片 ) |
| setCompoundDrawablesWithIntrinsicBoundsByRight | 设置 Right CompoundDrawables ( 按照原有比例大小显示图片 ) |
| setCompoundDrawablesWithIntrinsicBoundsByBottom | 设置 Bottom CompoundDrawables ( 按照原有比例大小显示图片 ) |
| setCompoundDrawablesWithIntrinsicBounds | 设置 CompoundDrawables ( 按照原有比例大小显示图片 ) |
| setAutoSizeTextTypeWithDefaults | 通过设置默认的自动调整大小配置, 决定是否自动缩放文本 |
| setAutoSizeTextTypeUniformWithConfiguration | 设置 TextView 自动调整字体大小配置 |
| setAutoSizeTextTypeUniformWithPresetSizes | 设置 TextView 自动调整如果预设字体大小范围有效则修改类型为 AUTO_SIZE_TEXT_TYPE_UNIFORM |
| getAutoSizeTextType | 获取 TextView 自动调整大小类型 |
| getAutoSizeStepGranularity | 获取 TextView 自动调整大小变动粒度 ( 跨度区间值 ) |
| getAutoSizeMinTextSize | 获取 TextView 自动调整最小字体大小 |
| getAutoSizeMaxTextSize | 获取 TextView 自动调整最大字体大小 |
| getAutoSizeTextAvailableSizes | 获取 TextView 自动调整大小预设范围数组 |
* **Uri 工具类 ->** [UriUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/UriUtils.java)
| 方法 | 注释 |
| :- | :- |
| getUriForFile | 获取 FileProvider File Uri |
| getUriForPath | 获取 FileProvider File Path Uri |
| getUriForFileToName | 获取 FileProvider File Path Uri ( 自动添加包名 ${applicationId} ) |
| getUriForString | 通过 String 获取 Uri |
| fromFile | 通过 File Path 创建 Uri |
| ofUri | 通过 String 获取 Uri |
| isUri | 判断是否 Uri |
| getUriScheme | 获取 Uri Scheme |
| isUriExists | 判断 Uri 路径资源是否存在 |
| getMediaUri | 通过 File 获取 Media Uri |
| copyByUri | 通过 Uri 复制文件 |
| getFilePathByUri | 通过 Uri 获取文件路径 |
| isExternalStorageDocument | 判读 Uri authority 是否为 ExternalStorage Provider |
| isDownloadsDocument | 判读 Uri authority 是否为 Downloads Provider |
| isMediaDocument | 判断 Uri authority 是否为 Media Provider |
| isGooglePhotosUri | 判断 Uri authority 是否为 Google Photos Provider |
| isAndroidResourceScheme | 判断 Uri Scheme 是否 ContentResolver.SCHEME_ANDROID_RESOURCE |
| isFileScheme | 判断 Uri Scheme 是否 ContentResolver.SCHEME_FILE |
| isContentScheme | 判断 Uri Scheme 是否 ContentResolver.SCHEME_CONTENT |
| isUriScheme | 判断是否指定的 Uri Scheme |
* **版本工具类 ->** [VersionUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/VersionUtils.java)
| 方法 | 注释 |
| :- | :- |
| getSDKVersion | 获取 SDK 版本 |
| isEclair | 是否在 2.1 版本及以上 |
| isFroyo | 是否在 2.2 版本及以上 |
| isGingerbread | 是否在 2.3 版本及以上 |
| isGingerbreadMR1 | 是否在 2.3.3 版本及以上 |
| isHoneycomb | 是否在 3.0 版本及以上 |
| isHoneycombMR1 | 是否在 3.1 版本及以上 |
| isIceCreamSandwich | 是否在 4.0 版本及以上 |
| isIceCreamSandwichMR1 | 是否在 4.0.3 版本及以上 |
| isJellyBean | 是否在 4.1 版本及以上 |
| isJellyBeanMR1 | 是否在 4.2 版本及以上 |
| isJellyBeanMR2 | 是否在 4.3 版本及以上 |
| isKitkat | 是否在 4.4.2 版本及以上 |
| isKitkat_Watch | 是否在 4.4W 版本及以上 |
| isLollipop | 是否在 5.0 版本及以上 |
| isLollipop_MR1 | 是否在 5.1 版本及以上 |
| isM | 是否在 6.0 版本及以上 |
| isN | 是否在 7.0 版本及以上 |
| isN_MR1 | 是否在 7.1.1 版本及以上 |
| isO | 是否在 8.0 版本及以上 |
| isO_MR1 | 是否在 8.1 版本及以上 |
| isP | 是否在 9.0 版本及以上 |
| isQ | 是否在 10.0 版本及以上 |
| isR | 是否在 11.0 版本及以上 |
| isS | 是否在 12.0 版本及以上 |
| isSV2 | 是否在 12.0 L 版本及以上 |
| isTiramisu | 是否在 13.0 版本及以上 |
| isUpsideDownCake | 是否在 14.0 版本及以上 |
| convertSDKVersion | 转换 SDK 版本 convertSDKVersion(31) = Android 12.0 |
| convertSDKVersionName | 转换 SDK 版本名字 convertSDKVersionName(31) = Android S |
* **震动相关工具类 ->** [VibrationUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/VibrationUtils.java)
| 方法 | 注释 |
| :- | :- |
| vibrate | 震动 |
| cancel | 取消震动 |
* **View 操作相关工具类 ->** [ViewUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/ViewUtils.java)
| 方法 | 注释 |
| :- | :- |
| getContext | 获取 View Context |
| getActivity | 获取 View Context 所属的 Activity |
| inflate | 获取 View |
| getId | 获取 View Id |
| setId | 设置 View Id |
| getParent | 获取指定 View 父布局 |
| getContentView | 获取 android.R.id.content View |
| getRootParent | 获取指定 View 根布局 ( 最底层布局 ) |
| getClipChildren | 获取是否限制子 View 在其边界内绘制 |
| setClipChildren | 设置是否限制子 View 在其边界内绘制 |
| getChildCount | 获取子 View 总数 |
| getChildAt | 获取指定索引 View |
| getChildAtLast | 获取最后一个索引 View |
| removeAllViews | 移除全部子 View |
| getChilds | 获取全部子 View |
| addView | 添加 View |
| getLayoutParams | 获取 LayoutParams |
| setLayoutParams | 设置 View LayoutParams |
| findViewById | 初始化 View |
| convertView | 转换 View |
| convertViewGroup | 转换 ViewGroup |
| isEmpty | 判断 View 是否为 null |
| isNotEmpty | 判断 View 是否不为 null |
| getWidthHeight | 获取 View 宽高 |
| setWidthHeight | 设置 View 宽度、高度 |
| setWeight | 设置 View weight 权重 |
| getWidthHeightExact | 获取 View 宽高 ( 准确 ) |
| getWidthHeightExact2 | 获取 View 宽高 ( 准确 ) |
| getLocationOnScreen | 获取 View 在屏幕中坐标区域 |
| getLocationInWindow | 获取 View 在父窗口中坐标区域 |
| getGlobalVisibleRect | 获取 View 在屏幕中可见的坐标区域 |
| getLocalVisibleRect | 获取 View 本身可见的坐标区域 |
| isCompletelyVisible | 判断 View 是否完全显示 |
| getWidth | 获取 View 宽度 |
| setWidth | 设置 View 宽度 |
| getHeight | 获取 View 高度 |
| setHeight | 设置 View 高度 |
| getMinimumHeight | 获取 View 最小高度 |
| setMinimumHeight | 设置 View 最小高度 |
| getMinimumWidth | 获取 View 最小宽度 |
| setMinimumWidth | 设置 View 最小宽度 |
| getAlpha | 获取 View 透明度 |
| setAlpha | 设置 View 透明度 |
| getTag | 获取 View TAG |
| setTag | 设置 View TAG |
| scrollTo | View 内容滚动位置 ( 相对于初始位置移动 ) |
| scrollBy | View 内部滚动位置 ( 相对于上次移动的最后位置移动 ) |
| setScrollX | 设置 View 滑动的 X 轴坐标 |
| setScrollY | 设置 View 滑动的 Y 轴坐标 |
| getScrollX | 获取 View 滑动的 X 轴坐标 |
| getScrollY | 获取 View 滑动的 Y 轴坐标 |
| setDescendantFocusability | 设置 ViewGroup 和其子控件两者之间的关系 |
| setOverScrollMode | 设置 View 滚动模式 |
| isHorizontalScrollBarEnabled | 是否绘制横向滚动条 |
| setHorizontalScrollBarEnabled | 设置是否绘制横向滚动条 |
| isVerticalScrollBarEnabled | 是否绘制垂直滚动条 |
| setVerticalScrollBarEnabled | 设置是否绘制垂直滚动条 |
| isScrollContainer | 获取 View 是否需要滚动效应 |
| setScrollContainer | 设置 View 滚动效应 |
| getNextFocusForwardId | 下一个获取焦点的 View id |
| setNextFocusForwardId | 设置下一个获取焦点的 View id |
| getNextFocusDownId | 向下移动焦点时, 下一个获取焦点的 View id |
| setNextFocusDownId | 设置向下移动焦点时, 下一个获取焦点的 View id |
| getNextFocusLeftId | 向左移动焦点时, 下一个获取焦点的 View id |
| setNextFocusLeftId | 设置向左移动焦点时, 下一个获取焦点的 View id |
| getNextFocusRightId | 向右移动焦点时, 下一个获取焦点的 View id |
| setNextFocusRightId | 设置向右移动焦点时, 下一个获取焦点的 View id |
| getNextFocusUpId | 向上移动焦点时, 下一个获取焦点的 View id |
| setNextFocusUpId | 设置向上移动焦点时, 下一个获取焦点的 View id |
| getRotation | 获取 View 旋转度数 |
| setRotation | 设置 View 旋转度数 |
| getRotationX | 获取 View 水平旋转度数 |
| setRotationX | 设置 View 水平旋转度数 |
| getRotationY | 获取 View 竖直旋转度数 |
| setRotationY | 设置 View 竖直旋转度数 |
| getScaleX | 获取 View 水平方向缩放比例 |
| setScaleX | 设置 View 水平方向缩放比例 |
| getScaleY | 获取 View 竖直方向缩放比例 |
| setScaleY | 设置 View 竖直方向缩放比例 |
| getTextAlignment | 获取文本的显示方式 |
| setTextAlignment | 设置文本的显示方式 |
| getTextDirection | 获取文本的显示方向 |
| setTextDirection | 设置文本的显示方向 |
| getPivotX | 获取水平方向偏转量 |
| setPivotX | 设置水平方向偏转量 |
| getPivotY | 获取竖直方向偏转量 |
| setPivotY | 设置竖直方向偏转量 |
| getTranslationX | 获取水平方向的移动距离 |
| setTranslationX | 设置水平方向的移动距离 |
| getTranslationY | 获取竖直方向的移动距离 |
| setTranslationY | 设置竖直方向的移动距离 |
| getX | 获取 X 轴位置 |
| setX | 设置 X 轴位置 |
| getY | 获取 Y 轴位置 |
| setY | 设置 Y 轴位置 |
| getLayerType | 获取 View 硬件加速类型 |
| setLayerType | 设置 View 硬件加速类型 |
| requestLayout | 请求重新对 View 布局 |
| requestFocus | View 请求获取焦点 |
| clearFocus | View 清除焦点 |
| findFocus | 获取 View 里获取焦点的 View |
| isFocused | 获取是否当前 View 就是焦点 View |
| hasFocus | 获取当前 View 是否是焦点 View 或者子 View 里面有焦点 View |
| hasFocusable | 获取当前 View 或者子 View 是否可以获取焦点 |
| isFocusableInTouchMode | 获取 View 是否在触摸模式下获得焦点 |
| setFocusableInTouchMode | 设置 View 是否在触摸模式下获得焦点 |
| isFocusable | 获取 View 是否可以获取焦点 |
| setFocusable | 设置 View 是否可以获取焦点 |
| toggleFocusable | 切换获取焦点状态 |
| isSelected | 获取 View 是否选中 |
| setSelected | 设置 View 是否选中 |
| toggleSelected | 切换选中状态 |
| isEnabled | 获取 View 是否启用 |
| setEnabled | 设置 View 是否启用 |
| toggleEnabled | 切换 View 是否启用状态 |
| isClickable | 获取 View 是否可以点击 |
| setClickable | 设置 View 是否可以点击 |
| toggleClickable | 切换 View 是否可以点击状态 |
| isLongClickable | 获取 View 是否可以长按 |
| setLongClickable | 设置 View 是否可以长按 |
| toggleLongClickable | 切换 View 是否可以长按状态 |
| isShown | 判断 View 是否显示 ( 如果存在父级则判断父级 ) |
| isShowns | 判断 View 是否都显示 ( 如果存在父级则判断父级 ) |
| isVisibility | 判断 View 是否显示 |
| isVisibilitys | 判断 View 是否都显示 |
| isVisibilityIN | 判断 View 是否隐藏占位 |
| isVisibilityINs | 判断 View 是否都隐藏占位 |
| isVisibilityGone | 判断 View 是否隐藏 |
| isVisibilityGones | 判断 View 是否都隐藏 |
| getVisibility | 获取显示的状态 ( View.VISIBLE : View.GONE ) |
| getVisibilityIN | 获取显示的状态 ( View.VISIBLE : View.INVISIBLE ) |
| setVisibility | 设置 View 显示的状态 |
| setVisibilityIN | 设置 View 显示的状态 |
| setVisibilitys | 设置 View 显示的状态 |
| setVisibilityINs | 设置 View 显示的状态 |
| toggleVisibilitys | 切换 View 显示的状态 |
| reverseVisibilitys | 反转 View 显示的状态 |
| toggleView | 切换 View 状态 |
| toggleViews | 切换 View 状态 |
| removeSelfFromParent | 把自身从父 View 中移除 |
| isTouchInView | 判断触点是否落在该 View 上 |
| requestLayoutParent | View 请求更新 |
| measureView | 测量 View |
| getMeasuredWidth | 获取 View 的宽度 |
| getMeasuredHeight | 获取 View 的高度 |
| getLayoutGravity | 获取 View Layout Gravity |
| setLayoutGravity | 设置 View Layout Gravity |
| getMarginLeft | 获取 View Left Margin |
| getMarginTop | 获取 View Top Margin |
| getMarginRight | 获取 View Right Margin |
| getMarginBottom | 获取 View Bottom Margin |
| getMargin | 获取 View Margin |
| setMarginLeft | 设置 View Left Margin |
| setMarginTop | 设置 View Top Margin |
| setMarginRight | 设置 View Right Margin |
| setMarginBottom | 设置 View Bottom Margin |
| setMargin | 设置 Margin 边距 |
| getPaddingLeft | 获取 View Left Padding |
| getPaddingTop | 获取 View Top Padding |
| getPaddingRight | 获取 View Right Padding |
| getPaddingBottom | 获取 View Bottom Padding |
| getPadding | 获取 View Padding |
| setPaddingLeft | 设置 View Left Padding |
| setPaddingTop | 设置 View Top Padding |
| setPaddingRight | 设置 View Right Padding |
| setPaddingBottom | 设置 View Bottom Padding |
| setPadding | 设置 Padding 边距 |
| addRule | 设置 RelativeLayout View 布局规则 |
| removeRule | 移除 RelativeLayout View 布局规则 |
| getRule | 获取 RelativeLayout View 指定布局位置 View id |
| addRules | 设置多个 RelativeLayout View 布局规则 |
| removeRules | 移除多个 RelativeLayout View 布局规则 |
| setAnimation | 设置动画 |
| getAnimation | 获取动画 |
| clearAnimation | 清空动画 |
| startAnimation | 启动动画 |
| cancelAnimation | 取消动画 |
| setBackground | 设置背景图片 |
| setBackgroundColor | 设置背景颜色 |
| setBackgroundResource | 设置背景资源 |
| setBackgroundTintList | 设置背景着色颜色 |
| setBackgroundTintMode | 设置背景着色模式 |
| setForeground | 设置前景图片 |
| setForegroundGravity | 设置前景重心 |
| setForegroundTintList | 设置前景着色颜色 |
| setForegroundTintMode | 设置前景着色模式 |
| getBackground | 获取 View 背景 Drawable |
| getBackgroundTintList | 获取 View 背景着色颜色 |
| getBackgroundTintMode | 获取 View 背景着色模式 |
| getForeground | 获取 View 前景 Drawable |
| getForegroundGravity | 获取 View 前景重心 |
| getForegroundTintList | 获取 View 前景着色颜色 |
| getForegroundTintMode | 获取 View 前景着色模式 |
| setColorFilter | View 着色处理 |
| setProgressDrawable | 设置 ProgressBar 进度条样式 |
| setBarProgress | 设置 ProgressBar 进度值 |
| setBarMax | 设置 ProgressBar 最大值 |
| setBarValue | 设置 ProgressBar 最大值 |
| onWidthHeight | 获取宽高回调 |
* **壁纸工具类 ->** [WallpaperUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/WallpaperUtils.java)
| 方法 | 注释 |
| :- | :- |
| isWallpaperSupported | 是否支持壁纸 |
| isSetWallpaperAllowed | 是否支持设置壁纸 |
| hasResourceWallpaper | 判断当前壁纸是否使用给定的资源 Id |
| forgetLoadedWallpaper | 删除所有内部引用到最后加载的壁纸 |
| clear | 删除壁纸 ( 恢复为系统内置桌面壁纸 ) |
| clearWallpaper | 删除壁纸 ( 恢复为系统内置壁纸 ) |
| getWallpaperId | 获取当前壁纸 Id |
| getWallpaperInfo | 获取动态壁纸信息 |
| getWallpaperColors | 获取壁纸颜色信息 |
| getDesiredMinimumHeight | 获取壁纸所需最小高度 |
| getDesiredMinimumWidth | 获取壁纸所需最小宽度 |
| getBuiltInDrawable | 获取系统内置静态壁纸 ( 桌面壁纸 ) |
| getDrawable | 获取当前壁纸 ( 桌面壁纸 ) |
| getFastDrawable | 获取当前壁纸 ( 桌面壁纸 ) |
| peekDrawable | 获取当前壁纸 ( 桌面壁纸 ) |
| peekFastDrawable | 获取当前壁纸 ( 桌面壁纸 ) |
| setBitmap | 通过 Bitmap 设置壁纸 ( 桌面壁纸 ) |
| setResource | 通过 res 设置壁纸 |
| setStream | 通过 InputStream 设置壁纸 |
| setUri | 通过 Uri 设置壁纸 ( 跳转到设置页 ) |
| callback | 非适配 ROM 则触发回调 |
* **控件工具类 ->** [WidgetUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/WidgetUtils.java)
| 方法 | 注释 |
| :- | :- |
| viewMeasure | View Measure |
| calculateSize | 计算大小 |
| getSize | 从提供的测量规范中提取大小 |
| getMode | 从提供的测量规范中提取模式 |
| measureView | 测量 View |
| getMeasuredWidth | 获取 View 的宽度 |
| getMeasuredHeight | 获取 View 的高度 |
* **Window 工具类 ->** [WindowUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/WindowUtils.java)
| 方法 | 注释 |
| :- | :- |
| getWindow | 获取 Window |
| get | 获取 WindowAssist |
## **`dev.utils.app.activity_result`**
* **Activity Result 封装辅助类 ->** [ActivityResultAssist.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/activity_result/ActivityResultAssist.java)
| 方法 | 注释 |
| :- | :- |
| isLauncherEmpty | 判断启动器是否为 null |
| isLauncherNotEmpty | 判断启动器是否不为 null |
| setOperateCallback | 设置操作回调 |
| getInputValue | 获取启动输入参数值 |
| getOptionsValue | 获取 Activity 启动选项值 |
| getMethodType | 获取对应 Type 所属方法 |
| launch | launch |
| unregister | unregister |
| getContract | getContract |
| onStart | 操作前回调 |
| onState | 操作状态回调 |
* **Activity Result 封装辅助类 ->** [DefaultActivityResult.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/activity_result/DefaultActivityResult.java)
| 方法 | 注释 |
| :- | :- |
| getInstance | 获取 DefaultActivityResult 实例 |
| startActivityForResult | Activity 跳转回传 |
| onStartActivityForResult | 跳转 Activity 操作 |
| onActivityResult | 回传处理 |
| start | 跳转回传结果处理 Activity 内部方法 |
| onCreate | onCreate |
| onDestroy | onDestroy |
## **`dev.utils.app.anim`**
* **动画工具类 ->** [AnimationUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/anim/AnimationUtils.java)
| 方法 | 注释 |
| :- | :- |
| setAnimationRepeat | 设置动画重复处理 |
| setAnimationListener | 设置动画事件 |
| setAnimation | 设置动画 |
| getAnimation | 获取动画 |
| clearAnimation | 清空动画 |
| startAnimation | 启动动画 |
| cancelAnimation | 取消动画 |
| getRotateAnimation | 获取一个旋转动画 |
| getRotateAnimationByCenter | 获取一个根据视图自身中心点旋转的动画 |
| getAlphaAnimation | 获取一个透明度渐变动画 |
| getHiddenAlphaAnimation | 获取一个由完全显示变为不可见的透明度渐变动画 |
| getShowAlphaAnimation | 获取一个由不可见变为完全显示的透明度渐变动画 |
| getScaleAnimation | 获取一个缩放动画 |
| getScaleAnimationCenter | 获取一个中心点缩放动画 |
| getLessenScaleAnimation | 获取一个缩小动画 |
| getAmplificationAnimation | 获取一个放大动画 |
| getTranslateAnimation | 获取一个视图移动动画 |
| getShakeAnimation | 获取一个视图摇晃动画 |
* **View 动画工具类 ->** [ViewAnimationUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/anim/ViewAnimationUtils.java)
| 方法 | 注释 |
| :- | :- |
| invisibleViewByAlpha | 将给定视图渐渐隐去 |
| goneViewByAlpha | 将给定视图渐渐隐去最后从界面中移除 |
| visibleViewByAlpha | 将给定视图渐渐显示出来 |
| translate | 视图移动 |
| shake | 视图摇晃 |
## **`dev.utils.app.assist`**
* **Activity 栈管理辅助类 ->** [ActivityManagerAssist.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/assist/ActivityManagerAssist.java)
| 方法 | 注释 |
| :- | :- |
| getActivityStacks | 获取 Activity 栈 |
| addActivity | 添加 Activity |
| removeActivity | 移除 Activity |
| currentActivity | 获取最后一个 ( 当前 ) Activity |
| finishActivity | 关闭最后一个 ( 当前 ) Activity |
| existActivitys | 检测是否包含指定的 Activity |
| finishAllActivityToIgnore | 结束全部 Activity 除忽略的 Activity 外 |
| finishAllActivity | 结束所有 Activity |
| exitApplication | 退出应用程序 |
| restartApplication | 重启 APP |
* **播放「bee」的声音, 并且震动辅助类 ->** [BeepVibrateAssist.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/assist/BeepVibrateAssist.java)
| 方法 | 注释 |
| :- | :- |
| isPlayBeep | 判断是否允许播放声音 |
| isVibrate | 判断是否允许震动 |
| setVibrate | 设置是否允许震动 |
| setMediaPlayer | 设置播放资源对象 |
| playBeepSoundAndVibrate | 进行播放声音, 并且震动 |
| close | 关闭震动、提示声, 并释放资源 |
| buildMediaPlayer | 创建 MediaPlayer 对象 |
* **延迟触发辅助类 ->** [DelayAssist.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/assist/DelayAssist.java)
| 方法 | 注释 |
| :- | :- |
| remove | 移除消息 |
| post | 发送消息 ( 功能由该方法实现 ) |
| setDelayMillis | 设置搜索延迟时间 |
| setCallback | 设置搜索回调接口 |
| callback | 回调方法 |
* **Activity 无操作定时辅助类 ->** [InactivityTimerAssist.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/assist/InactivityTimerAssist.java)
| 方法 | 注释 |
| :- | :- |
| onPause | 暂停检测 |
| onResume | 回到 Activity 处理 |
| onDestroy | Activity 销毁处理 |
* **Resources 辅助类 ->** [ResourceAssist.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/assist/ResourceAssist.java)
| 方法 | 注释 |
| :- | :- |
| get | 获取 ResourceAssist |
| staticResources | 获取 Resources |
| staticTheme | 获取 Resources.Theme |
| staticContentResolver | 获取 ContentResolver |
| staticDisplayMetrics | 获取 DisplayMetrics |
| staticConfiguration | 获取 Configuration |
| staticAssets | 获取 AssetManager |
| reset | 重置操作 |
| getPackageName | 获取应用包名 |
| getResources | 获取 Resources |
| getTheme | 获取 Resources.Theme |
| getContentResolver | 获取 ContentResolver |
| getDisplayMetrics | 获取 DisplayMetrics |
| getConfiguration | 获取 Configuration |
| getAssets | 获取 AssetManager |
| getIdentifier | 获取资源 id |
| getResourceName | 获取给定资源标识符的全名 |
| getStringId | 获取 String id |
| getString | 获取 String |
| getDimenId | 获取 Dimension id |
| getDimension | 获取 Dimension |
| getDimensionInt | 获取 Dimension |
| getColorId | 获取 Color id |
| getColor | 获取 Color |
| getDrawableId | 获取 Drawable id |
| getDrawable | 获取 Drawable |
| getNinePatchDrawable | 获取 .9 Drawable |
| getBitmap | 获取 Bitmap |
| getMipmapId | 获取 Mipmap id |
| getDrawableMipmap | 获取 Mipmap Drawable |
| getNinePatchDrawableMipmap | 获取 Mipmap .9 Drawable |
| getBitmapMipmap | 获取 Mipmap Bitmap |
| getAnimId | 获取 Anim id |
| getAnimationXml | 获取 Animation Xml |
| getAnimation | 获取 Animation |
| getBooleanId | 获取 Boolean id |
| getBoolean | 获取 Boolean |
| getIntegerId | 获取 Integer id |
| getInteger | 获取 Integer |
| getArrayId | 获取 Array id |
| getIntArray | 获取 int[] |
| getStringArray | 获取 String[] |
| getTextArray | 获取 CharSequence[] |
| getId | 获取 id ( view ) |
| getLayoutId | 获取 Layout id |
| getMenuId | 获取 Menu id |
| getRawId | 获取 Raw id |
| getAttrId | 获取 Attr id |
| getStyleId | 获取 Style id |
| getStyleableId | 获取 Styleable id |
| getAnimatorId | 获取 Animator id |
| getXmlId | 获取 Xml id |
| getInterpolatorId | 获取 Interpolator id |
| getPluralsId | 获取 Plurals id |
| getColorStateList | 获取 ColorStateList |
| getColorDrawable | 获取十六进制颜色值 Drawable |
| openInputStream | 获取 Uri InputStream |
| openOutputStream | 获取 Uri OutputStream |
| openFileDescriptor | 获取 Uri ParcelFileDescriptor |
| openAssetFileDescriptor | 获取 Uri AssetFileDescriptor |
| open | 获取 AssetManager 指定资源 InputStream |
| openFd | 获取 AssetManager 指定资源 AssetFileDescriptor |
| openNonAssetFd | 获取 AssetManager 指定资源 AssetFileDescriptor |
| openRawResource | 获取对应资源 InputStream |
| openRawResourceFd | 获取对应资源 AssetFileDescriptor |
| readBytesFromAssets | 获取 Assets 资源文件数据 |
| readStringFromAssets | 获取 Assets 资源文件数据 |
| readBytesFromRaw | 获取 Raw 资源文件数据 |
| readStringFromRaw | 获取 Raw 资源文件数据 |
| geFileToListFromAssets | 获取 Assets 资源文件数据 ( 返回 List 一行的全部内容属于一个索引 ) |
| geFileToListFromRaw | 获取 Raw 资源文件数据 ( 返回 List 一行的全部内容属于一个索引 ) |
| saveAssetsFormFile | 获取 Assets 资源文件数据并保存到本地 |
| saveRawFormFile | 获取 Raw 资源文件数据并保存到本地 |
* **屏幕传感器辅助类 ( 监听是否横竖屏 ) ->** [ScreenSensorAssist.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/assist/ScreenSensorAssist.java)
| 方法 | 注释 |
| :- | :- |
| start | 开始监听 |
| stop | 停止监听 |
| isPortrait | 是否竖屏 |
| isAllowChange | 是否允许切屏 |
* **Window 辅助类 ->** [WindowAssist.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/assist/WindowAssist.java)
| 方法 | 注释 |
| :- | :- |
| getWindow | 获取 Window |
| get | 获取 WindowAssist |
| getDecorView | 获取 Window DecorView |
| peekDecorView | 获取 Window DecorView |
| getCurrentFocus | 获取 Window 当前获取焦点 View |
| setSystemUiVisibility | 设置 Window System UI 可见性 |
| getSystemUiVisibility | 获取 Window System UI 可见性 |
| setSystemUiVisibilityByAdd | 设置 Window System UI 可见性 ( 原来基础上进行追加 ) |
| setSystemUiVisibilityByClear | 设置 Window System UI 可见性 ( 原来基础上进行清除 ) |
| getAttributes | 获取 Window LayoutParams |
| setAttributes | 设置 Window LayoutParams |
| refreshSelfAttributes | 刷新自身 Window LayoutParams |
| clearFlags | 清除 Window flags |
| addFlags | 添加 Window flags |
| setFlags | 设置 Window flags |
| hasFlags | Window 是否设置指定 flags 值 |
| notHasFlags | Window 是否没有设置指定 flags 值 |
| requestFeature | 启用 Window Extended Feature |
| hasFeature | Window 是否开启指定 Extended Feature |
| notHasFeature | Window 是否没有开启指定 Extended Feature |
| setSoftInputMode | 设置 Window 输入模式 |
| setStatusBarColor | 设置 StatusBar Color |
| getStatusBarColor | 获取 StatusBar Color |
| setNavigationBarColor | 设置 NavigationBar Color |
| getNavigationBarColor | 获取 NavigationBar Color |
| setNavigationBarDividerColor | 设置 NavigationBar Divider Color |
| getNavigationBarDividerColor | 获取 NavigationBar Divider Color |
| setWidthByParams | 设置 Dialog 宽度 |
| setHeightByParams | 设置 Dialog 高度 |
| setWidthHeightByParams | 设置 Dialog 宽度、高度 |
| setXByParams | 设置 Dialog X 轴坐标 |
| setYByParams | 设置 Dialog Y 轴坐标 |
| setXYByParams | 设置 Dialog X、Y 轴坐标 |
| setGravityByParams | 设置 Dialog Gravity |
| setDimAmountByParams | 设置 Dialog 透明度 |
| setWindowBrightness | 设置窗口亮度 |
| getWindowBrightness | 获取窗口亮度 |
| setKeyBoardSoftInputMode | 设置 Window 软键盘是否显示 |
| isKeepScreenOnFlag | 是否屏幕常亮 |
| setFlagKeepScreenOn | 设置屏幕常亮 |
| clearFlagKeepScreenOn | 移除屏幕常亮 |
| isSecureFlag | 是否禁止截屏 |
| setFlagSecure | 设置禁止截屏 |
| clearFlagSecure | 移除禁止截屏 |
| isFullScreenFlag | 是否屏幕为全屏 |
| setFlagFullScreen | 设置屏幕为全屏 |
| clearFlagFullScreen | 移除屏幕全屏 |
| isTranslucentStatusFlag | 是否透明状态栏 |
| setFlagTranslucentStatus | 设置透明状态栏 |
| clearFlagTranslucentStatus | 移除透明状态栏 |
| isDrawsSystemBarBackgroundsFlag | 是否系统状态栏背景绘制 |
| setFlagDrawsSystemBarBackgrounds | 设置系统状态栏背景绘制 |
| clearFlagDrawsSystemBarBackgrounds | 移除系统状态栏背景绘制 |
| isNoTitleFeature | 是否屏幕页面为无标题 |
| setFeatureNoTitle | 设置屏幕页面无标题 |
| setFlagFullScreenAndNoTitle | 设置屏幕为全屏无标题 |
| setSemiTransparentStatusBarColor | 设置高版本状态栏蒙层 |
| setStatusBarColorAndFlag | 设置状态栏颜色、高版本状态栏蒙层 |
## **`dev.utils.app.assist.exif`**
* **图片 EXIF 读写辅助类 ->** [ExifAssist.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/assist/exif/ExifAssist.java)
| 方法 | 注释 |
| :- | :- |
| get | get |
| getByRequire | 创建可获取 EXIF 敏感信息辅助类 |
| requireOriginal | 获取 EXIF 敏感信息, 请求获取原始 Uri |
| requestPermission | 请求 ACCESS_MEDIA_LOCATION 权限并进行通知 |
| isSupportedMimeType | 判断是否支持读取的资源类型 |
| clone | 克隆图片 EXIF 读写信息 |
| getExif | 获取图片 EXIF 操作接口 |
| getExifError | 获取 EXIF 初始化异常信息 |
| isExifNull | 是否图片 EXIF 为 null |
| isExifNotNull | 是否图片 EXIF 不为 null |
| isExifError | 是否 EXIF 初始化异常 |
| getAttributeInt | 根据 TAG 获取对应值 |
| getAttributeDouble | 根据 TAG 获取对应值 |
| getAttribute | 根据 TAG 获取对应值 |
| getAttributeBytes | 根据 TAG 获取对应值 |
| getAttributeRange | 根据 TAG 获取对应值 |
| hasAttribute | 是否存在指定 TAG 值 |
| setAttribute | 设置对应 TAG 值 |
| saveAttributes | 将标签数据存储到图片中 ( 最终必须调用 ) |
| eraseAllExif | 擦除图像 Exif 信息 ( 全部 ) |
| eraseExifByList | 擦除图像 Exif 信息 ( 指定集合 ) |
| eraseExifByArray | 擦除图像 Exif 信息 ( 指定数组 ) |
| eraseExifLocation | 擦除图像所有 GPS 位置信息 |
| existLocation | 是否存在 GPS 位置信息 |
| getLatLong | 获取经纬度信息 |
| setLatLong | 设置经纬度信息 |
| getGpsInfo | 获取 GPS 信息 |
| setGpsInfo | 设置 GPS 信息 |
| getGpsDateTime | 获取 GPS 定位时间信息 |
| getAltitude | 获取海拔高度信息 ( 单位米 ) |
| setAltitude | 设置海拔高度信息 |
| hasThumbnail | 是否存在缩略图 |
| isThumbnailCompressed | 是否存在 JPEG 压缩缩略图 |
| getThumbnail | 获取 JPEG 压缩缩略图 |
| getThumbnailBytes | 获取 Exif 缩略图 |
| getThumbnailBitmap | 获取 Exif 缩略图 |
| getThumbnailRange | 获取缩略图数据偏移量位置和长度信息 |
| isFlipped | 当前图片是否翻转 |
| flipHorizontally | 进行水平翻转图片 |
| flipVertically | 进行垂直翻转图片 |
| getRotationDegrees | 获取图片旋转角度 |
| rotate | 将图片顺时针旋转给定度数 |
| resetOrientation | 重置图片方向为默认方向 |
| getAttributeByGroup | 获取 Exif 信息 ( ExifTag Group ) |
| getAttributeByList | 获取 Exif 信息 ( 指定集合 ) |
| getAttributeByArray | 获取 Exif 信息 ( 指定数组 ) |
* **图片 EXIF Tag Group 常量类 ->** [ExifTag.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/assist/exif/ExifTag.java)
| 方法 | 注释 |
| :- | :- |
| asList | 快捷创建 List 简化 add 操作 |
## **`dev.utils.app.assist.floating`**
* **悬浮窗通用代码 ->** [DevFloatingCommon.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/assist/floating/DevFloatingCommon.java)
| 方法 | 注释 |
| :- | :- |
| update | 实时更新方法 |
| getView | getView |
| getEvent | getEvent |
| getListener | getListener |
| getDownTime | getDownTime |
| getPoint | getPoint |
| getFirstPoint | getFirstPoint |
| getDelayAssist | getDelayAssist |
| actionDown | 手势按下 |
| actionMove | 手势移动 |
| actionUp | 手势抬起 |
| onClick | 悬浮窗 View 点击事件 |
| onLongClick | 悬浮窗 View 长按事件 |
| getDiffTime | 获取时间差 ( 当前时间 - 触摸时间 ) |
| isValidTime | 是否有效间隔时间 |
| isValidClickByTime | 通过时间判断点击是否有效 |
| isValidLongClickByTime | 通过时间判断长按是否有效 |
| isValidEvent | 是否有效事件 ( 是否在小范围内移动 ) |
| isTouchInView | 判断触点是否落在该 View 上 |
| postLongClick | 开始校验长按 |
| callback | callback |
* **DevApp 悬浮窗边缘检测辅助类实现 ->** [DevFloatingEdgeIMPL.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/assist/floating/DevFloatingEdgeIMPL.java)
| 方法 | 注释 |
| :- | :- |
| calculateEdge | calculateEdge |
| getMaxHeight | 获取 View 最大显示高度 |
| setMaxHeight | 设置 View 最大显示高度 |
| getMarginTop | 获取向上边距 |
| setMarginTop | 设置向上边距 |
| getMarginBottom | 获取向下边距 |
| setMarginBottom | 设置向下边距 |
| setStatusBarHeightMargin | 设置向上边距为状态栏高度 |
| setNavigationBarHeightMargin | 设置向下边距为底部导航栏高度 |
* **悬浮窗触摸事件接口实现 ->** [DevFloatingListener.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/assist/floating/DevFloatingListener.java)
| 方法 | 注释 |
| :- | :- |
| getClickIntervalTime | 获取点击事件间隔时间 |
| setClickIntervalTime | 获取点击事件间隔时间 |
| getLongClickIntervalTime | 获取长按事件间隔时间 |
| setLongClickIntervalTime | 获取长按事件间隔时间 |
* **DevApp 悬浮窗触摸辅助类实现 ->** [DevFloatingTouchIMPL.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/assist/floating/DevFloatingTouchIMPL.java)
| 方法 | 注释 |
| :- | :- |
| onTouchEvent | onTouchEvent |
| getFloatingListener | 获取悬浮窗触摸事件接口 |
| setFloatingListener | 获取悬浮窗触摸事件接口 |
| getCommon | 获取悬浮窗通用代码 |
* **DevApp 悬浮窗触摸辅助类实现 ->** [DevFloatingTouchIMPL2.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/assist/floating/DevFloatingTouchIMPL2.java)
| 方法 | 注释 |
| :- | :- |
| onTouchEvent | onTouchEvent |
| updateViewLayout | 更新 View Layout |
| getX | 获取 X 轴坐标 |
| setX | 设置 X 轴坐标 |
| getY | 获取 Y 轴坐标 |
| setY | 设置 Y 轴坐标 |
| getFloatingEdge | 获取悬浮窗边缘检测接口实现 |
| setFloatingEdge | 设置悬浮窗边缘检测接口实现 |
| getFloatingListener | 获取悬浮窗触摸事件接口 |
| setFloatingListener | 获取悬浮窗触摸事件接口 |
| getCommon | 获取悬浮窗通用代码 |
* **悬浮窗管理辅助类 ( 需权限 ) ->** [FloatingWindowManagerAssist.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/assist/floating/FloatingWindowManagerAssist.java)
| 方法 | 注释 |
| :- | :- |
| getIMPL | 获取悬浮窗管理辅助类实现 |
| getWindowManager | 获取 WindowManager |
| getLayoutParams | 获取 Window LayoutParams |
| addView | 添加悬浮 View |
| removeView | 移除悬浮 View |
| updateViewLayout | 更新 View Layout |
| canDrawOverlays | 是否存在悬浮窗权限 |
| checkOverlayPermission | 检测是否存在悬浮窗权限并跳转 |
| isOverlayRequestCode | 是否悬浮窗请求回调 code |
* **悬浮窗管理辅助类 ( 无需权限依赖 Activity ) ->** [FloatingWindowManagerAssist2.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/assist/floating/FloatingWindowManagerAssist2.java)
| 方法 | 注释 |
| :- | :- |
| removeFloatingView | 移除悬浮窗 View |
| addFloatingView | 添加悬浮窗 View |
| removeAllFloatingView | 移除所有悬浮窗 View |
| updateViewLayout | 更新悬浮窗 View Layout |
| isNeedsAdd | 是否处理悬浮 View 添加操作 |
| setNeedsAdd | 设置是否处理悬浮 View 添加操作 |
* **悬浮窗辅助类接口 ->** [IFloatingActivity.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/assist/floating/IFloatingActivity.java)
| 方法 | 注释 |
| :- | :- |
| getAttachActivity | 获取悬浮窗依附的 Activity |
| getMapFloatingKey | 获取悬浮窗 Map Key |
| getMapFloatingView | 获取悬浮窗 Map Value View |
| getMapFloatingViewLayoutParams | 获取悬浮窗 View LayoutParams |
* **悬浮窗边缘检测接口 ->** [IFloatingEdge.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/assist/floating/IFloatingEdge.java)
| 方法 | 注释 |
| :- | :- |
| calculateEdge | 计算悬浮窗边缘检测坐标 |
* **悬浮窗触摸事件接口 ->** [IFloatingListener.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/assist/floating/IFloatingListener.java)
| 方法 | 注释 |
| :- | :- |
| onClick | 悬浮窗 View 点击事件 |
| onLongClick | 悬浮窗 View 长按事件 |
| getClickIntervalTime | 获取点击事件间隔时间 |
| setClickIntervalTime | 获取点击事件间隔时间 |
| getLongClickIntervalTime | 获取长按事件间隔时间 |
| setLongClickIntervalTime | 获取长按事件间隔时间 |
* **悬浮窗操作辅助类接口 ->** [IFloatingOperate.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/assist/floating/IFloatingOperate.java)
| 方法 | 注释 |
| :- | :- |
| removeFloatingView | 移除悬浮窗 View |
| addFloatingView | 添加悬浮窗 View |
| removeAllFloatingView | 移除所有悬浮窗 View |
| updateViewLayout | 更新悬浮窗 View Layout |
| isNeedsAdd | 是否处理悬浮 View 添加操作 |
| setNeedsAdd | 设置是否处理悬浮 View 添加操作 |
* **悬浮窗触摸辅助类接口 ->** [IFloatingTouch.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/assist/floating/IFloatingTouch.java)
| 方法 | 注释 |
| :- | :- |
| onTouchEvent | 悬浮窗 View 触摸事件 |
| updateViewLayout | 更新 View Layout |
| getFloatingListener | 获取悬浮窗触摸事件接口 |
| setFloatingListener | 获取悬浮窗触摸事件接口 |
## **`dev.utils.app.assist.lifecycle`**
* **Activity LifecycleCallbacks 抽象类 ->** [AbstractActivityLifecycle.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/assist/lifecycle/AbstractActivityLifecycle.java)
| 方法 | 注释 |
| :- | :- |
| onActivityCreated | onActivityCreated |
| onActivityStarted | onActivityStarted |
| onActivityResumed | onActivityResumed |
| onActivityPaused | onActivityPaused |
| onActivityStopped | onActivityStopped |
| onActivitySaveInstanceState | onActivitySaveInstanceState |
| onActivityDestroyed | onActivityDestroyed |
* **Activity 生命周期辅助类 ->** [ActivityLifecycleAssist.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/assist/lifecycle/ActivityLifecycleAssist.java)
| 方法 | 注释 |
| :- | :- |
| getActivityLifecycleGet | 获取 Activity 生命周期 相关信息获取接口类 |
| getActivityLifecycleNotify | 获取 Activity 生命周期 事件监听接口类 |
| getTopActivity | 获取 Top Activity |
| setActivityLifecycleFilter | 设置 Activity 生命周期 过滤判断接口 |
| setAbstractActivityLifecycle | 设置 ActivityLifecycle 监听回调 |
| registerActivityLifecycleCallbacks | 注册绑定 Activity 生命周期事件处理 |
| unregisterActivityLifecycleCallbacks | 解除注册 Activity 生命周期事件处理 |
* **Activity 生命周期 过滤判断接口 ->** [ActivityLifecycleFilter.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/assist/lifecycle/ActivityLifecycleFilter.java)
| 方法 | 注释 |
| :- | :- |
| filter | 判断是否过滤该类 ( 不进行添加等操作 ) |
* **Activity 生命周期 相关信息获取接口 ->** [ActivityLifecycleGet.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/assist/lifecycle/ActivityLifecycleGet.java)
| 方法 | 注释 |
| :- | :- |
| getTopActivity | 获取最顶部 ( 当前或最后一个显示 ) Activity |
| isTopActivity | 判断某个 Activity 是否 Top Activity |
| isBackground | 判断应用是否在后台 ( 不可见 ) |
| getActivityCount | 获取 Activity 总数 |
* **Activity 生命周期 通知接口 ->** [ActivityLifecycleNotify.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/assist/lifecycle/ActivityLifecycleNotify.java)
| 方法 | 注释 |
| :- | :- |
| addOnAppStatusChangedListener | 添加 APP 状态改变事件监听 |
| removeOnAppStatusChangedListener | 移除 APP 状态改变事件监听 |
| removeAllOnAppStatusChangedListener | 移除全部 APP 状态改变事件监听 |
| addOnActivityDestroyedListener | 添加 Activity 销毁通知事件 |
| removeOnActivityDestroyedListener | 移除 Activity 销毁通知事件 |
| removeAllOnActivityDestroyedListener | 移除全部 Activity 销毁通知事件 |
* **Activity 销毁事件 ->** [OnActivityDestroyedListener.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/assist/lifecycle/OnActivityDestroyedListener.java)
| 方法 | 注释 |
| :- | :- |
| onActivityDestroyed | Activity 销毁通知 |
* **APP 状态改变事件 ->** [OnAppStatusChangedListener.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/assist/lifecycle/OnAppStatusChangedListener.java)
| 方法 | 注释 |
| :- | :- |
| onForeground | 切换到前台 |
| onBackground | 切换到后台 |
## **`dev.utils.app.assist.lifecycle.current`**
* **当前 Activity 生命周期辅助类 ->** [ThisActivityLifecycleAssist.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/assist/lifecycle/current/ThisActivityLifecycleAssist.java)
| 方法 | 注释 |
| :- | :- |
| ofListener | 获取 Activity 生命周期通知事件 |
| addListener | 添加 Activity 生命周期通知事件 |
| removeListener | 移除 Activity 生命周期通知事件 |
| removeAllListener | 移除全部 Activity 生命周期通知事件 |
| registerActivityLifecycleCallbacks | 注册绑定 Activity 生命周期事件处理 |
| unregisterActivityLifecycleCallbacks | 解除注册 Activity 生命周期事件处理 |
## **`dev.utils.app.assist.lifecycle.fragment`**
* **Fragment 生命周期辅助类 ->** [FragmentLifecycleAssist.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/assist/lifecycle/fragment/FragmentLifecycleAssist.java)
| 方法 | 注释 |
| :- | :- |
| setFragmentLifecycleFilter | 设置 Fragment 生命周期 过滤判断接口 |
| setAbstractFragmentLifecycle | 设置 FragmentLifecycle 监听回调 |
| registerFragmentLifecycleCallbacks | 注册绑定 Fragment 生命周期事件处理 |
| unregisterFragmentLifecycleCallbacks | 解除注册 Fragment 生命周期事件处理 |
* **Fragment 生命周期 过滤判断接口 ->** [FragmentLifecycleFilter.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/assist/lifecycle/fragment/FragmentLifecycleFilter.java)
| 方法 | 注释 |
| :- | :- |
| filter | 判断是否过滤该类 ( 不进行添加等操作 ) |
## **`dev.utils.app.assist.record`**
* **App 日志记录插入信息 ->** [AppRecordInsert.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/assist/record/AppRecordInsert.java)
| 方法 | 注释 |
| :- | :- |
| setFileInfo | setFileInfo |
| getFileInfo | getFileInfo |
## **`dev.utils.app.assist.url`**
* **Android Api 实现 Url 解析器 ->** [AndroidUrlParser.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/assist/url/AndroidUrlParser.java)
| 方法 | 注释 |
| :- | :- |
| reset | reset |
| setUrl | setUrl |
| getUrl | getUrl |
| getUrlByPrefix | getUrlByPrefix |
| getUrlByParams | getUrlByParams |
| getUrlParams | getUrlParams |
| getUrlParamsDecode | getUrlParamsDecode |
| isConvertMap | isConvertMap |
| setConvertMap | setConvertMap |
## **`dev.utils.app.cache`**
* **缓存类 ->** [DevCache.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/cache/DevCache.java)
| 方法 | 注释 |
| :- | :- |
| newCache | 获取 DevCache |
| getCachePath | 获取缓存地址 |
| remove | 移除数据 |
| removeForKeys | 删除 Key[] 配置、数据文件 |
| contains | 是否存在 key |
| isDue | 判断某个 key 是否过期 |
| clear | 清除全部数据 |
| clearDue | 清除过期数据 |
| clearType | 清除某个类型的全部数据 |
| getItemByKey | 通过 Key 获取 Item |
| getKeys | 获取有效 Key 集合 |
| getPermanentKeys | 获取永久有效 Key 集合 |
| getCount | 获取有效 Key 数量 |
| getSize | 获取有效 Key 占用总大小 |
| put | 保存 int 类型的数据 |
| getInt | 获取 int 类型的数据 |
| getLong | 获取 long 类型的数据 |
| getFloat | 获取 float 类型的数据 |
| getDouble | 获取 double 类型的数据 |
| getBoolean | 获取 boolean 类型的数据 |
| getString | 获取 String 类型的数据 |
| getBytes | 获取 byte[] 类型的数据 |
| getBitmap | 获取 Bitmap 类型的数据 |
| getDrawable | 获取 Drawable 类型的数据 |
| getSerializable | 获取 Serializable 类型的数据 |
| getParcelable | 获取 Parcelable 类型的数据 |
| getJSONObject | 获取 JSONObject 类型的数据 |
| getJSONArray | 获取 JSONArray 类型的数据 |
| getKey | 获取存储 Key |
| isPermanent | 是否永久有效 |
| getType | 获取数据存储类型 |
| getSaveTime | 获取保存时间 ( 毫秒 ) |
| getValidTime | 获取有效期 ( 毫秒 ) |
| setType | setType |
| setSaveTime | setSaveTime |
| setValidTime | setValidTime |
| isInt | isInt |
| isLong | isLong |
| isFloat | isFloat |
| isDouble | isDouble |
| isBoolean | isBoolean |
| isString | isString |
| isBytes | isBytes |
| isBitmap | isBitmap |
| isDrawable | isDrawable |
| isSerializable | isSerializable |
| isParcelable | isParcelable |
| isJSONObject | isJSONObject |
| isJSONArray | isJSONArray |
## **`dev.utils.app.camera`**
## **`dev.utils.app.camera.camera1`**
* **摄像头自动获取焦点辅助类 ->** [AutoFocusAssist.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/camera/camera1/AutoFocusAssist.java)
| 方法 | 注释 |
| :- | :- |
| setFocusModes | 设置对焦模式 |
| isAutoFocus | 是否允许自动对焦 |
| setAutoFocus | 设置是否开启自动对焦 |
| start | 开始对焦 |
| stop | 停止对焦 |
* **摄像头辅助类 ->** [CameraAssist.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/camera/camera1/CameraAssist.java)
| 方法 | 注释 |
| :- | :- |
| openDriver | 打开摄像头程序 |
| closeDriver | 关闭摄像头程序 |
| startPreview | 开始将 Camera 画面预览到手机上 |
| stopPreview | 停止 Camera 画面预览 |
| getCameraResolution | 获取相机分辨率 |
| getPreviewSize | 获取预览分辨率 |
| getCameraSizeAssist | 获取 Camera.Size 计算辅助类 |
| getCamera | 获取摄像头 |
| setCamera | 设置摄像头 |
| setPreviewNotify | 设置预览回调 |
| setAutoFocus | 设置是否开启自动对焦 |
| isPreviewing | 是否预览中 |
| setAutoInterval | 设置自动对焦时间间隔 |
| isFlashlightEnable | 是否支持手机闪光灯 |
| setFlashlightOn | 打开闪光灯 |
| setFlashlightOff | 关闭闪光灯 |
| isFlashlightOn | 是否打开闪光灯 |
* **摄像头 ( 预览、输出大小 ) 辅助类 ->** [CameraSizeAssist.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/camera/camera1/CameraSizeAssist.java)
| 方法 | 注释 |
| :- | :- |
| getCamera | 获取摄像头 |
| setPreviewSize | 设置预览大小 |
| getPreviewSize | 根据手机支持的预览分辨率计算, 设置预览尺寸 |
| setPictureSize | 设置拍照图片大小 |
| getPictureSize | 根据手机支持的拍照分辨率计算 |
| getVideoSize | 根据手机支持的视频录制分辨率计算 |
* **摄像头相关工具类 ->** [CameraUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/camera/camera1/CameraUtils.java)
| 方法 | 注释 |
| :- | :- |
| isSupportReverse | 判断是否支持反转摄像头 ( 是否存在前置摄像头 ) |
| checkCameraFacing | 检查是否有指定的摄像头 |
| isFrontCamera | 判断是否使用前置摄像头 |
| isBackCamera | 判断是否使用后置摄像头 |
| isUseCameraFacing | 判断使用的摄像头 |
| freeCameraResource | 释放摄像头资源 |
| initCamera | 初始化摄像头 |
| open | 打开摄像头 |
* **手电筒工具类 ->** [FlashlightUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/camera/camera1/FlashlightUtils.java)
| 方法 | 注释 |
| :- | :- |
| getInstance | 获取 FlashlightUtils 实例 |
| register | 注册摄像头 |
| unregister | 注销摄像头 |
| isFlashlightEnable | 是否支持手机闪光灯 |
| setFlashlightOn | 打开闪光灯 |
| setFlashlightOff | 关闭闪光灯 |
| isFlashlightOn | 是否打开闪光灯 |
## **`dev.utils.app.helper`**
* **基础 Helper 通用实现类 ->** [BaseHelper.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/helper/BaseHelper.java)
| 方法 | 注释 |
| :- | :- |
| devHelper | 获取 DevHelper |
| quickHelper | 获取 QuickHelper |
| viewHelper | 获取 ViewHelper |
| flowHelper | 获取 FlowHelper |
| flow | 执行 Action 流方法 |
| flowValue | 流式返回传入值 |
| postRunnable | 在主线程 Handler 中执行任务 |
| removeRunnable | 在主线程 Handler 中清除任务 |
## **`dev.utils.app.helper.dev`**
* **Dev 工具类链式调用 Helper 类 ->** [DevHelper.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/helper/dev/DevHelper.java)
| 方法 | 注释 |
| :- | :- |
| get | 获取单例 DevHelper |
| flow | 执行 Action 流方法 |
| postRunnable | 在主线程 Handler 中执行任务 |
| removeRunnable | 在主线程 Handler 中清除任务 |
| setAnimationRepeat | 设置动画重复处理 |
| setAnimationListener | 设置动画事件 |
| startAnimation | 启动动画 |
| cancelAnimation | 取消动画 |
| recycle | Bitmap 通知回收 |
| startTimer | 运行定时器 |
| stopTimer | 关闭定时器 |
| recycleTimer | 回收定时器资源 |
| closeAllTimer | 关闭全部定时器 |
| closeAllNotRunningTimer | 关闭所有未运行的定时器 |
| closeAllInfiniteTimer | 关闭所有无限循环的定时器 |
| closeAllTagTimer | 关闭所有对应 TAG 定时器 |
| closeAllUUIDTimer | 关闭所有对应 UUID 定时器 |
| addTouchArea | 增加控件的触摸范围, 最大范围只能是父布局所包含的的区域 |
| setOnClick | 设置点击事件 |
| setOnLongClick | 设置长按事件 |
| setOnTouch | 设置触摸事件 |
| copyText | 复制文本到剪贴板 |
| copyUri | 复制 URI 到剪贴板 |
| copyIntent | 复制意图到剪贴板 |
| setDialogStatusBarColor | 设置 Dialog 状态栏颜色 |
| setDialogSemiTransparentStatusBarColor | 设置 Dialog 高版本状态栏蒙层 |
| setDialogStatusBarColorAndFlag | 设置 Dialog 状态栏颜色、高版本状态栏蒙层 |
| setDialogAttributes | 设置 Dialog Window LayoutParams |
| setDialogWidth | 设置 Dialog 宽度 |
| setDialogHeight | 设置 Dialog 高度 |
| setDialogWidthHeight | 设置 Dialog 宽度、高度 |
| setDialogX | 设置 Dialog X 轴坐标 |
| setDialogY | 设置 Dialog Y 轴坐标 |
| setDialogXY | 设置 Dialog X、Y 轴坐标 |
| setDialogGravity | 设置 Dialog Gravity |
| setDialogDimAmount | 设置 Dialog 透明度 |
| setDialogCancelable | 设置是否允许返回键关闭 |
| setDialogCanceledOnTouchOutside | 设置是否允许点击其他地方自动关闭 |
| setDialogCancelableAndTouchOutside | 设置是否允许 返回键关闭、点击其他地方自动关闭 |
| showDialog | 显示 Dialog |
| closeDialogs | 关闭多个 Dialog |
| closePopupWindows | 关闭多个 PopupWindow |
| autoCloseDialog | 自动关闭 dialog |
| autoClosePopupWindow | 自动关闭 PopupWindow |
| setSoftInputMode | 设置 Window 软键盘是否显示 |
| judgeView | 设置某个 View 内所有非 EditText 的子 View OnTouchListener 事件 |
| registerSoftInputChangedListener | 注册软键盘改变监听 |
| registerSoftInputChangedListener2 | 注册软键盘改变监听 |
| fixSoftInputLeaks | 修复软键盘内存泄漏 在 Activity.onDestroy() 中使用 |
| toggleKeyboard | 自动切换键盘状态, 如果键盘显示则隐藏反之显示 |
| openKeyboard | 打开软键盘 |
| openKeyboardDelay | 延时打开软键盘 |
| openKeyboardByFocus | 打开软键盘 |
| closeKeyboard | 关闭软键盘 |
| closeKeyBoardSpecial | 关闭软键盘 |
| closeKeyBoardSpecialDelay | 延时关闭软键盘 |
| closeKeyboardDelay | 延时关闭软键盘 |
| applyLanguage | 修改系统语言 ( APP 多语言, 单独改变 APP 语言 ) |
| cancelAllNotification | 移除通知 ( 移除所有通知 ) |
| cancelNotification | 移除通知 ( 移除标记为 id 的通知 ) |
| notifyNotification | 进行通知 |
| createNotificationChannel | 创建 NotificationChannel |
| dial | 跳至拨号界面 |
| call | 拨打电话 |
| sendSms | 跳至发送短信界面 |
| sendSmsSilent | 发送短信 |
| setBright | 设置屏幕常亮 |
| setWindowSecure | 设置禁止截屏 |
| setFullScreen | 设置屏幕为全屏 |
| setFullScreenNoTitle | 设置屏幕为全屏无标题 |
| setLandscape | 设置屏幕为横屏 |
| setPortrait | 设置屏幕为竖屏 |
| toggleScreenOrientation | 切换屏幕方向 |
| setSleepDuration | 设置进入休眠时长 |
| forceGetViewSize | 在 onCreate 中获取视图的尺寸 ( 需回调 onGetSizeListener 接口, 在 onGetSize 中获取 View 宽高 ) |
| vibrate | 震动 |
| cancelVibrate | 取消震动 |
| getWidthHeightExact | 获取 View 宽高 ( 准确 ) |
| getWidthHeightExact2 | 获取 View 宽高 ( 准确 ) |
| measureView | 测量 View |
| closeIO | 关闭 IO |
| closeIOQuietly | 安静关闭 IO |
| flush | 将缓冲区数据输出 |
| flushQuietly | 安静将缓冲区数据输出 |
| flushCloseIO | 将缓冲区数据输出并关闭流 |
| flushCloseIOQuietly | 安静将缓冲区数据输出并关闭流 |
| setSystemUiVisibility | 设置 Window System UI 可见性 |
| setSystemUiVisibilityByAdd | 设置 Window System UI 可见性 ( 原来基础上进行追加 ) |
| setSystemUiVisibilityByClear | 设置 Window System UI 可见性 ( 原来基础上进行清除 ) |
| setAttributes | 设置 Window LayoutParams |
| refreshSelfAttributes | 刷新自身 Window LayoutParams |
| clearFlags | 清除 Window flags |
| addFlags | 添加 Window flags |
| setFlags | 设置 Window flags |
| requestFeature | 启用 Window Extended Feature |
| setStatusBarColor | 设置 StatusBar Color |
| setNavigationBarColor | 设置 NavigationBar Color |
| setNavigationBarDividerColor | 设置 NavigationBar Divider Color |
| setWidthByParams | 设置 Dialog 宽度 |
| setHeightByParams | 设置 Dialog 高度 |
| setWidthHeightByParams | 设置 Dialog 宽度、高度 |
| setXByParams | 设置 Dialog X 轴坐标 |
| setYByParams | 设置 Dialog Y 轴坐标 |
| setXYByParams | 设置 Dialog X、Y 轴坐标 |
| setGravityByParams | 设置 Dialog Gravity |
| setDimAmountByParams | 设置 Dialog 透明度 |
| setWindowBrightness | 设置窗口亮度 |
| setKeyBoardSoftInputMode | 设置 Window 软键盘是否显示 |
| setFlagKeepScreenOn | 设置屏幕常亮 |
| clearFlagKeepScreenOn | 移除屏幕常亮 |
| setFlagSecure | 设置禁止截屏 |
| clearFlagSecure | 移除禁止截屏 |
| setFlagFullScreen | 设置屏幕为全屏 |
| clearFlagFullScreen | 移除屏幕全屏 |
| setFlagTranslucentStatus | 设置透明状态栏 |
| clearFlagTranslucentStatus | 移除透明状态栏 |
| setFlagDrawsSystemBarBackgrounds | 设置系统状态栏背景绘制 |
| clearFlagDrawsSystemBarBackgrounds | 移除系统状态栏背景绘制 |
| setFeatureNoTitle | 设置屏幕页面无标题 |
| setFlagFullScreenAndNoTitle | 设置屏幕为全屏无标题 |
| setSemiTransparentStatusBarColor | 设置高版本状态栏蒙层 |
| setStatusBarColorAndFlag | 设置状态栏颜色、高版本状态栏蒙层 |
* **DevHelper 接口 ->** [IHelperByDev.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/helper/dev/IHelperByDev.java)
| 方法 | 注释 |
| :- | :- |
| setAnimationRepeat | 设置动画重复处理 |
| setAnimationListener | 设置动画事件 |
| startAnimation | 启动动画 |
| cancelAnimation | 取消动画 |
| recycle | Bitmap 通知回收 |
| startTimer | 运行定时器 |
| stopTimer | 关闭定时器 |
| recycleTimer | 回收定时器资源 |
| closeAllTimer | 关闭全部定时器 |
| closeAllNotRunningTimer | 关闭所有未运行的定时器 |
| closeAllInfiniteTimer | 关闭所有无限循环的定时器 |
| closeAllTagTimer | 关闭所有对应 TAG 定时器 |
| closeAllUUIDTimer | 关闭所有对应 UUID 定时器 |
| addTouchArea | 增加控件的触摸范围, 最大范围只能是父布局所包含的的区域 |
| setOnClick | 设置点击事件 |
| setOnLongClick | 设置长按事件 |
| setOnTouch | 设置触摸事件 |
| copyText | 复制文本到剪贴板 |
| copyUri | 复制 URI 到剪贴板 |
| copyIntent | 复制意图到剪贴板 |
| setDialogStatusBarColor | 设置 Dialog 状态栏颜色 |
| setDialogSemiTransparentStatusBarColor | 设置 Dialog 高版本状态栏蒙层 |
| setDialogStatusBarColorAndFlag | 设置 Dialog 状态栏颜色、高版本状态栏蒙层 |
| setDialogAttributes | 设置 Dialog Window LayoutParams |
| setDialogWidth | 设置 Dialog 宽度 |
| setDialogHeight | 设置 Dialog 高度 |
| setDialogWidthHeight | 设置 Dialog 宽度、高度 |
| setDialogX | 设置 Dialog X 轴坐标 |
| setDialogY | 设置 Dialog Y 轴坐标 |
| setDialogXY | 设置 Dialog X、Y 轴坐标 |
| setDialogGravity | 设置 Dialog Gravity |
| setDialogDimAmount | 设置 Dialog 透明度 |
| setDialogCancelable | 设置是否允许返回键关闭 |
| setDialogCanceledOnTouchOutside | 设置是否允许点击其他地方自动关闭 |
| setDialogCancelableAndTouchOutside | 设置是否允许 返回键关闭、点击其他地方自动关闭 |
| showDialog | 显示 Dialog |
| closeDialogs | 关闭多个 Dialog |
| closePopupWindows | 关闭多个 PopupWindow |
| autoCloseDialog | 自动关闭 dialog |
| autoClosePopupWindow | 自动关闭 PopupWindow |
| setSoftInputMode | 设置 Window 软键盘是否显示 |
| judgeView | 设置某个 View 内所有非 EditText 的子 View OnTouchListener 事件 |
| registerSoftInputChangedListener | 注册软键盘改变监听 |
| registerSoftInputChangedListener2 | 注册软键盘改变监听 |
| fixSoftInputLeaks | 修复软键盘内存泄漏 在 Activity.onDestroy() 中使用 |
| toggleKeyboard | 自动切换键盘状态, 如果键盘显示则隐藏反之显示 |
| openKeyboard | 打开软键盘 |
| openKeyboardDelay | 延时打开软键盘 |
| openKeyboardByFocus | 打开软键盘 |
| closeKeyboard | 关闭软键盘 |
| closeKeyBoardSpecial | 关闭软键盘 |
| closeKeyBoardSpecialDelay | 延时关闭软键盘 |
| closeKeyboardDelay | 延时关闭软键盘 |
| applyLanguage | 修改系统语言 ( APP 多语言, 单独改变 APP 语言 ) |
| cancelAllNotification | 移除通知 ( 移除所有通知 ) |
| cancelNotification | 移除通知 ( 移除标记为 id 的通知 ) |
| notifyNotification | 进行通知 |
| createNotificationChannel | 创建 NotificationChannel |
| dial | 跳至拨号界面 |
| call | 拨打电话 |
| sendSms | 跳至发送短信界面 |
| sendSmsSilent | 发送短信 |
| setBright | 设置屏幕常亮 |
| setWindowSecure | 设置禁止截屏 |
| setFullScreen | 设置屏幕为全屏 |
| setFullScreenNoTitle | 设置屏幕为全屏无标题 |
| setLandscape | 设置屏幕为横屏 |
| setPortrait | 设置屏幕为竖屏 |
| toggleScreenOrientation | 切换屏幕方向 |
| setSleepDuration | 设置进入休眠时长 |
| forceGetViewSize | 在 onCreate 中获取视图的尺寸 ( 需回调 onGetSizeListener 接口, 在 onGetSize 中获取 View 宽高 ) |
| vibrate | 震动 |
| cancelVibrate | 取消震动 |
| getWidthHeightExact | 获取 View 宽高 ( 准确 ) |
| getWidthHeightExact2 | 获取 View 宽高 ( 准确 ) |
| measureView | 测量 View |
| closeIO | 关闭 IO |
| closeIOQuietly | 安静关闭 IO |
| flush | 将缓冲区数据输出 |
| flushQuietly | 安静将缓冲区数据输出 |
| flushCloseIO | 将缓冲区数据输出并关闭流 |
| flushCloseIOQuietly | 安静将缓冲区数据输出并关闭流 |
| setSystemUiVisibility | 设置 Window System UI 可见性 |
| setSystemUiVisibilityByAdd | 设置 Window System UI 可见性 ( 原来基础上进行追加 ) |
| setSystemUiVisibilityByClear | 设置 Window System UI 可见性 ( 原来基础上进行清除 ) |
| setAttributes | 设置 Window LayoutParams |
| refreshSelfAttributes | 刷新自身 Window LayoutParams |
| clearFlags | 清除 Window flags |
| addFlags | 添加 Window flags |
| setFlags | 设置 Window flags |
| requestFeature | 启用 Window Extended Feature |
| setStatusBarColor | 设置 StatusBar Color |
| setNavigationBarColor | 设置 NavigationBar Color |
| setNavigationBarDividerColor | 设置 NavigationBar Divider Color |
| setWidthByParams | 设置 Dialog 宽度 |
| setHeightByParams | 设置 Dialog 高度 |
| setWidthHeightByParams | 设置 Dialog 宽度、高度 |
| setXByParams | 设置 Dialog X 轴坐标 |
| setYByParams | 设置 Dialog Y 轴坐标 |
| setXYByParams | 设置 Dialog X、Y 轴坐标 |
| setGravityByParams | 设置 Dialog Gravity |
| setDimAmountByParams | 设置 Dialog 透明度 |
| setWindowBrightness | 设置窗口亮度 |
| setKeyBoardSoftInputMode | 设置 Window 软键盘是否显示 |
| setFlagKeepScreenOn | 设置屏幕常亮 |
| clearFlagKeepScreenOn | 移除屏幕常亮 |
| setFlagSecure | 设置禁止截屏 |
| clearFlagSecure | 移除禁止截屏 |
| setFlagFullScreen | 设置屏幕为全屏 |
| clearFlagFullScreen | 移除屏幕全屏 |
| setFlagTranslucentStatus | 设置透明状态栏 |
| clearFlagTranslucentStatus | 移除透明状态栏 |
| setFlagDrawsSystemBarBackgrounds | 设置系统状态栏背景绘制 |
| clearFlagDrawsSystemBarBackgrounds | 移除系统状态栏背景绘制 |
| setFeatureNoTitle | 设置屏幕页面无标题 |
| setFlagFullScreenAndNoTitle | 设置屏幕为全屏无标题 |
| setSemiTransparentStatusBarColor | 设置高版本状态栏蒙层 |
| setStatusBarColorAndFlag | 设置状态栏颜色、高版本状态栏蒙层 |
## **`dev.utils.app.helper.flow`**
* **流式 ( 链式 ) 连接 Helper 类 ->** [FlowHelper.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/helper/flow/FlowHelper.java)
| 方法 | 注释 |
| :- | :- |
| get | 获取单例 FlowHelper |
| flow | 执行 Action 流方法 |
| postRunnable | 在主线程 Handler 中执行任务 |
| removeRunnable | 在主线程 Handler 中清除任务 |
| action | 操作方法 |
## **`dev.utils.app.helper.quick`**
* **QuickHelper 接口 ->** [IHelperByQuick.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/helper/quick/IHelperByQuick.java)
| 方法 | 注释 |
| :- | :- |
| addTouchArea | 增加控件的触摸范围, 最大范围只能是父布局所包含的的区域 |
| setOnClick | 设置点击事件 |
| setOnLongClick | 设置长按事件 |
| setOnTouch | 设置触摸事件 |
| setId | 设置 View Id |
| setClipChildren | 设置是否限制子 View 在其边界内绘制 |
| removeAllViews | 移除全部子 View |
| addView | 添加 View |
| setLayoutParams | 设置 View LayoutParams |
| setWidthHeight | 设置 View[] 宽度、高度 |
| setWeight | 设置 View weight 权重 |
| setWidth | 设置 View 宽度 |
| setHeight | 设置 View 高度 |
| setMinimumWidth | 设置 View 最小宽度 |
| setMinimumHeight | 设置 View 最小高度 |
| setAlpha | 设置 View 透明度 |
| setTag | 设置 View TAG |
| setScrollX | 设置 View 滑动的 X 轴坐标 |
| setScrollY | 设置 View 滑动的 Y 轴坐标 |
| setDescendantFocusability | 设置 ViewGroup 和其子控件两者之间的关系 |
| setOverScrollMode | 设置 View 滚动模式 |
| setHorizontalScrollBarEnabled | 设置是否绘制横向滚动条 |
| setVerticalScrollBarEnabled | 设置是否绘制垂直滚动条 |
| setScrollContainer | 设置 View 滚动效应 |
| setNextFocusForwardId | 设置下一个获取焦点的 View id |
| setNextFocusDownId | 设置向下移动焦点时, 下一个获取焦点的 View id |
| setNextFocusLeftId | 设置向左移动焦点时, 下一个获取焦点的 View id |
| setNextFocusRightId | 设置向右移动焦点时, 下一个获取焦点的 View id |
| setNextFocusUpId | 设置向上移动焦点时, 下一个获取焦点的 View id |
| setRotation | 设置 View 旋转度数 |
| setRotationX | 设置 View 水平旋转度数 |
| setRotationY | 设置 View 竖直旋转度数 |
| setScaleX | 设置 View 水平方向缩放比例 |
| setScaleY | 设置 View 竖直方向缩放比例 |
| setTextAlignment | 设置文本的显示方式 |
| setTextDirection | 设置文本的显示方向 |
| setPivotX | 设置水平方向偏转量 |
| setPivotY | 设置竖直方向偏转量 |
| setTranslationX | 设置水平方向的移动距离 |
| setTranslationY | 设置竖直方向的移动距离 |
| setX | 设置 X 轴位置 |
| setY | 设置 Y 轴位置 |
| setLayerType | 设置 View 硬件加速类型 |
| requestLayout | 请求重新对 View 布局 |
| requestFocus | View 请求获取焦点 |
| clearFocus | View 清除焦点 |
| setFocusableInTouchMode | 设置 View 是否在触摸模式下获得焦点 |
| setFocusable | 设置 View 是否可以获取焦点 |
| toggleFocusable | 切换获取焦点状态 |
| setSelected | 设置 View 是否选中 |
| toggleSelected | 切换选中状态 |
| setEnabled | 设置 View 是否启用 |
| toggleEnabled | 切换 View 是否启用状态 |
| setClickable | 设置 View 是否可以点击 |
| toggleClickable | 切换 View 是否可以点击状态 |
| setLongClickable | 设置 View 是否可以长按 |
| toggleLongClickable | 切换 View 是否可以长按状态 |
| setVisibilitys | 设置 View 显示的状态 |
| setVisibilityINs | 设置 View 显示的状态 |
| toggleVisibilitys | 切换 View 显示的状态 |
| reverseVisibilitys | 反转 View 显示的状态 |
| toggleViews | 切换 View 状态 |
| removeSelfFromParent | 把自身从父 View 中移除 |
| requestLayoutParent | View 请求更新 |
| measureView | 测量 View |
| setLayoutGravity | 设置 View Layout Gravity |
| setMarginLeft | 设置 View Left Margin |
| setMarginTop | 设置 View Top Margin |
| setMarginRight | 设置 View Right Margin |
| setMarginBottom | 设置 View Bottom Margin |
| setMargin | 设置 Margin 边距 |
| setPaddingLeft | 设置 View Left Padding |
| setPaddingTop | 设置 View Top Padding |
| setPaddingRight | 设置 View Right Padding |
| setPaddingBottom | 设置 View Bottom Padding |
| setPadding | 设置 Padding 边距 |
| addRules | 设置多个 RelativeLayout View 布局规则 |
| removeRules | 移除多个 RelativeLayout View 布局规则 |
| setAnimation | 设置动画 |
| clearAnimation | 清空动画 |
| startAnimation | 启动动画 |
| cancelAnimation | 取消动画 |
| setBackground | 设置背景图片 |
| setBackgroundColor | 设置背景颜色 |
| setBackgroundResource | 设置背景资源 |
| setBackgroundTintList | 设置背景着色颜色 |
| setBackgroundTintMode | 设置背景着色模式 |
| setForeground | 设置前景图片 |
| setForegroundGravity | 设置前景重心 |
| setForegroundTintList | 设置前景着色颜色 |
| setForegroundTintMode | 设置前景着色模式 |
| setColorFilter | View 着色处理 |
| setProgressDrawable | 设置 ProgressBar 进度条样式 |
| setBarProgress | 设置 ProgressBar 进度值 |
| setBarMax | 设置 ProgressBar 最大值 |
| setBarValue | 设置 ProgressBar 最大值 |
| smoothScrollToPosition | 滑动到指定索引 ( 有滚动过程 ) |
| scrollToPosition | 滑动到指定索引 ( 无滚动过程 ) |
| smoothScrollToTop | 滑动到顶部 ( 有滚动过程 ) |
| scrollToTop | 滑动到顶部 ( 无滚动过程 ) |
| smoothScrollToBottom | 滑动到底部 ( 有滚动过程 ) |
| scrollToBottom | 滑动到底部 ( 无滚动过程 ) |
| smoothScrollTo | 滚动到指定位置 ( 有滚动过程, 相对于初始位置移动 ) |
| smoothScrollBy | 滚动到指定位置 ( 有滚动过程, 相对于上次移动的最后位置移动 ) |
| fullScroll | 滚动方向 ( 有滚动过程 ) |
| scrollTo | View 内容滚动位置 ( 相对于初始位置移动 ) |
| scrollBy | View 内部滚动位置 ( 相对于上次移动的最后位置移动 ) |
| setAdjustViewBounds | 设置 ImageView 是否保持宽高比 |
| setMaxHeight | 设置 ImageView 最大高度 |
| setMaxWidth | 设置 ImageView 最大宽度 |
| setImageLevel | 设置 ImageView Level |
| setImageBitmap | 设置 ImageView Bitmap |
| setImageDrawable | 设置 ImageView Drawable |
| setImageResource | 设置 ImageView 资源 |
| setImageMatrix | 设置 ImageView Matrix |
| setImageTintList | 设置 ImageView 着色颜色 |
| setImageTintMode | 设置 ImageView 着色模式 |
| setScaleType | 设置 ImageView 缩放类型 |
| setBackgroundResources | 设置 View 图片资源 |
| setImageResources | 设置 View 图片资源 |
| setImageBitmaps | 设置 View Bitmap |
| setImageDrawables | 设置 View Drawable |
| setScaleTypes | 设置 View 缩放模式 |
| setText | 设置文本 |
| setMaxLength | 设置长度限制 |
| setMaxLengthAndText | 设置长度限制, 并且设置内容 |
| setInputType | 设置输入类型 |
| setImeOptions | 设置软键盘右下角按钮类型 |
| setTransformationMethod | 设置文本视图显示转换 |
| insert | 追加内容 ( 当前光标位置追加 ) |
| setCursorVisible | 设置是否显示光标 |
| setTextCursorDrawable | 设置光标 |
| setSelectionToTop | 设置光标在第一位 |
| setSelectionToBottom | 设置光标在最后一位 |
| setSelection | 设置光标位置 |
| addTextChangedListener | 添加输入监听事件 |
| removeTextChangedListener | 移除输入监听事件 |
| setKeyListener | 设置 KeyListener |
| setHint | 设置 Hint 文本 |
| setHintTextColors | 设置多个 TextView Hint 字体颜色 |
| setTextColors | 设置多个 TextView 字体颜色 |
| setHtmlTexts | 设置多个 TextView Html 内容 |
| setTypeface | 设置字体 |
| setTextSizeByPx | 设置字体大小 ( px 像素 ) |
| setTextSizeBySp | 设置字体大小 ( sp 缩放像素 ) |
| setTextSizeByDp | 设置字体大小 ( dp 与设备无关的像素 ) |
| setTextSizeByIn | 设置字体大小 ( inches 英寸 ) |
| setTextSize | 设置字体大小 |
| clearFlags | 清空 flags |
| setPaintFlags | 设置 TextView flags |
| setAntiAliasFlag | 设置 TextView 抗锯齿 flags |
| setBold | 设置 TextView 是否加粗 |
| setUnderlineText | 设置下划线 |
| setStrikeThruText | 设置中划线 |
| setLetterSpacing | 设置文字水平间距 |
| setLineSpacing | 设置文字行间距 ( 行高 ) |
| setLineSpacingAndMultiplier | 设置文字行间距 ( 行高 ) 、行间距倍数 |
| setTextScaleX | 设置字体水平方向的缩放 |
| setIncludeFontPadding | 设置是否保留字体留白间隙区域 |
| setLines | 设置行数 |
| setMaxLines | 设置最大行数 |
| setMinLines | 设置最小行数 |
| setMaxEms | 设置最大字符宽度限制 |
| setMinEms | 设置最小字符宽度限制 |
| setEms | 设置指定字符宽度 |
| setEllipsize | 设置 Ellipsize 效果 |
| setAutoLinkMask | 设置自动识别文本链接 |
| setAllCaps | 设置文本全为大写 |
| setGravity | 设置 Gravity |
| setCompoundDrawablePadding | 设置 CompoundDrawables Padding |
| setCompoundDrawablesByLeft | 设置 Left CompoundDrawables |
| setCompoundDrawablesByTop | 设置 Top CompoundDrawables |
| setCompoundDrawablesByRight | 设置 Right CompoundDrawables |
| setCompoundDrawablesByBottom | 设置 Bottom CompoundDrawables |
| setCompoundDrawables | 设置 CompoundDrawables |
| setCompoundDrawablesWithIntrinsicBoundsByLeft | 设置 Left CompoundDrawables ( 按照原有比例大小显示图片 ) |
| setCompoundDrawablesWithIntrinsicBoundsByTop | 设置 Top CompoundDrawables ( 按照原有比例大小显示图片 ) |
| setCompoundDrawablesWithIntrinsicBoundsByRight | 设置 Right CompoundDrawables ( 按照原有比例大小显示图片 ) |
| setCompoundDrawablesWithIntrinsicBoundsByBottom | 设置 Bottom CompoundDrawables ( 按照原有比例大小显示图片 ) |
| setCompoundDrawablesWithIntrinsicBounds | 设置 CompoundDrawables ( 按照原有比例大小显示图片 ) |
| setAutoSizeTextTypeWithDefaults | 通过设置默认的自动调整大小配置, 决定是否自动缩放文本 |
| setAutoSizeTextTypeUniformWithConfiguration | 设置 TextView 自动调整字体大小配置 |
| setAutoSizeTextTypeUniformWithPresetSizes | 设置 TextView 自动调整如果预设字体大小范围有效则修改类型为 AUTO_SIZE_TEXT_TYPE_UNIFORM |
| setLayoutManager | 设置 RecyclerView LayoutManager |
| setSpanCount | 设置 GridLayoutManager SpanCount |
| setOrientation | 设置 RecyclerView Orientation |
| setAdapter | 设置 RecyclerView Adapter |
| notifyItemRemoved | RecyclerView notifyItemRemoved |
| notifyItemInserted | RecyclerView notifyItemInserted |
| notifyItemMoved | RecyclerView notifyItemMoved |
| notifyDataSetChanged | RecyclerView notifyDataSetChanged |
| attachLinearSnapHelper | 设置 RecyclerView LinearSnapHelper |
| attachPagerSnapHelper | 设置 RecyclerView PagerSnapHelper |
| addItemDecoration | 添加 RecyclerView ItemDecoration |
| removeItemDecoration | 移除 RecyclerView ItemDecoration |
| removeItemDecorationAt | 移除 RecyclerView ItemDecoration |
| removeAllItemDecoration | 移除 RecyclerView 全部 ItemDecoration |
| setOnScrollListener | 设置 RecyclerView ScrollListener |
| addOnScrollListener | 添加 RecyclerView ScrollListener |
| removeOnScrollListener | 移除 RecyclerView ScrollListener |
| clearOnScrollListeners | 清空 RecyclerView ScrollListener |
| setNestedScrollingEnabled | 设置 RecyclerView 嵌套滚动开关 |
| forceGetViewSize | 在 onCreate 中获取视图的尺寸 ( 需回调 onGetSizeListener 接口, 在 onGetSize 中获取 View 宽高 ) |
* **简化链式设置 View Quick Helper 类 ->** [QuickHelper.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/helper/quick/QuickHelper.java)
| 方法 | 注释 |
| :- | :- |
| get | 获取 QuickHelper |
| getView | 获取 View |
| targetView | 获取目标 View |
| targetViewGroup | 获取目标 View ( 转 ViewGroup ) |
| targetImageView | 获取目标 View ( 转 ImageView ) |
| targetTextView | 获取目标 View ( 转 TextView ) |
| targetEditText | 获取目标 View ( 转 EditText ) |
| targetRecyclerView | 获取目标 View ( 转 RecyclerView ) |
| flow | 执行 Action 流方法 |
| postRunnable | 在主线程 Handler 中执行任务 |
| removeRunnable | 在主线程 Handler 中清除任务 |
| addTouchArea | 增加控件的触摸范围, 最大范围只能是父布局所包含的的区域 |
| setOnClick | 设置点击事件 |
| setOnLongClick | 设置长按事件 |
| setOnTouch | 设置触摸事件 |
| setId | 设置 View Id |
| setClipChildren | 设置是否限制子 View 在其边界内绘制 |
| removeAllViews | 移除全部子 View |
| addView | 添加 View |
| setLayoutParams | 设置 View LayoutParams |
| setWidthHeight | 设置 View[] 宽度、高度 |
| setWeight | 设置 View weight 权重 |
| setWidth | 设置 View 宽度 |
| setHeight | 设置 View 高度 |
| setMinimumWidth | 设置 View 最小宽度 |
| setMinimumHeight | 设置 View 最小高度 |
| setAlpha | 设置 View 透明度 |
| setTag | 设置 View TAG |
| setScrollX | 设置 View 滑动的 X 轴坐标 |
| setScrollY | 设置 View 滑动的 Y 轴坐标 |
| setDescendantFocusability | 设置 ViewGroup 和其子控件两者之间的关系 |
| setOverScrollMode | 设置 View 滚动模式 |
| setHorizontalScrollBarEnabled | 设置是否绘制横向滚动条 |
| setVerticalScrollBarEnabled | 设置是否绘制垂直滚动条 |
| setScrollContainer | 设置 View 滚动效应 |
| setNextFocusForwardId | 设置下一个获取焦点的 View id |
| setNextFocusDownId | 设置向下移动焦点时, 下一个获取焦点的 View id |
| setNextFocusLeftId | 设置向左移动焦点时, 下一个获取焦点的 View id |
| setNextFocusRightId | 设置向右移动焦点时, 下一个获取焦点的 View id |
| setNextFocusUpId | 设置向上移动焦点时, 下一个获取焦点的 View id |
| setRotation | 设置 View 旋转度数 |
| setRotationX | 设置 View 水平旋转度数 |
| setRotationY | 设置 View 竖直旋转度数 |
| setScaleX | 设置 View 水平方向缩放比例 |
| setScaleY | 设置 View 竖直方向缩放比例 |
| setTextAlignment | 设置文本的显示方式 |
| setTextDirection | 设置文本的显示方向 |
| setPivotX | 设置水平方向偏转量 |
| setPivotY | 设置竖直方向偏转量 |
| setTranslationX | 设置水平方向的移动距离 |
| setTranslationY | 设置竖直方向的移动距离 |
| setX | 设置 X 轴位置 |
| setY | 设置 Y 轴位置 |
| setLayerType | 设置 View 硬件加速类型 |
| requestLayout | 请求重新对 View 布局 |
| requestFocus | View 请求获取焦点 |
| clearFocus | View 清除焦点 |
| setFocusableInTouchMode | 设置 View 是否在触摸模式下获得焦点 |
| setFocusable | 设置 View 是否可以获取焦点 |
| toggleFocusable | 切换获取焦点状态 |
| setSelected | 设置 View 是否选中 |
| toggleSelected | 切换选中状态 |
| setEnabled | 设置 View 是否启用 |
| toggleEnabled | 切换 View 是否启用状态 |
| setClickable | 设置 View 是否可以点击 |
| toggleClickable | 切换 View 是否可以点击状态 |
| setLongClickable | 设置 View 是否可以长按 |
| toggleLongClickable | 切换 View 是否可以长按状态 |
| setVisibilitys | 设置 View 显示的状态 |
| setVisibilityINs | 设置 View 显示的状态 |
| toggleVisibilitys | 切换 View 显示的状态 |
| reverseVisibilitys | 反转 View 显示的状态 |
| toggleViews | 切换 View 状态 |
| removeSelfFromParent | 把自身从父 View 中移除 |
| requestLayoutParent | View 请求更新 |
| measureView | 测量 View |
| setLayoutGravity | 设置 View Layout Gravity |
| setMarginLeft | 设置 View Left Margin |
| setMarginTop | 设置 View Top Margin |
| setMarginRight | 设置 View Right Margin |
| setMarginBottom | 设置 View Bottom Margin |
| setMargin | 设置 Margin 边距 |
| setPaddingLeft | 设置 View Left Padding |
| setPaddingTop | 设置 View Top Padding |
| setPaddingRight | 设置 View Right Padding |
| setPaddingBottom | 设置 View Bottom Padding |
| setPadding | 设置 Padding 边距 |
| addRules | 设置多个 RelativeLayout View 布局规则 |
| removeRules | 移除多个 RelativeLayout View 布局规则 |
| setAnimation | 设置动画 |
| clearAnimation | 清空动画 |
| startAnimation | 启动动画 |
| cancelAnimation | 取消动画 |
| setBackground | 设置背景图片 |
| setBackgroundColor | 设置背景颜色 |
| setBackgroundResource | 设置背景资源 |
| setBackgroundTintList | 设置背景着色颜色 |
| setBackgroundTintMode | 设置背景着色模式 |
| setForeground | 设置前景图片 |
| setForegroundGravity | 设置前景重心 |
| setForegroundTintList | 设置前景着色颜色 |
| setForegroundTintMode | 设置前景着色模式 |
| setColorFilter | View 着色处理 |
| setProgressDrawable | 设置 ProgressBar 进度条样式 |
| setBarProgress | 设置 ProgressBar 进度值 |
| setBarMax | 设置 ProgressBar 最大值 |
| setBarValue | 设置 ProgressBar 最大值 |
| smoothScrollToPosition | 滑动到指定索引 ( 有滚动过程 ) |
| scrollToPosition | 滑动到指定索引 ( 无滚动过程 ) |
| smoothScrollToTop | 滑动到顶部 ( 有滚动过程 ) |
| scrollToTop | 滑动到顶部 ( 无滚动过程 ) |
| smoothScrollToBottom | 滑动到底部 ( 有滚动过程 ) |
| scrollToBottom | 滑动到底部 ( 无滚动过程 ) |
| smoothScrollTo | 滚动到指定位置 ( 有滚动过程, 相对于初始位置移动 ) |
| smoothScrollBy | 滚动到指定位置 ( 有滚动过程, 相对于上次移动的最后位置移动 ) |
| fullScroll | 滚动方向 ( 有滚动过程 ) |
| scrollTo | View 内容滚动位置 ( 相对于初始位置移动 ) |
| scrollBy | View 内部滚动位置 ( 相对于上次移动的最后位置移动 ) |
| setAdjustViewBounds | 设置 ImageView 是否保持宽高比 |
| setMaxHeight | 设置 ImageView 最大高度 |
| setMaxWidth | 设置 ImageView 最大宽度 |
| setImageLevel | 设置 ImageView Level |
| setImageBitmap | 设置 ImageView Bitmap |
| setImageDrawable | 设置 ImageView Drawable |
| setImageResource | 设置 ImageView 资源 |
| setImageMatrix | 设置 ImageView Matrix |
| setImageTintList | 设置 ImageView 着色颜色 |
| setImageTintMode | 设置 ImageView 着色模式 |
| setScaleType | 设置 ImageView 缩放类型 |
| setBackgroundResources | 设置 View 图片资源 |
| setImageResources | 设置 View 图片资源 |
| setImageBitmaps | 设置 View Bitmap |
| setImageDrawables | 设置 View Drawable |
| setScaleTypes | 设置 View 缩放模式 |
| setText | 设置文本 |
| setMaxLength | 设置长度限制 |
| setMaxLengthAndText | 设置长度限制, 并且设置内容 |
| setInputType | 设置输入类型 |
| setImeOptions | 设置软键盘右下角按钮类型 |
| setTransformationMethod | 设置文本视图显示转换 |
| insert | 追加内容 ( 当前光标位置追加 ) |
| setCursorVisible | 设置是否显示光标 |
| setTextCursorDrawable | 设置光标 |
| setSelectionToTop | 设置光标在第一位 |
| setSelectionToBottom | 设置光标在最后一位 |
| setSelection | 设置光标位置 |
| addTextChangedListener | 添加输入监听事件 |
| removeTextChangedListener | 移除输入监听事件 |
| setKeyListener | 设置 KeyListener |
| setHint | 设置 Hint 文本 |
| setHintTextColors | 设置多个 TextView Hint 字体颜色 |
| setTextColors | 设置多个 TextView 字体颜色 |
| setHtmlTexts | 设置多个 TextView Html 内容 |
| setTypeface | 设置字体 |
| setTextSizeByPx | 设置字体大小 ( px 像素 ) |
| setTextSizeBySp | 设置字体大小 ( sp 缩放像素 ) |
| setTextSizeByDp | 设置字体大小 ( dp 与设备无关的像素 ) |
| setTextSizeByIn | 设置字体大小 ( inches 英寸 ) |
| setTextSize | 设置字体大小 |
| clearFlags | 清空 flags |
| setPaintFlags | 设置 TextView flags |
| setAntiAliasFlag | 设置 TextView 抗锯齿 flags |
| setBold | 设置 TextView 是否加粗 |
| setUnderlineText | 设置下划线 |
| setStrikeThruText | 设置中划线 |
| setLetterSpacing | 设置文字水平间距 |
| setLineSpacing | 设置文字行间距 ( 行高 ) |
| setLineSpacingAndMultiplier | 设置文字行间距 ( 行高 ) 、行间距倍数 |
| setTextScaleX | 设置字体水平方向的缩放 |
| setIncludeFontPadding | 设置是否保留字体留白间隙区域 |
| setLines | 设置行数 |
| setMaxLines | 设置最大行数 |
| setMinLines | 设置最小行数 |
| setMaxEms | 设置最大字符宽度限制 |
| setMinEms | 设置最小字符宽度限制 |
| setEms | 设置指定字符宽度 |
| setEllipsize | 设置 Ellipsize 效果 |
| setAutoLinkMask | 设置自动识别文本链接 |
| setAllCaps | 设置文本全为大写 |
| setGravity | 设置 Gravity |
| setCompoundDrawablePadding | 设置 CompoundDrawables Padding |
| setCompoundDrawablesByLeft | 设置 Left CompoundDrawables |
| setCompoundDrawablesByTop | 设置 Top CompoundDrawables |
| setCompoundDrawablesByRight | 设置 Right CompoundDrawables |
| setCompoundDrawablesByBottom | 设置 Bottom CompoundDrawables |
| setCompoundDrawables | 设置 CompoundDrawables |
| setCompoundDrawablesWithIntrinsicBoundsByLeft | 设置 Left CompoundDrawables ( 按照原有比例大小显示图片 ) |
| setCompoundDrawablesWithIntrinsicBoundsByTop | 设置 Top CompoundDrawables ( 按照原有比例大小显示图片 ) |
| setCompoundDrawablesWithIntrinsicBoundsByRight | 设置 Right CompoundDrawables ( 按照原有比例大小显示图片 ) |
| setCompoundDrawablesWithIntrinsicBoundsByBottom | 设置 Bottom CompoundDrawables ( 按照原有比例大小显示图片 ) |
| setCompoundDrawablesWithIntrinsicBounds | 设置 CompoundDrawables ( 按照原有比例大小显示图片 ) |
| setAutoSizeTextTypeWithDefaults | 通过设置默认的自动调整大小配置, 决定是否自动缩放文本 |
| setAutoSizeTextTypeUniformWithConfiguration | 设置 TextView 自动调整字体大小配置 |
| setAutoSizeTextTypeUniformWithPresetSizes | 设置 TextView 自动调整如果预设字体大小范围有效则修改类型为 AUTO_SIZE_TEXT_TYPE_UNIFORM |
| setLayoutManager | 设置 RecyclerView LayoutManager |
| setSpanCount | 设置 GridLayoutManager SpanCount |
| setOrientation | 设置 RecyclerView Orientation |
| setAdapter | 设置 RecyclerView Adapter |
| notifyItemRemoved | RecyclerView notifyItemRemoved |
| notifyItemInserted | RecyclerView notifyItemInserted |
| notifyItemMoved | RecyclerView notifyItemMoved |
| notifyDataSetChanged | RecyclerView notifyDataSetChanged |
| attachLinearSnapHelper | 设置 RecyclerView LinearSnapHelper |
| attachPagerSnapHelper | 设置 RecyclerView PagerSnapHelper |
| addItemDecoration | 添加 RecyclerView ItemDecoration |
| removeItemDecoration | 移除 RecyclerView ItemDecoration |
| removeItemDecorationAt | 移除 RecyclerView ItemDecoration |
| removeAllItemDecoration | 移除 RecyclerView 全部 ItemDecoration |
| setOnScrollListener | 设置 RecyclerView ScrollListener |
| addOnScrollListener | 添加 RecyclerView ScrollListener |
| removeOnScrollListener | 移除 RecyclerView ScrollListener |
| clearOnScrollListeners | 清空 RecyclerView ScrollListener |
| setNestedScrollingEnabled | 设置 RecyclerView 嵌套滚动开关 |
| forceGetViewSize | 在 onCreate 中获取视图的尺寸 ( 需回调 onGetSizeListener 接口, 在 onGetSize 中获取 View 宽高 ) |
## **`dev.utils.app.helper.version`**
* **VersionHelper 接口 ->** [IHelperByVersion.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/helper/version/IHelperByVersion.java)
| 方法 | 注释 |
| :- | :- |
| getUriForFile | 获取 FileProvider File Uri |
| getUriForPath | 获取 FileProvider File Path Uri |
| getUriForFileToName | 获取 FileProvider File Path Uri ( 自动添加包名 ${applicationId} ) |
| getUriForString | 通过 String 获取 Uri |
| fromFile | 通过 File Path 创建 Uri |
| isUri | 判断是否 Uri |
| getUriScheme | 获取 Uri Scheme |
| isUriExists | 判断 Uri 路径资源是否存在 |
| copyByUri | 通过 Uri 复制文件 |
| getFilePathByUri | 通过 Uri 获取文件路径 |
| getMediaUri | 通过 File 获取 Media Uri |
| mediaQuery | 通过 File 获取 Media 信息 |
| notifyMediaStore | 通知刷新本地资源 |
| createImageUri | 创建图片 Uri |
| createVideoUri | 创建视频 Uri |
| createAudioUri | 创建音频 Uri |
| createDownloadUri | 创建 Download Uri |
| createMediaUri | 创建预存储 Media Uri |
| createUriByPath | 通过 File Path 创建 Uri |
| createUriByFile | 通过 File Path 创建 Uri |
| insertImage | 插入一张图片 |
| insertVideo | 插入一条视频 |
| insertAudio | 插入一条音频 |
| insertDownload | 插入一条文件资源 |
| insertMedia | 插入一条多媒体资源 |
| createWriteRequest | 获取用户向应用授予对指定媒体文件组的写入访问权限的请求 |
| createFavoriteRequest | 获取用户将设备上指定的媒体文件标记为收藏的请求 |
| createTrashRequest | 获取用户将指定的媒体文件放入设备垃圾箱的请求 |
| createDeleteRequest | 获取用户立即永久删除指定的媒体文件 ( 而不是先将其放入垃圾箱 ) 的请求 |
| isExternalStorageManager | 是否获得 MANAGE_EXTERNAL_STORAGE 权限 |
| checkExternalStorageAndIntentSetting | 检查是否有 MANAGE_EXTERNAL_STORAGE 权限并跳转设置页面 |
* **Android 版本适配 Helper 类 ->** [VersionHelper.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/helper/version/VersionHelper.java)
| 方法 | 注释 |
| :- | :- |
| get | 获取单例 VersionHelper |
| getUriForFile | 获取 FileProvider File Uri |
| getUriForPath | 获取 FileProvider File Path Uri |
| getUriForFileToName | 获取 FileProvider File Path Uri ( 自动添加包名 ${applicationId} ) |
| getUriForString | 通过 String 获取 Uri |
| fromFile | 通过 File Path 创建 Uri |
| isUri | 判断是否 Uri |
| getUriScheme | 获取 Uri Scheme |
| isUriExists | 判断 Uri 路径资源是否存在 |
| copyByUri | 通过 Uri 复制文件 |
| getFilePathByUri | 通过 Uri 获取文件路径 |
| getMediaUri | 通过 File 获取 Media Uri |
| mediaQuery | 通过 File 获取 Media 信息 |
| notifyMediaStore | 通知刷新本地资源 |
| createImageUri | 创建图片 Uri |
| createVideoUri | 创建视频 Uri |
| createAudioUri | 创建音频 Uri |
| createDownloadUri | 创建 Download Uri |
| createMediaUri | 创建预存储 Media Uri |
| createUriByPath | 通过 File Path 创建 Uri |
| createUriByFile | 通过 File Path 创建 Uri |
| insertImage | 插入一张图片 |
| insertVideo | 插入一条视频 |
| insertAudio | 插入一条音频 |
| insertDownload | 插入一条文件资源 |
| insertMedia | 插入一条多媒体资源 |
| createWriteRequest | 获取用户向应用授予对指定媒体文件组的写入访问权限的请求 |
| createFavoriteRequest | 获取用户将设备上指定的媒体文件标记为收藏的请求 |
| createTrashRequest | 获取用户将指定的媒体文件放入设备垃圾箱的请求 |
| createDeleteRequest | 获取用户立即永久删除指定的媒体文件 ( 而不是先将其放入垃圾箱 ) 的请求 |
| isExternalStorageManager | 是否获得 MANAGE_EXTERNAL_STORAGE 权限 |
| checkExternalStorageAndIntentSetting | 检查是否有 MANAGE_EXTERNAL_STORAGE 权限并跳转设置页面 |
## **`dev.utils.app.helper.view`**
* **ViewHelper 接口 ->** [IHelperByView.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/helper/view/IHelperByView.java)
| 方法 | 注释 |
| :- | :- |
| addTouchArea | 增加控件的触摸范围, 最大范围只能是父布局所包含的的区域 |
| setOnClick | 设置点击事件 |
| setOnLongClick | 设置长按事件 |
| setOnTouch | 设置触摸事件 |
| setId | 设置 View Id |
| setClipChildren | 设置是否限制子 View 在其边界内绘制 |
| removeAllViews | 移除全部子 View |
| addView | 添加 View |
| setLayoutParams | 设置 View LayoutParams |
| setWidthHeight | 设置 View[] 宽度、高度 |
| setWeight | 设置 View weight 权重 |
| setWidth | 设置 View 宽度 |
| setHeight | 设置 View 高度 |
| setMinimumWidth | 设置 View 最小宽度 |
| setMinimumHeight | 设置 View 最小高度 |
| setAlpha | 设置 View 透明度 |
| setTag | 设置 View TAG |
| setScrollX | 设置 View 滑动的 X 轴坐标 |
| setScrollY | 设置 View 滑动的 Y 轴坐标 |
| setDescendantFocusability | 设置 ViewGroup 和其子控件两者之间的关系 |
| setOverScrollMode | 设置 View 滚动模式 |
| setHorizontalScrollBarEnabled | 设置是否绘制横向滚动条 |
| setVerticalScrollBarEnabled | 设置是否绘制垂直滚动条 |
| setScrollContainer | 设置 View 滚动效应 |
| setNextFocusForwardId | 设置下一个获取焦点的 View id |
| setNextFocusDownId | 设置向下移动焦点时, 下一个获取焦点的 View id |
| setNextFocusLeftId | 设置向左移动焦点时, 下一个获取焦点的 View id |
| setNextFocusRightId | 设置向右移动焦点时, 下一个获取焦点的 View id |
| setNextFocusUpId | 设置向上移动焦点时, 下一个获取焦点的 View id |
| setRotation | 设置 View 旋转度数 |
| setRotationX | 设置 View 水平旋转度数 |
| setRotationY | 设置 View 竖直旋转度数 |
| setScaleX | 设置 View 水平方向缩放比例 |
| setScaleY | 设置 View 竖直方向缩放比例 |
| setTextAlignment | 设置文本的显示方式 |
| setTextDirection | 设置文本的显示方向 |
| setPivotX | 设置水平方向偏转量 |
| setPivotY | 设置竖直方向偏转量 |
| setTranslationX | 设置水平方向的移动距离 |
| setTranslationY | 设置竖直方向的移动距离 |
| setX | 设置 X 轴位置 |
| setY | 设置 Y 轴位置 |
| setLayerType | 设置 View 硬件加速类型 |
| requestLayout | 请求重新对 View 布局 |
| requestFocus | View 请求获取焦点 |
| clearFocus | View 清除焦点 |
| setFocusableInTouchMode | 设置 View 是否在触摸模式下获得焦点 |
| setFocusable | 设置 View 是否可以获取焦点 |
| toggleFocusable | 切换获取焦点状态 |
| setSelected | 设置 View 是否选中 |
| toggleSelected | 切换选中状态 |
| setEnabled | 设置 View 是否启用 |
| toggleEnabled | 切换 View 是否启用状态 |
| setClickable | 设置 View 是否可以点击 |
| toggleClickable | 切换 View 是否可以点击状态 |
| setLongClickable | 设置 View 是否可以长按 |
| toggleLongClickable | 切换 View 是否可以长按状态 |
| setVisibilitys | 设置 View 显示的状态 |
| setVisibilityINs | 设置 View 显示的状态 |
| toggleVisibilitys | 切换 View 显示的状态 |
| reverseVisibilitys | 反转 View 显示的状态 |
| toggleViews | 切换 View 状态 |
| removeSelfFromParent | 把自身从父 View 中移除 |
| requestLayoutParent | View 请求更新 |
| measureView | 测量 View |
| setLayoutGravity | 设置 View Layout Gravity |
| setMarginLeft | 设置 View Left Margin |
| setMarginTop | 设置 View Top Margin |
| setMarginRight | 设置 View Right Margin |
| setMarginBottom | 设置 View Bottom Margin |
| setMargin | 设置 Margin 边距 |
| setPaddingLeft | 设置 View Left Padding |
| setPaddingTop | 设置 View Top Padding |
| setPaddingRight | 设置 View Right Padding |
| setPaddingBottom | 设置 View Bottom Padding |
| setPadding | 设置 Padding 边距 |
| addRules | 设置多个 RelativeLayout View 布局规则 |
| removeRules | 移除多个 RelativeLayout View 布局规则 |
| setAnimation | 设置动画 |
| clearAnimation | 清空动画 |
| startAnimation | 启动动画 |
| cancelAnimation | 取消动画 |
| setBackground | 设置背景图片 |
| setBackgroundColor | 设置背景颜色 |
| setBackgroundResource | 设置背景资源 |
| setBackgroundTintList | 设置背景着色颜色 |
| setBackgroundTintMode | 设置背景着色模式 |
| setForeground | 设置前景图片 |
| setForegroundGravity | 设置前景重心 |
| setForegroundTintList | 设置前景着色颜色 |
| setForegroundTintMode | 设置前景着色模式 |
| setColorFilter | View 着色处理 |
| setProgressDrawable | 设置 ProgressBar 进度条样式 |
| setBarProgress | 设置 ProgressBar 进度值 |
| setBarMax | 设置 ProgressBar 最大值 |
| setBarValue | 设置 ProgressBar 最大值 |
| smoothScrollToPosition | 滑动到指定索引 ( 有滚动过程 ) |
| scrollToPosition | 滑动到指定索引 ( 无滚动过程 ) |
| smoothScrollToTop | 滑动到顶部 ( 有滚动过程 ) |
| scrollToTop | 滑动到顶部 ( 无滚动过程 ) |
| smoothScrollToBottom | 滑动到底部 ( 有滚动过程 ) |
| scrollToBottom | 滑动到底部 ( 无滚动过程 ) |
| smoothScrollTo | 滚动到指定位置 ( 有滚动过程, 相对于初始位置移动 ) |
| smoothScrollBy | 滚动到指定位置 ( 有滚动过程, 相对于上次移动的最后位置移动 ) |
| fullScroll | 滚动方向 ( 有滚动过程 ) |
| scrollTo | View 内容滚动位置 ( 相对于初始位置移动 ) |
| scrollBy | View 内部滚动位置 ( 相对于上次移动的最后位置移动 ) |
| setAdjustViewBounds | 设置 ImageView 是否保持宽高比 |
| setMaxHeight | 设置 ImageView 最大高度 |
| setMaxWidth | 设置 ImageView 最大宽度 |
| setImageLevel | 设置 ImageView Level |
| setImageBitmap | 设置 ImageView Bitmap |
| setImageDrawable | 设置 ImageView Drawable |
| setImageResource | 设置 ImageView 资源 |
| setImageMatrix | 设置 ImageView Matrix |
| setImageTintList | 设置 ImageView 着色颜色 |
| setImageTintMode | 设置 ImageView 着色模式 |
| setScaleType | 设置 ImageView 缩放类型 |
| setBackgroundResources | 设置 View 图片资源 |
| setImageResources | 设置 View 图片资源 |
| setImageBitmaps | 设置 View Bitmap |
| setImageDrawables | 设置 View Drawable |
| setScaleTypes | 设置 View 缩放模式 |
| setText | 设置文本 |
| setMaxLength | 设置长度限制 |
| setMaxLengthAndText | 设置长度限制, 并且设置内容 |
| setInputType | 设置输入类型 |
| setImeOptions | 设置软键盘右下角按钮类型 |
| setTransformationMethod | 设置文本视图显示转换 |
| insert | 追加内容 ( 当前光标位置追加 ) |
| setCursorVisible | 设置是否显示光标 |
| setTextCursorDrawable | 设置光标 |
| setSelectionToTop | 设置光标在第一位 |
| setSelectionToBottom | 设置光标在最后一位 |
| setSelection | 设置光标位置 |
| addTextChangedListener | 添加输入监听事件 |
| removeTextChangedListener | 移除输入监听事件 |
| setKeyListener | 设置 KeyListener |
| setHint | 设置 Hint 文本 |
| setHintTextColors | 设置多个 TextView Hint 字体颜色 |
| setTextColors | 设置多个 TextView 字体颜色 |
| setHtmlTexts | 设置多个 TextView Html 内容 |
| setTypeface | 设置字体 |
| setTextSizeByPx | 设置字体大小 ( px 像素 ) |
| setTextSizeBySp | 设置字体大小 ( sp 缩放像素 ) |
| setTextSizeByDp | 设置字体大小 ( dp 与设备无关的像素 ) |
| setTextSizeByIn | 设置字体大小 ( inches 英寸 ) |
| setTextSize | 设置字体大小 |
| clearFlags | 清空 flags |
| setPaintFlags | 设置 TextView flags |
| setAntiAliasFlag | 设置 TextView 抗锯齿 flags |
| setBold | 设置 TextView 是否加粗 |
| setUnderlineText | 设置下划线 |
| setStrikeThruText | 设置中划线 |
| setLetterSpacing | 设置文字水平间距 |
| setLineSpacing | 设置文字行间距 ( 行高 ) |
| setLineSpacingAndMultiplier | 设置文字行间距 ( 行高 ) 、行间距倍数 |
| setTextScaleX | 设置字体水平方向的缩放 |
| setIncludeFontPadding | 设置是否保留字体留白间隙区域 |
| setLines | 设置行数 |
| setMaxLines | 设置最大行数 |
| setMinLines | 设置最小行数 |
| setMaxEms | 设置最大字符宽度限制 |
| setMinEms | 设置最小字符宽度限制 |
| setEms | 设置指定字符宽度 |
| setEllipsize | 设置 Ellipsize 效果 |
| setAutoLinkMask | 设置自动识别文本链接 |
| setAllCaps | 设置文本全为大写 |
| setGravity | 设置 Gravity |
| setCompoundDrawablePadding | 设置 CompoundDrawables Padding |
| setCompoundDrawablesByLeft | 设置 Left CompoundDrawables |
| setCompoundDrawablesByTop | 设置 Top CompoundDrawables |
| setCompoundDrawablesByRight | 设置 Right CompoundDrawables |
| setCompoundDrawablesByBottom | 设置 Bottom CompoundDrawables |
| setCompoundDrawables | 设置 CompoundDrawables |
| setCompoundDrawablesWithIntrinsicBoundsByLeft | 设置 Left CompoundDrawables ( 按照原有比例大小显示图片 ) |
| setCompoundDrawablesWithIntrinsicBoundsByTop | 设置 Top CompoundDrawables ( 按照原有比例大小显示图片 ) |
| setCompoundDrawablesWithIntrinsicBoundsByRight | 设置 Right CompoundDrawables ( 按照原有比例大小显示图片 ) |
| setCompoundDrawablesWithIntrinsicBoundsByBottom | 设置 Bottom CompoundDrawables ( 按照原有比例大小显示图片 ) |
| setCompoundDrawablesWithIntrinsicBounds | 设置 CompoundDrawables ( 按照原有比例大小显示图片 ) |
| setAutoSizeTextTypeWithDefaults | 通过设置默认的自动调整大小配置, 决定是否自动缩放文本 |
| setAutoSizeTextTypeUniformWithConfiguration | 设置 TextView 自动调整字体大小配置 |
| setAutoSizeTextTypeUniformWithPresetSizes | 设置 TextView 自动调整如果预设字体大小范围有效则修改类型为 AUTO_SIZE_TEXT_TYPE_UNIFORM |
| setLayoutManager | 设置 RecyclerView LayoutManager |
| setSpanCount | 设置 GridLayoutManager SpanCount |
| setOrientation | 设置 RecyclerView Orientation |
| setAdapter | 设置 RecyclerView Adapter |
| notifyItemRemoved | RecyclerView notifyItemRemoved |
| notifyItemInserted | RecyclerView notifyItemInserted |
| notifyItemMoved | RecyclerView notifyItemMoved |
| notifyDataSetChanged | RecyclerView notifyDataSetChanged |
| attachLinearSnapHelper | 设置 RecyclerView LinearSnapHelper |
| attachPagerSnapHelper | 设置 RecyclerView PagerSnapHelper |
| addItemDecoration | 添加 RecyclerView ItemDecoration |
| removeItemDecoration | 移除 RecyclerView ItemDecoration |
| removeItemDecorationAt | 移除 RecyclerView ItemDecoration |
| removeAllItemDecoration | 移除 RecyclerView 全部 ItemDecoration |
| setOnScrollListener | 设置 RecyclerView ScrollListener |
| addOnScrollListener | 添加 RecyclerView ScrollListener |
| removeOnScrollListener | 移除 RecyclerView ScrollListener |
| clearOnScrollListeners | 清空 RecyclerView ScrollListener |
| setNestedScrollingEnabled | 设置 RecyclerView 嵌套滚动开关 |
| forceGetViewSize | 在 onCreate 中获取视图的尺寸 ( 需回调 onGetSizeListener 接口, 在 onGetSize 中获取 View 宽高 ) |
* **View 链式调用快捷设置 Helper 类 ->** [ViewHelper.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/helper/view/ViewHelper.java)
| 方法 | 注释 |
| :- | :- |
| get | 获取单例 ViewHelper |
| flow | 执行 Action 流方法 |
| postRunnable | 在主线程 Handler 中执行任务 |
| removeRunnable | 在主线程 Handler 中清除任务 |
| addTouchArea | 增加控件的触摸范围, 最大范围只能是父布局所包含的的区域 |
| setOnClick | 设置点击事件 |
| setOnLongClick | 设置长按事件 |
| setOnTouch | 设置触摸事件 |
| setId | 设置 View Id |
| setClipChildren | 设置是否限制子 View 在其边界内绘制 |
| removeAllViews | 移除全部子 View |
| addView | 添加 View |
| setLayoutParams | 设置 View LayoutParams |
| setWidthHeight | 设置 View[] 宽度、高度 |
| setWeight | 设置 View weight 权重 |
| setWidth | 设置 View 宽度 |
| setHeight | 设置 View 高度 |
| setMinimumWidth | 设置 View 最小宽度 |
| setMinimumHeight | 设置 View 最小高度 |
| setAlpha | 设置 View 透明度 |
| setTag | 设置 View TAG |
| setScrollX | 设置 View 滑动的 X 轴坐标 |
| setScrollY | 设置 View 滑动的 Y 轴坐标 |
| setDescendantFocusability | 设置 ViewGroup 和其子控件两者之间的关系 |
| setOverScrollMode | 设置 View 滚动模式 |
| setHorizontalScrollBarEnabled | 设置是否绘制横向滚动条 |
| setVerticalScrollBarEnabled | 设置是否绘制垂直滚动条 |
| setScrollContainer | 设置 View 滚动效应 |
| setNextFocusForwardId | 设置下一个获取焦点的 View id |
| setNextFocusDownId | 设置向下移动焦点时, 下一个获取焦点的 View id |
| setNextFocusLeftId | 设置向左移动焦点时, 下一个获取焦点的 View id |
| setNextFocusRightId | 设置向右移动焦点时, 下一个获取焦点的 View id |
| setNextFocusUpId | 设置向上移动焦点时, 下一个获取焦点的 View id |
| setRotation | 设置 View 旋转度数 |
| setRotationX | 设置 View 水平旋转度数 |
| setRotationY | 设置 View 竖直旋转度数 |
| setScaleX | 设置 View 水平方向缩放比例 |
| setScaleY | 设置 View 竖直方向缩放比例 |
| setTextAlignment | 设置文本的显示方式 |
| setTextDirection | 设置文本的显示方向 |
| setPivotX | 设置水平方向偏转量 |
| setPivotY | 设置竖直方向偏转量 |
| setTranslationX | 设置水平方向的移动距离 |
| setTranslationY | 设置竖直方向的移动距离 |
| setX | 设置 X 轴位置 |
| setY | 设置 Y 轴位置 |
| setLayerType | 设置 View 硬件加速类型 |
| requestLayout | 请求重新对 View 布局 |
| requestFocus | View 请求获取焦点 |
| clearFocus | View 清除焦点 |
| setFocusableInTouchMode | 设置 View 是否在触摸模式下获得焦点 |
| setFocusable | 设置 View 是否可以获取焦点 |
| toggleFocusable | 切换获取焦点状态 |
| setSelected | 设置 View 是否选中 |
| toggleSelected | 切换选中状态 |
| setEnabled | 设置 View 是否启用 |
| toggleEnabled | 切换 View 是否启用状态 |
| setClickable | 设置 View 是否可以点击 |
| toggleClickable | 切换 View 是否可以点击状态 |
| setLongClickable | 设置 View 是否可以长按 |
| toggleLongClickable | 切换 View 是否可以长按状态 |
| setVisibilitys | 设置 View 显示的状态 |
| setVisibilityINs | 设置 View 显示的状态 |
| toggleVisibilitys | 切换 View 显示的状态 |
| reverseVisibilitys | 反转 View 显示的状态 |
| toggleViews | 切换 View 状态 |
| removeSelfFromParent | 把自身从父 View 中移除 |
| requestLayoutParent | View 请求更新 |
| measureView | 测量 View |
| setLayoutGravity | 设置 View Layout Gravity |
| setMarginLeft | 设置 View Left Margin |
| setMarginTop | 设置 View Top Margin |
| setMarginRight | 设置 View Right Margin |
| setMarginBottom | 设置 View Bottom Margin |
| setMargin | 设置 Margin 边距 |
| setPaddingLeft | 设置 View Left Padding |
| setPaddingTop | 设置 View Top Padding |
| setPaddingRight | 设置 View Right Padding |
| setPaddingBottom | 设置 View Bottom Padding |
| setPadding | 设置 Padding 边距 |
| addRules | 设置多个 RelativeLayout View 布局规则 |
| removeRules | 移除多个 RelativeLayout View 布局规则 |
| setAnimation | 设置动画 |
| clearAnimation | 清空动画 |
| startAnimation | 启动动画 |
| cancelAnimation | 取消动画 |
| setBackground | 设置背景图片 |
| setBackgroundColor | 设置背景颜色 |
| setBackgroundResource | 设置背景资源 |
| setBackgroundTintList | 设置背景着色颜色 |
| setBackgroundTintMode | 设置背景着色模式 |
| setForeground | 设置前景图片 |
| setForegroundGravity | 设置前景重心 |
| setForegroundTintList | 设置前景着色颜色 |
| setForegroundTintMode | 设置前景着色模式 |
| setColorFilter | View 着色处理 |
| setProgressDrawable | 设置 ProgressBar 进度条样式 |
| setBarProgress | 设置 ProgressBar 进度值 |
| setBarMax | 设置 ProgressBar 最大值 |
| setBarValue | 设置 ProgressBar 最大值 |
| smoothScrollToPosition | 滑动到指定索引 ( 有滚动过程 ) |
| scrollToPosition | 滑动到指定索引 ( 无滚动过程 ) |
| smoothScrollToTop | 滑动到顶部 ( 有滚动过程 ) |
| scrollToTop | 滑动到顶部 ( 无滚动过程 ) |
| smoothScrollToBottom | 滑动到底部 ( 有滚动过程 ) |
| scrollToBottom | 滑动到底部 ( 无滚动过程 ) |
| smoothScrollTo | 滚动到指定位置 ( 有滚动过程, 相对于初始位置移动 ) |
| smoothScrollBy | 滚动到指定位置 ( 有滚动过程, 相对于上次移动的最后位置移动 ) |
| fullScroll | 滚动方向 ( 有滚动过程 ) |
| scrollTo | View 内容滚动位置 ( 相对于初始位置移动 ) |
| scrollBy | View 内部滚动位置 ( 相对于上次移动的最后位置移动 ) |
| setAdjustViewBounds | 设置 ImageView 是否保持宽高比 |
| setMaxHeight | 设置 ImageView 最大高度 |
| setMaxWidth | 设置 ImageView 最大宽度 |
| setImageLevel | 设置 ImageView Level |
| setImageBitmap | 设置 ImageView Bitmap |
| setImageDrawable | 设置 ImageView Drawable |
| setImageResource | 设置 ImageView 资源 |
| setImageMatrix | 设置 ImageView Matrix |
| setImageTintList | 设置 ImageView 着色颜色 |
| setImageTintMode | 设置 ImageView 着色模式 |
| setScaleType | 设置 ImageView 缩放类型 |
| setBackgroundResources | 设置 View 图片资源 |
| setImageResources | 设置 View 图片资源 |
| setImageBitmaps | 设置 View Bitmap |
| setImageDrawables | 设置 View Drawable |
| setScaleTypes | 设置 View 缩放模式 |
| setText | 设置文本 |
| setMaxLength | 设置长度限制 |
| setMaxLengthAndText | 设置长度限制, 并且设置内容 |
| setInputType | 设置输入类型 |
| setImeOptions | 设置软键盘右下角按钮类型 |
| setTransformationMethod | 设置文本视图显示转换 |
| insert | 追加内容 ( 当前光标位置追加 ) |
| setCursorVisible | 设置是否显示光标 |
| setTextCursorDrawable | 设置光标 |
| setSelectionToTop | 设置光标在第一位 |
| setSelectionToBottom | 设置光标在最后一位 |
| setSelection | 设置光标位置 |
| addTextChangedListener | 添加输入监听事件 |
| removeTextChangedListener | 移除输入监听事件 |
| setKeyListener | 设置 KeyListener |
| setHint | 设置 Hint 文本 |
| setHintTextColors | 设置多个 TextView Hint 字体颜色 |
| setTextColors | 设置多个 TextView 字体颜色 |
| setHtmlTexts | 设置多个 TextView Html 内容 |
| setTypeface | 设置字体 |
| setTextSizeByPx | 设置字体大小 ( px 像素 ) |
| setTextSizeBySp | 设置字体大小 ( sp 缩放像素 ) |
| setTextSizeByDp | 设置字体大小 ( dp 与设备无关的像素 ) |
| setTextSizeByIn | 设置字体大小 ( inches 英寸 ) |
| setTextSize | 设置字体大小 |
| clearFlags | 清空 flags |
| setPaintFlags | 设置 TextView flags |
| setAntiAliasFlag | 设置 TextView 抗锯齿 flags |
| setBold | 设置 TextView 是否加粗 |
| setUnderlineText | 设置下划线 |
| setStrikeThruText | 设置中划线 |
| setLetterSpacing | 设置文字水平间距 |
| setLineSpacing | 设置文字行间距 ( 行高 ) |
| setLineSpacingAndMultiplier | 设置文字行间距 ( 行高 ) 、行间距倍数 |
| setTextScaleX | 设置字体水平方向的缩放 |
| setIncludeFontPadding | 设置是否保留字体留白间隙区域 |
| setLines | 设置行数 |
| setMaxLines | 设置最大行数 |
| setMinLines | 设置最小行数 |
| setMaxEms | 设置最大字符宽度限制 |
| setMinEms | 设置最小字符宽度限制 |
| setEms | 设置指定字符宽度 |
| setEllipsize | 设置 Ellipsize 效果 |
| setAutoLinkMask | 设置自动识别文本链接 |
| setAllCaps | 设置文本全为大写 |
| setGravity | 设置 Gravity |
| setCompoundDrawablePadding | 设置 CompoundDrawables Padding |
| setCompoundDrawablesByLeft | 设置 Left CompoundDrawables |
| setCompoundDrawablesByTop | 设置 Top CompoundDrawables |
| setCompoundDrawablesByRight | 设置 Right CompoundDrawables |
| setCompoundDrawablesByBottom | 设置 Bottom CompoundDrawables |
| setCompoundDrawables | 设置 CompoundDrawables |
| setCompoundDrawablesWithIntrinsicBoundsByLeft | 设置 Left CompoundDrawables ( 按照原有比例大小显示图片 ) |
| setCompoundDrawablesWithIntrinsicBoundsByTop | 设置 Top CompoundDrawables ( 按照原有比例大小显示图片 ) |
| setCompoundDrawablesWithIntrinsicBoundsByRight | 设置 Right CompoundDrawables ( 按照原有比例大小显示图片 ) |
| setCompoundDrawablesWithIntrinsicBoundsByBottom | 设置 Bottom CompoundDrawables ( 按照原有比例大小显示图片 ) |
| setCompoundDrawablesWithIntrinsicBounds | 设置 CompoundDrawables ( 按照原有比例大小显示图片 ) |
| setAutoSizeTextTypeWithDefaults | 通过设置默认的自动调整大小配置, 决定是否自动缩放文本 |
| setAutoSizeTextTypeUniformWithConfiguration | 设置 TextView 自动调整字体大小配置 |
| setAutoSizeTextTypeUniformWithPresetSizes | 设置 TextView 自动调整如果预设字体大小范围有效则修改类型为 AUTO_SIZE_TEXT_TYPE_UNIFORM |
| setLayoutManager | 设置 RecyclerView LayoutManager |
| setSpanCount | 设置 GridLayoutManager SpanCount |
| setOrientation | 设置 RecyclerView Orientation |
| setAdapter | 设置 RecyclerView Adapter |
| notifyItemRemoved | RecyclerView notifyItemRemoved |
| notifyItemInserted | RecyclerView notifyItemInserted |
| notifyItemMoved | RecyclerView notifyItemMoved |
| notifyDataSetChanged | RecyclerView notifyDataSetChanged |
| attachLinearSnapHelper | 设置 RecyclerView LinearSnapHelper |
| attachPagerSnapHelper | 设置 RecyclerView PagerSnapHelper |
| addItemDecoration | 添加 RecyclerView ItemDecoration |
| removeItemDecoration | 移除 RecyclerView ItemDecoration |
| removeItemDecorationAt | 移除 RecyclerView ItemDecoration |
| removeAllItemDecoration | 移除 RecyclerView 全部 ItemDecoration |
| setOnScrollListener | 设置 RecyclerView ScrollListener |
| addOnScrollListener | 添加 RecyclerView ScrollListener |
| removeOnScrollListener | 移除 RecyclerView ScrollListener |
| clearOnScrollListeners | 清空 RecyclerView ScrollListener |
| setNestedScrollingEnabled | 设置 RecyclerView 嵌套滚动开关 |
| forceGetViewSize | 在 onCreate 中获取视图的尺寸 ( 需回调 onGetSizeListener 接口, 在 onGetSize 中获取 View 宽高 ) |
## **`dev.utils.app.image`**
* **Bitmap 工具类 ->** [BitmapUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/image/BitmapUtils.java)
| 方法 | 注释 |
| :- | :- |
| isEmpty | 判断 Bitmap 对象是否为 null |
| isNotEmpty | 判断 Bitmap 对象是否不为 null |
| isImage | 根据文件判断是否为图片 |
| getBitmapWidth | 获取 Bitmap 宽度 |
| getBitmapHeight | 获取 Bitmap 高度 |
| getBitmapWidthHeight | 获取 Bitmap 宽高 |
| copy | 复制 Bitmap |
| extractAlpha | 获取 Alpha 位图 ( 获取源图片的轮廓 rgb 为 0 ) |
| recode | 重新编码 Bitmap |
| recycle | Bitmap 通知回收 |
| rotate | 旋转图片 |
| getRotationDegrees | 读取图片属性, 获取图片旋转角度 |
| reverseByHorizontal | 水平翻转图片 ( 左右颠倒 ) |
| reverseByVertical | 垂直翻转图片 ( 上下颠倒 ) |
| reverse | 翻转图片 |
| zoom | 缩放图片 ( 指定所需宽高 ) |
| scale | 缩放图片 ( 比例缩放 ) |
| skew | 倾斜图片 |
| clip | 裁剪图片 |
| crop | 裁剪图片 ( 返回指定比例图片 ) |
| combine | 合并图片 |
| combineToCenter | 合并图片 ( 居中 ) |
| combineToSameSize | 合并图片 ( 转为相同大小 ) |
| reflection | 图片倒影处理 |
| roundCorner | 图片圆角处理 ( 非圆形 ) |
| roundCornerTop | 图片圆角处理 ( 非圆形, 只有 leftTop、rightTop ) |
| roundCornerBottom | 图片圆角处理 ( 非圆形, 只有 leftBottom、rightBottom ) |
| round | 图片圆形处理 |
| addCornerBorder | 添加圆角边框 |
| addCircleBorder | 添加圆形边框 |
| addBorder | 添加边框 |
| addTextWatermark | 添加文字水印 |
| addImageWatermark | 添加图片水印 |
| compressByZoom | 按缩放宽高压缩 |
| compressByScale | 按缩放比例压缩 |
| compressByQuality | 按质量压缩 |
| compressByByteSize | 按质量压缩 ( 图片大小 ) |
| compressBySampleSize | 按采样大小压缩 |
| calculateInSampleSize | 计算采样大小 |
| calculateQuality | 计算最佳压缩质量值 |
| getVideoThumbnail | 获取视频缩略图 |
* **图片格式转换工具类 ->** [ImageConvertUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/image/ImageConvertUtils.java)
| 方法 | 注释 |
| :- | :- |
| convertBMP | 图片转换 BMP 格式 byte[] 数据 |
* **图片 ( 滤镜、效果 ) 工具类 ->** [ImageFilterUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/image/ImageFilterUtils.java)
| 方法 | 注释 |
| :- | :- |
| blur | 图片模糊处理 ( Android RenderScript 实现, 效率最高 ) |
| fastBlur | 图片模糊处理 ( 毛玻璃化 FastBlur Java 实现 ) |
| nostalgic | 怀旧效果处理 |
| sunshine | 光照效果处理 |
| film | 底片效果处理 |
| soften | 柔化效果处理 |
| sharpen | 锐化效果处理 |
| emboss | 浮雕效果处理 |
| gray | 转为灰度图片 |
| saturation | 饱和度处理 |
| lum | 亮度处理 |
| hue | 色相处理 |
| lumHueSaturation | 亮度、色相、饱和度处理 |
| yuvLandscapeToPortrait | 将 YUV 格式的图片的源数据从横屏模式转为竖屏模式 |
* **Image ( Bitmap、Drawable 等 ) 工具类 ->** [ImageUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/image/ImageUtils.java)
| 方法 | 注释 |
| :- | :- |
| isEmpty | 判断 Bitmap 对象是否为 null |
| isNotEmpty | 判断 Bitmap 对象是否不为 null |
| isImageFormats | 根据文件名判断文件是否为图片 |
| getImageType | 获取图片类型 |
| isPNG | 判断是否 PNG 图片 |
| isJPEG | 判断是否 JPG 图片 |
| isBMP | 判断是否 BMP 图片 |
| isGif | 判断是否 GIF 图片 |
| isWEBP | 判断是否 WEBP 图片 |
| isICO | 判断是否 ICO 图片 |
| isTIFF | 判断是否 TIFF 图片 |
| decodeFile | 获取 Bitmap |
| decodeResource | 获取 Bitmap |
| decodeStream | 获取 Bitmap |
| decodeFileDescriptor | 获取 Bitmap |
| decodeByteArray | 获取 Bitmap |
| saveBitmapToSDCardJPEG | 保存图片到 SDCard ( JPEG ) |
| saveBitmapToSDCardPNG | 保存图片到 SDCard ( PNG ) |
| saveBitmapToSDCardWEBP | 保存图片到 SDCard ( WEBP ) |
| saveBitmapToSDCard | 保存图片到 SDCard |
| saveBitmapToStreamJPEG | 保存 JPEG 图片 |
| saveBitmapToStreamPNG | 保存 PNG 图片 |
| saveBitmapToStreamWEBP | 保存 WEBP 图片 |
| saveBitmapToStream | 保存图片 |
| get9PatchDrawable | 获取 .9 Drawable |
| setColorFilter | 图片着色 ( tint ) |
| getBitmap | 获取 Bitmap |
| getBitmapFromView | 通过 View 绘制为 Bitmap |
| getBitmapFromViewCache | 通过 View Cache 绘制为 Bitmap |
| bitmapToByte | Bitmap 转换成 byte[] |
| drawableToByte | Drawable 转换成 byte[] |
| byteToBitmap | byte[] 转 Bitmap |
| bitmapToDrawable | Bitmap 转 Drawable |
| byteToDrawable | byte[] 转 Drawable |
| drawableToBitmap | Drawable 转 Bitmap |
| setBounds | 设置 Drawable 绘制区域 |
## **`dev.utils.app.info`**
* **APK 信息 Item ->** [ApkInfoItem.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/info/ApkInfoItem.java)
| 方法 | 注释 |
| :- | :- |
| get | 获取 ApkInfoItem |
| getAppInfoBean | 获取 AppInfoBean |
| getListKeyValues | 获取 List 信息键对值集合 |
| getAppMD5 | 获取 APP MD5 签名 |
| getAppSHA1 | 获取 APP SHA1 签名 |
| getAppSHA256 | 获取 APP SHA256 签名 |
| getMinSdkVersion | 获取 APP 最低支持 Android SDK 版本 |
| getTargetSdkVersion | 获取 APP 兼容 SDK 版本 |
| getApkLength | 获取 APP 安装包大小 |
| getX509Certificate | 获取证书对象 |
| getNotBefore | 获取证书生成日期 |
| getNotAfter | 获取证书有效期 |
| isEffective | 获取证书是否过期 |
| getCertPrincipal | 获取证书发布方 |
| getCertVersion | 获取证书版本号 |
| getCertSigAlgName | 获取证书算法名称 |
| getCertSigAlgOID | 获取证书算法 OID |
| getCertSerialnumber | 获取证书机器码 |
| getCertDERCode | 获取证书 DER 编码 |
* **APP 信息实体类 ->** [AppInfoBean.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/info/AppInfoBean.java)
| 方法 | 注释 |
| :- | :- |
| get | 获取 AppInfoBean |
| getAppPackName | 获取 APP 包名 |
| getAppName | 获取 APP 应用名 |
| getAppIcon | 获取 APP 图标 |
| getAppType | 获取 APP 类型 |
| getVersionCode | 获取 versionCode |
| getVersionName | 获取 versionName |
| getFirstInstallTime | 获取 APP 首次安装时间 |
| getLastUpdateTime | 获取 APP 最后更新时间 |
| getSourceDir | 获取 APK 地址 |
| getApkSize | 获取 APK 大小 |
| isSystemApp | 是否系统程序 |
| isSystemUpdateApp | 是否系统程序被手动更新后, 也成为第三方应用程序 |
* **APP 信息 Item ->** [AppInfoItem.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/info/AppInfoItem.java)
| 方法 | 注释 |
| :- | :- |
| get | 获取 AppInfoItem |
| getAppInfoBean | 获取 AppInfoBean |
| getListKeyValues | 获取 List 信息键对值集合 |
| getAppMD5 | 获取 APP MD5 签名 |
| getAppSHA1 | 获取 APP SHA1 签名 |
| getAppSHA256 | 获取 APP SHA256 签名 |
| getMinSdkVersion | 获取 APP 最低支持 Android SDK 版本 |
| getTargetSdkVersion | 获取 APP 兼容 SDK 版本 |
| getApkLength | 获取 APP 安装包大小 |
| getX509Certificate | 获取证书对象 |
| getNotBefore | 获取证书生成日期 |
| getNotAfter | 获取证书有效期 |
| isEffective | 获取证书是否过期 |
| getCertPrincipal | 获取证书发布方 |
| getCertVersion | 获取证书版本号 |
| getCertSigAlgName | 获取证书算法名称 |
| getCertSigAlgOID | 获取证书算法 OID |
| getCertSerialnumber | 获取证书机器码 |
| getCertDERCode | 获取证书 DER 编码 |
* **APP 信息获取工具类 ->** [AppInfoUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/info/AppInfoUtils.java)
| 方法 | 注释 |
| :- | :- |
| getPackageInfoToFile | 通过 APK 路径 初始化 PackageInfo |
| getPackageInfoToPath | 通过 APK 路径 初始化 PackageInfo |
| getPackageInfo | 获取当前应用 PackageInfo |
| getAppInfoBeanToFile | 通过 APK 路径 获取 AppInfoBean |
| getAppInfoBeanToPath | 通过 APK 路径 获取 AppInfoBean |
| getAppInfoBean | 获取当前应用 AppInfoBean |
| getApkInfoItem | 获取 APK 详细信息 |
| getAppInfoItem | 获取 APP 详细信息 |
| getAppLists | 获取全部 APP 列表 |
| getAppPermissionToList | 获取 APP 注册的权限 |
| getAppPermissionToSet | 获取 APP 注册的权限 |
| getAppPermission | 获取 APP 注册的权限 |
| printAppPermission | 打印 APP 注册的权限 |
| getAllLauncherIconPackages | 获取所有能够显示在桌面上的应用 |
| getAllLauncherIconPackageNames | 获取所有能够显示在桌面上的应用包名 |
* **键对值实体类 ->** [KeyValue.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/info/KeyValue.java)
| 方法 | 注释 |
| :- | :- |
| getKey | 获取 key |
| getValue | 获取 value |
| get | 通过 resId 设置 key |
## **`dev.utils.app.logger`**
* **日志操作类 ( 对外公开直接调用 ) ->** [DevLogger.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/logger/DevLogger.java)
| 方法 | 注释 |
| :- | :- |
| other | 使用单次其他日志配置 |
| getLogConfig | 获取日志配置信息 |
| initialize | 初始化日志配置信息 ( 使用默认配置 ) |
| d | 打印 Log.DEBUG |
| e | 打印 Log.ERROR |
| w | 打印 Log.WARN |
| i | 打印 Log.INFO |
| v | 打印 Log.VERBOSE |
| wtf | 打印 Log.ASSERT |
| json | 格式化 JSON 格式数据, 并打印 |
| xml | 格式化 XML 格式数据, 并打印 |
| dTag | 打印 Log.DEBUG |
| eTag | 打印 Log.ERROR |
| wTag | 打印 Log.WARN |
| iTag | 打印 Log.INFO |
| vTag | 打印 Log.VERBOSE |
| wtfTag | 打印 Log.ASSERT |
| jsonTag | 格式化 JSON 格式数据, 并打印 |
| xmlTag | 格式化 XML 格式数据, 并打印 |
| setPrint | 设置日志输出接口 |
| printLog | 日志打印 |
* **日志配置类 ->** [LogConfig.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/logger/LogConfig.java)
| 方法 | 注释 |
| :- | :- |
| getReleaseLogConfig | 获取 Release Log 配置 ( 打印线程信息、显示方法总数 3、从 0 开始、不进行排序、默认只打印 ERROR 级别日志 ) |
| getDebugLogConfig | 获取 Debug Log 配置 ( 打印线程信息、显示方法总数 3、从 0 开始、不进行排序、默认只打印 ERROR 级别日志 ) |
| getSortLogConfig | 获取 Log 配置 ( 打印线程信息、显示方法总数 3、从 0 开始、并且美化日志信息、默认打印 DEBUG 级别及以上日志 ) |
| getLogConfig | 获取 Log 配置 |
| methodCount | 设置堆栈方法总数 |
| methodOffset | 设置堆栈方法索引偏移 |
| outputMethodAll | 设置是否输出全部方法 |
| displayThreadInfo | 设置是否显示日志线程信息 |
| sortLog | 设置是否排序日志 |
| logLevel | 设置日志级别 |
| tag | 设置 TAG |
## **`dev.utils.app.permission`**
* **权限请求工具类 ->** [PermissionUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/permission/PermissionUtils.java)
| 方法 | 注释 |
| :- | :- |
| isGranted | 判断是否授予了权限 |
| shouldShowRequestPermissionRationale | 获取拒绝权限询问勾选状态 |
| getDeniedPermissionStatus | 获取拒绝权限询问状态集合 |
| canRequestPackageInstalls | 是否存在 APK 安装权限 |
| getAllPermissionToSet | 获取全部权限 |
| getAllPermissionToList | 获取全部权限 |
| getAppPermissionToList | 获取 APP 注册的权限 |
| getAppPermissionToSet | 获取 APP 注册的权限 |
| getAppPermission | 获取 APP 注册的权限 |
| permission | 申请权限初始化 |
| callback | 设置回调方法 |
| setRequestPermissionsResult | 设置是否需要在 Activity 的 onRequestPermissionsResult 回调中, 调用 PermissionUtils.onRequestPermissionsResult(this); |
| request | 请求权限 |
| onRequestPermissionsResult | 请求权限回调 ( 需要在 Activity 的 onRequestPermissionsResult 回调中, 调用 PermissionUtils.onRequestPermissionsResult(this); ) |
| notifyPermissionsChange | 刷新权限改变处理 ( 清空已拒绝的权限记录 ) |
| againRequest | 再次请求处理操作 |
## **`dev.utils.app.player`**
* **MediaPlayer 统一管理类 ->** [DevMediaManager.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/player/DevMediaManager.java)
| 方法 | 注释 |
| :- | :- |
| getInstance | 获取 DevMediaManager 实例 |
| setAudioStreamType | 设置流类型 |
| playPrepareRaw | 播放 Raw 资源 |
| playPrepareAssets | 播放 Assets 资源 |
| playPrepare | 预加载播放 ( file-path or http/rtsp URL ) http 资源、本地资源 |
| isPlaying | 是否播放中 |
| pause | 暂停操作 |
| stop | 停止操作 ( 销毁 MediaPlayer ) |
| isIgnoreWhat | 是否忽略错误类型 |
| setMediaListener | 设置 MediaPlayer 回调事件 |
| isNullMediaPlayer | 判断 MediaPlayer 是否为 null |
| isNotNullMediaPlayer | 判断 MediaPlayer 是否不为 null |
| getMediaPlayer | 获取 MediaPlayer 对象 |
| setMediaPlayer | 设置 MediaPlayer 对象 |
| setTAG | 设置日志打印 TAG |
| getVolume | 获取播放音量 |
| setVolume | 设置播放音量 |
| getPlayRawId | 获取播放资源 id |
| getPlayUri | 获取播放地址 |
| getVideoWidth | 获取视频宽度 |
| getVideoHeight | 获取视频高度 |
| getCurrentPosition | 获取播放时间 |
| getDuration | 获取资源总时间 |
| getPlayPercent | 获取播放进度百分比 |
* **视频播放控制器 ->** [DevVideoPlayerControl.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/player/DevVideoPlayerControl.java)
| 方法 | 注释 |
| :- | :- |
| setMediaListener | 设置播放监听事件 |
| pausePlayer | 暂停播放 |
| stopPlayer | 停止播放 |
| startPlayer | 开始播放 |
| getSurfaceView | 获取 SurfaceView |
| isPlaying | 是否播放中 |
| isAutoPlay | 判断是否自动播放 |
| setAutoPlay | 设置自动播放 |
| getPlayUri | 获取播放地址 |
| getVideoWidth | 获取视频宽度 |
| getVideoHeight | 获取视频高度 |
| getCurrentPosition | 获取播放时间 |
| getDuration | 获取资源总时间 |
| getPlayPercent | 获取播放进度百分比 |
## **`dev.utils.app.share`**
* **SharedPreferences 操作监听器 ->** [OnSPOperateListener.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/share/OnSPOperateListener.java)
| 方法 | 注释 |
| :- | :- |
| onPut | put 操作回调 |
| onPutByMap | put 操作回调 ( 循环 Map 触发 ) |
| onRemove | remove 操作回调 |
| onRemoveByList | remove 操作回调 ( 循环 List 触发 ) |
| clear | 清除全部数据 |
| onGet | get 操作回调 |
* **SPUtils 快捷工具类 ->** [SharedUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/share/SharedUtils.java)
| 方法 | 注释 |
| :- | :- |
| registerListener | 注册 SharedPreferences 操作监听器 |
| unregisterListener | 注销 SharedPreferences 操作监听器 |
| put | 保存数据 |
| putAll | 保存 Map 集合 ( 只能是 Integer、Long、Boolean、Float、String、Set ) |
| get | 根据 key 获取数据 |
| getAll | 获取全部数据 |
| remove | 移除数据 |
| removeAll | 移除集合的数据 |
| contains | 是否存在 key |
| clear | 清除全部数据 |
| getInt | 获取 int 类型的数据 |
| getLong | 获取 long 类型的数据 |
| getFloat | 获取 float 类型的数据 |
| getDouble | 获取 double 类型的数据 |
| getBoolean | 获取 boolean 类型的数据 |
| getString | 获取 String 类型的数据 |
| getSet | 获取 Set 类型的数据 |
## **`dev.utils.app.timer`**
* **定时器 ->** [DevTimer.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/timer/DevTimer.java)
| 方法 | 注释 |
| :- | :- |
| getTag | 获取 TAG |
| getUUID | 获取 UUID HashCode |
| getDelay | 获取延迟时间 ( 多少毫秒后开始执行 ) |
| getPeriod | 获取循环时间 ( 每隔多少毫秒执行一次 ) |
| isRunning | 判断是否运行中 |
| isMarkSweep | 是否标记清除 |
| getTriggerNumber | 获取已经触发的次数 |
| getTriggerLimit | 获取允许触发的上限次数 |
| isTriggerEnd | 是否触发结束 ( 到达最大次数 ) |
| isInfinite | 是否无限循环 |
| setHandler | 设置 UI Handler |
| setCallback | 设置回调事件 |
| start | 运行定时器 |
| stop | 关闭定时器 |
| setTag | setTag |
| setDelay | setDelay |
| setPeriod | setPeriod |
| getLimit | getLimit |
| setLimit | setLimit |
| build | build |
| callback | 触发回调方法 |
* **定时器管理类 ->** [TimerManager.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/timer/TimerManager.java)
| 方法 | 注释 |
| :- | :- |
| addContainsChecker | 添加包含校验 |
| getSize | 获取全部定时器总数 |
| recycle | 回收定时器资源 |
| getTimer | 获取对应 TAG 定时器 ( 优先获取符合的 ) |
| getTimers | 获取对应 TAG 定时器集合 |
| closeAll | 关闭全部定时器 |
| closeAllNotRunning | 关闭所有未运行的定时器 |
| closeAllInfinite | 关闭所有无限循环的定时器 |
| closeAllTag | 关闭所有对应 TAG 定时器 |
| closeAllUUID | 关闭所有对应 UUID 定时器 |
| startTimer | 运行定时器 |
| stopTimer | 关闭定时器 |
## **`dev.utils.app.toast`**
* **自定义 View 着色美化 Toast 工具类 ->** [ToastTintUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/toast/ToastTintUtils.java)
| 方法 | 注释 |
| :- | :- |
| reset | 重置默认参数 |
| setToastFilter | 设置 Toast 过滤器 |
| setUseHandler | 设置是否使用 Handler 显示 Toast |
| setNullText | 设置 Text 为 null 的文本 |
| setUseConfig | 设置是否使用配置 |
| setGravity | 设置 Toast 显示在屏幕上的位置 |
| setMargin | 设置边距 |
| getDefaultStyle | 获取默认样式 |
| getNormalStyle | 获取 Normal 样式 |
| getInfoStyle | 获取 Info 样式 |
| getWarningStyle | 获取 Warning 样式 |
| getErrorStyle | 获取 Error 样式 |
| getSuccessStyle | 获取 Success 样式 |
| setNormalStyle | 设置 Normal 样式 |
| setInfoStyle | 设置 Info 样式 |
| setWarningStyle | 设置 Warning 样式 |
| setErrorStyle | 设置 Error 样式 |
| setSuccessStyle | 设置 Success 样式 |
| getInfoDrawable | 获取 Info 样式 icon |
| getWarningDrawable | 获取 Warning 样式 icon |
| getErrorDrawable | 获取 Error 样式 icon |
| getSuccessDrawable | 获取 Success 样式 icon |
| normal | normal 样式 Toast |
| info | info 样式 Toast |
| warning | warning 样式 Toast |
| error | error 样式 Toast |
| success | success 样式 Toast |
| custom | custom Toast |
* **Simple Toast 工具类 ( 简单的 Toast 工具类, 支持子线程弹出 Toast ) ->** [ToastUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/toast/ToastUtils.java)
| 方法 | 注释 |
| :- | :- |
| reset | 重置默认参数 |
| setToastFilter | 设置 Toast 过滤器 |
| setUseHandler | 设置是否使用 Handler 显示 Toast |
| setNullText | 设置 Text 为 null 的文本 |
| setUseConfig | 设置是否使用配置 |
| setGravity | 设置 Toast 显示在屏幕上的位置 |
| setMargin | 设置边距 |
| showShort | 显示 LENGTH_SHORT Toast |
| showLong | 显示 LENGTH_LONG Toast |
| showToast | 显示 Toast |
| showShortNew | 显示 new LENGTH_SHORT Toast |
| showLongNew | 显示 new LENGTH_LONG Toast |
| showToastNew | 显示新的 Toast |
| newToastText | 获取一个新的 Text Toast |
| showToastView | 显示 View Toast 方法 |
| newToastView | 获取一个新的 View Toast |
## **`dev.utils.app.toast.toaster`**
* **Toast 工具类 ( 支持子线程弹出 Toast, 处理无通知权限 ) ->** [DevToast.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/toast/toaster/DevToast.java)
| 方法 | 注释 |
| :- | :- |
| reset | 重置默认参数 |
| setUseHandler | 设置是否使用 Handler 显示 Toast |
| setNullText | 设置 Text 为 null 的文本 |
| setTextLength | 设置 Toast 文案长度转换 显示时间 |
| initialize | 初始化调用 ( 内部已调用 ) |
| style | 使用单次 Toast 样式配置 |
| defaultStyle | 使用默认 Toast 样式 |
| getToastStyle | 获取 Toast 样式配置 |
| initStyle | 初始化 Toast 样式配置 |
| initToastFilter | 初始化 Toast 过滤器 |
| setView | 设置 Toast 显示的 View |
| show | 显示 Toast |
| cancel | 取消当前显示的 Toast |
## **`dev.utils.app.wifi`**
* **Wifi 热点工具类 ->** [WifiHotUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/wifi/WifiHotUtils.java)
| 方法 | 注释 |
| :- | :- |
| createWifiConfigToAp | 创建 Wifi 热点配置 ( 支持 无密码 / WPA2 PSK ) |
| startWifiAp | 开启 Wifi 热点 |
| closeWifiAp | 关闭 Wifi 热点 |
| getWifiApState | 获取 Wifi 热点状态 |
| getWifiApConfiguration | 获取 Wifi 热点配置信息 |
| setWifiApConfiguration | 设置 Wifi 热点配置信息 |
| isOpenWifiAp | 判断是否打开 Wifi 热点 |
| closeWifiApCheck | 关闭 Wifi 热点 ( 判断当前状态 ) |
| isConnectHot | 是否有设备连接热点 |
| getHotspotServiceIp | 获取热点主机 IP 地址 |
| getHotspotAllotIp | 获取连接上的子网关热点 IP ( 一个 ) |
| getConnectHotspotMsg | 获取连接的热点信息 |
| getHotspotSplitIpMask | 获取热点拼接后的 IP 网关掩码 |
| getApWifiSSID | 获取 Wifi 热点名 |
| getApWifiPwd | 获取 Wifi 热点密码 |
| setOnWifiAPListener | 设置 Wifi 热点监听事件 |
* **Wifi 工具类 ->** [WifiUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/app/wifi/WifiUtils.java)
| 方法 | 注释 |
| :- | :- |
| isOpenWifi | 判断是否打开 Wifi |
| openWifi | 打开 Wifi |
| closeWifi | 关闭 Wifi |
| toggleWifiEnabled | 自动切换 Wifi 开关状态 |
| getWifiState | 获取当前 Wifi 连接状态 |
| startScan | 开始扫描 Wifi |
| getConfiguration | 获取已配置 ( 连接过 ) 的 Wifi 配置 |
| getWifiList | 获取附近的 Wifi 列表 |
| getWifiInfo | 获取连接的 WifiInfo |
| getMacAddress | 获取 MAC 地址 |
| getBSSID | 获取连接的 BSSID |
| getIPAddress | 获取 IP 地址 |
| getNetworkId | 获取连接的 Network Id |
| getSSID | 获取 Wifi SSID |
| formatSSID | 判断是否存在 \"ssid\", 存在则裁剪返回 |
| getPassword | 获取处理后的密码 |
| isHexWepKey | 判断是否 wep 加密 |
| getWifiType | 获取加密类型 |
| getWifiTypeInt | 获取加密类型 |
| getWifiTypeStr | 获取加密类型 |
| isConnNull | 判断是否连接为 null ( unknown ssid ) |
| isConnectAPHot | 获取连接的 Wifi 热点 SSID |
| getSecurity | 获取 Wifi 加密类型 |
| isExistsPwd | 判断 Wifi 加密类型, 是否为加密类型 |
| isExists | 获取指定的 ssid 网络配置 ( 需连接保存过, 才存在 ) |
| delWifiConfig | 删除指定的 Wifi ( SSID ) 配置信息 |
| quickConnWifi | 快速连接 Wifi ( 不使用静态 IP 方式 ) |
| createWifiConfig | 创建 Wifi 配置信息 |
| removeWifiConfig | 移除 Wifi 配置信息 |
| disconnectWifi | 断开指定 networkId 的网络 |
## **`dev.utils.common`**
* **Array 数组工具类 ->** [ArrayUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/ArrayUtils.java)
| 方法 | 注释 |
| :- | :- |
| isEmpty | 判断数组是否为 null |
| isNotEmpty | 判断数组是否不为 null |
| length | 获取数组长度 |
| isLength | 判断数组长度是否等于期望长度 |
| getCount | 获取数组长度总和 |
| getByArray | 获取数组对应索引数据 |
| get | 获取数组对应索引数据 |
| getFirst | 获取数组第一条数据 |
| getLast | 获取数组最后一条数据 |
| getPosition | 根据指定值获取 value 所在位置 + 偏移量的索引 |
| getNotNull | 根据指定 value 获取 value 所在位置 + 偏移量的值, 不允许值为 null |
| getPositionNotNull | 根据指定 value 获取索引, 不允许值为 null |
| intsToIntegers | int[] 转换 Integer[] |
| bytesToBytes | byte[] 转换 Byte[] |
| charsToCharacters | char[] 转换 Character[] |
| shortsToShorts | short[] 转换 Short[] |
| longsToLongs | long[] 转换 Long[] |
| floatsToFloats | float[] 转换 Float[] |
| doublesToDoubles | double[] 转换 Double[] |
| booleansToBooleans | boolean[] 转换 Boolean[] |
| integersToInts | Integer[] 转换 int[] |
| charactersToChars | Character[] 转换 char[] |
| asList | 转换数组为集合 |
| asListArgs | 转换数组为集合 |
| asListArgsInt | 转换数组为集合 |
| asListArgsByte | 转换数组为集合 |
| asListArgsChar | 转换数组为集合 |
| asListArgsShort | 转换数组为集合 |
| asListArgsLong | 转换数组为集合 |
| asListArgsFloat | 转换数组为集合 |
| asListArgsDouble | 转换数组为集合 |
| asListArgsBoolean | 转换数组为集合 |
| equals | 判断两个值是否一样 |
| arrayCopy | 拼接数组 |
| newArray | 创建指定长度数组 |
| subArray | 从数组上截取一段 |
| appendToString | 追加数组内容字符串 |
| getMinimumIndex | 获取数组中最小值索引 |
| getMaximumIndex | 获取数组中最大值索引 |
| getMinimum | 获取数组中最小值 |
| getMaximum | 获取数组中最大值 |
| sumArray | 计算数组总和 |
* **资金运算工具类 ->** [BigDecimalUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/BigDecimalUtils.java)
| 方法 | 注释 |
| :- | :- |
| setScale | 设置全局小数点保留位数、舍入模式 |
| getBigDecimal | 获取 BigDecimal |
| operation | 获取 Operation |
| adjustDouble | 获取自己想要的数据格式 |
| compareTo | 比较大小 |
| compareToThrow | 比较大小 ( 抛出异常 ) |
| add | 提供精确的加法运算 |
| subtract | 提供精确的减法运算 |
| multiply | 提供精确的乘法运算 |
| divide | 提供精确的除法运算 |
| remainder | 提供精确的取余运算 |
| round | 提供精确的小数位四舍五入处理 |
| addThrow | 提供精确的加法运算 ( 抛出异常 ) |
| subtractThrow | 提供精确的减法运算 ( 抛出异常 ) |
| multiplyThrow | 提供精确的乘法运算 ( 抛出异常 ) |
| divideThrow | 提供精确的除法运算 ( 抛出异常 ) |
| remainderThrow | 提供精确的取余运算 ( 抛出异常 ) |
| roundThrow | 提供精确的小数位四舍五入处理 ( 抛出异常 ) |
| getScale | 获取小数点保留位数 |
| getRoundingMode | 获取舍入模式 |
| requireNonNull | 检查 Value 是否为 null, 为 null 则抛出异常 |
| setBigDecimal | 设置 Value |
| getConfig | 获取配置信息 |
| setConfig | 设置配置信息 |
| removeConfig | 移除配置信息 |
| setScaleByConfig | 设置小数点保留位数、舍入模式 |
| isThrowError | 是否抛出异常 |
| setThrowError | 设置是否抛出异常 |
| clone | 克隆对象 |
| toString | 获取此 BigDecimal 的字符串表示形式科学记数法 |
| toPlainString | 获取此 BigDecimal 的字符串表示形式不带指数字段 |
| toEngineeringString | 获取此 BigDecimal 的字符串表示形式工程计数法 |
| intValue | 获取指定类型值 |
| floatValue | 获取指定类型值 |
| longValue | 获取指定类型值 |
| doubleValue | 获取指定类型值 |
| formatMoney | 金额分割, 四舍五入金额 |
* **日历工具类 ->** [CalendarUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/CalendarUtils.java)
| 方法 | 注释 |
| :- | :- |
| isSupportLunar | 是否支持农历年份计算 |
| isSupportSolar | 是否支持公历年份计算 |
| solarToLunar | 公历转农历 |
| lunarToSolar | 农历转公历 |
| getLunarYearDays | 获取农历年份总天数 |
| getLunarLeapDays | 获取农历年份闰月天数 |
| getLunarLeapMonth | 获取农历年份哪个月是闰月 |
| getLunarMonthDays | 获取农历年份与月份总天数 |
| getLunarGanZhi | 获取干支历 |
| getLunarMonthChinese | 获取农历中文月份 |
| getLunarDayChinese | 获取农历中文天数 |
| getSolarTermsIndex | 获取二十四节气 ( 公历 ) 索引 |
| getSolarTerms | 获取二十四节气 ( 公历 ) |
| getSolarTermsDate | 获取二十四节气 ( 公历 ) 时间 |
| isFestival | 校验是否相同节日 |
| getFestival | 获取符合条件的节日信息 |
| getSolarFestival | 获取公历符合条件的节日信息 |
| getLunarFestival | 获取农历符合条件的节日信息 |
| getFestivalHook | 获取节日 Hook 接口 |
| setFestivalHook | 设置节日 Hook 接口 |
* **中文工具类 ->** [ChineseUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/ChineseUtils.java)
| 方法 | 注释 |
| :- | :- |
| randomWord | 随机生成汉字 |
| randomName | 随机生成名字 |
| numberToCHN | 数字转中文数值 |
* **类 ( Class ) 工具类 ->** [ClassUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/ClassUtils.java)
| 方法 | 注释 |
| :- | :- |
| newInstance | 根据类获取对象, 不再必须一个无参构造 |
| getDefaultPrimitiveValue | 获取 Class 原始类型值 |
| getClass | 获取 Object Class |
| isPrimitive | 判断 Class 是否为原始类型 |
| isCollection | 判断是否 Collection 类型 |
| isMap | 判断是否 Map 类型 |
| isArray | 判断是否 Array 类型 |
| isGenericParamType | 判断是否参数类型 |
| getGenericParamType | 获取参数类型 |
| getGenericSuperclass | 获取父类泛型类型 |
| getGenericInterfaces | 获取接口泛型类型 |
* **克隆工具类 ->** [CloneUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/CloneUtils.java)
| 方法 | 注释 |
| :- | :- |
| deepClone | 进行克隆 |
| serializableToBytes | 通过序列化实体类, 获取对应的 byte[] 数据 |
* **关闭 ( IO 流 ) 工具类 ->** [CloseUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/CloseUtils.java)
| 方法 | 注释 |
| :- | :- |
| closeIO | 关闭 IO |
| closeIOQuietly | 安静关闭 IO |
| flush | 将缓冲区数据输出 |
| flushQuietly | 安静将缓冲区数据输出 |
| flushCloseIO | 将缓冲区数据输出并关闭流 |
| flushCloseIOQuietly | 安静将缓冲区数据输出并关闭流 |
* **集合工具类 ( Collection - List、Set、Queue ) 等 ->** [CollectionUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/CollectionUtils.java)
| 方法 | 注释 |
| :- | :- |
| isEmpty | 判断 Collection 是否为 null |
| isNotEmpty | 判断 Collection 是否不为 null |
| length | 获取 Collection 长度 |
| isLength | 获取长度 Collection 是否等于期望长度 |
| greaterThan | 判断 Collection 长度是否大于指定长度 |
| greaterThanOrEqual | 判断 Collection 长度是否大于等于指定长度 |
| lessThan | 判断 Collection 长度是否小于指定长度 |
| lessThanOrEqual | 判断 Collection 长度是否小于等于指定长度 |
| getCount | 获取 Collection 数组长度总和 |
| get | 获取数据 |
| getFirst | 获取第一条数据 |
| getLast | 获取最后一条数据 |
| getPosition | 根据指定 value 获取 value 所在位置 + 偏移量的索引 |
| getPositionNotNull | 根据指定 value 获取索引, 不允许值为 null |
| getNext | 根据指定 value 获取 value 所在位置的下一个值 |
| getNextNotNull | 根据指定 value 获取 value 所在位置的下一个值, 不允许值为 null |
| getPrevious | 根据指定 value 获取 value 所在位置的上一个值 |
| getPreviousNotNull | 根据指定 value 获取 value 所在位置的上一个值, 不允许值为 null |
| add | 添加一条数据 |
| addNotNull | 添加一条数据 ( value 不允许为 null ) |
| addAll | 添加集合数据 |
| addAllNotNull | 添加集合数据 ( values 内的值不允许为 null ) |
| clearAndAddAll | 移除全部数据并添加集合数据 |
| clearAndAddAllNotNull | 移除全部数据并添加集合数据 ( values 内的值不允许为 null ) |
| remove | 移除一条数据 |
| removeAll | 移除集合数据 |
| clear | 清空集合中符合指定 value 的全部数据 |
| clearNotBelong | 保留集合中符合指定 value 的全部数据 |
| clearAll | 清空集合全部数据 |
| clearNull | 清空集合中为 null 的值 |
| isEqualCollection | 判断两个集合是否相同 |
| isEqualCollections | 判断多个集合是否相同 |
| union | 两个集合并集处理 |
| unions | 多个集合并集处理 |
| intersection | 两个集合交集处理 |
| disjunction | 两个集合交集的补集处理 |
| subtract | 两个集合差集 ( 扣除 ) 处理 |
| equals | 判断两个值是否一样 |
| toArray | 转换数组 to Object |
| toArrayT | 转换数组 to T |
| reverse | 集合翻转处理 |
| getMinimumIndexI | 获取集合中最小值索引 |
| getMinimumIndexL | 获取集合中最小值索引 |
| getMinimumIndexF | 获取集合中最小值索引 |
| getMinimumIndexD | 获取集合中最小值索引 |
| getMaximumIndexI | 获取集合中最大值索引 |
| getMaximumIndexL | 获取集合中最大值索引 |
| getMaximumIndexF | 获取集合中最大值索引 |
| getMaximumIndexD | 获取集合中最大值索引 |
| getMinimumI | 获取集合中最小值 |
| getMinimumL | 获取集合中最小值 |
| getMinimumF | 获取集合中最小值 |
| getMinimumD | 获取集合中最小值 |
| getMaximumI | 获取集合中最大值 |
| getMaximumL | 获取集合中最大值 |
| getMaximumF | 获取集合中最大值 |
| getMaximumD | 获取集合中最大值 |
| sumlistI | 计算集合总和 |
| sumlistL | 计算集合总和 |
| sumlistF | 计算集合总和 |
| sumlistD | 计算集合总和 |
* **颜色工具类 ( 包括常用的色值 ) ->** [ColorUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/ColorUtils.java)
| 方法 | 注释 |
| :- | :- |
| hexAlpha | 获取十六进制透明度字符串 |
| getARGB | 返回一个颜色 ARGB 色值数组 ( 返回十进制 ) |
| alpha | 返回一个颜色中的透明度值 ( 返回十进制 ) |
| alphaPercent | 返回一个颜色中的透明度百分比值 |
| red | 返回一个颜色中红色的色值 ( 返回十进制 ) |
| redPercent | 返回一个颜色中红色的百分比值 |
| green | 返回一个颜色中绿色的色值 ( 返回十进制 ) |
| greenPercent | 返回一个颜色中绿色的百分比值 |
| blue | 返回一个颜色中蓝色的色值 ( 返回十进制 ) |
| bluePercent | 返回一个颜色中蓝色的百分比值 |
| rgb | 根据对应的 red、green、blue 生成一个颜色值 |
| argb | 根据对应的 alpha、red、green、blue 生成一个颜色值 ( 含透明度 ) |
| isRGB | 判断颜色 RGB 是否有效 |
| isARGB | 判断颜色 ARGB 是否有效 |
| setAlpha | 设置透明度 |
| setRed | 改变颜色值中的红色色值 |
| setGreen | 改变颜色值中的绿色色值 |
| setBlue | 改变颜色值中的蓝色色值 |
| parseColor | 解析颜色字符串, 返回对应的颜色值 |
| intToRgbString | 颜色值 转换 RGB 颜色字符串 |
| intToArgbString | 颜色值 转换 ARGB 颜色字符串 |
| getRandomColor | 获取随机颜色值 |
| getRandomColorString | 获取随机颜色值字符串 |
| judgeColorString | 判断是否为 ARGB 格式的十六进制颜色, 例如: FF990587 |
| setDark | 颜色加深 ( 单独修改 RGB 值, 不变动透明度 ) |
| setLight | 颜色变浅, 变亮 ( 单独修改 RGB 值, 不变动透明度 ) |
| setAlphaDark | 设置透明度加深 |
| setAlphaLight | 设置透明度变浅 |
| grayLevel | 获取灰度值 |
| setParser | 设置 Color 解析器 |
| sortGray | 灰度值排序 |
| sortHUE | HSB ( HSV ) HUE 色相排序 |
| sortSaturation | HSB ( HSV ) Saturation 饱和度排序 |
| sortBrightness | HSB ( HSV ) Brightness 亮度排序 |
| blendColor | 使用给定的比例在两种 ARGB 颜色之间进行混合 |
| transitionColor | 计算从 startColor 过渡到 endColor 过程中百分比为 ratio 时的颜色值 |
| getKey | 获取 Key |
| getValue | 获取 Value |
| getValueParser | 获取 Value 解析后的值 ( 如: #000 => #000000 ) |
| getValueColor | 获取 ARGB/RGB color |
| getAlpha | 返回颜色中的透明度值 ( 返回十进制 ) |
| getRed | 返回颜色中红色的色值 ( 返回十进制 ) |
| getGreen | 返回颜色中绿色的色值 ( 返回十进制 ) |
| getBlue | 返回颜色中蓝色的色值 ( 返回十进制 ) |
| getGrayLevel | 获取灰度值 |
| getHue | 获取颜色色调 |
| getSaturation | 获取颜色饱和度 |
| getBrightness | 获取颜色亮度 |
| handleColor | 处理 color |
* **转换工具类 ( Byte、Hex 等 ) ->** [ConvertUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/ConvertUtils.java)
| 方法 | 注释 |
| :- | :- |
| convert | Object 转换所需类型对象 |
| newString | Object 转 String |
| newStringNotArrayDecode | Object 转 String ( 不进行 Array 解码转 String ) |
| toString | Object 转 String |
| toInt | Object 转 Integer |
| toBoolean | Object 转 Boolean |
| toFloat | Object 转 Float |
| toDouble | Object 转 Double |
| toLong | Object 转 Long |
| toShort | Object 转 Short |
| toChar | Object 转 Character |
| toByte | Object 转 Byte |
| toBigDecimal | Object 转 BigDecimal |
| toBigInteger | Object 转 BigInteger |
| toChars | Object 获取 char[] |
| toBytes | Object 获取 byte[] |
| toCharInt | char 转换 unicode 编码 |
| charAt | Object 获取 char ( 默认第一位 ) |
| parseInt | 字符串转换对应的进制 |
| parseLong | 字符串转换对应的进制 |
| bytesToObject | byte[] 转为 Object |
| objectToBytes | Object 转为 byte[] |
| bytesToChars | byte[] 转换 char[], 并且进行补码 |
| charsToBytes | char[] 转换 byte[] |
| intsToStrings | int[] 转换 string[] |
| doublesToStrings | double[] 转换 string[] |
| longsToStrings | long[] 转换 string[] |
| floatsToStrings | float[] 转换 string[] |
| intsToDoubles | int[] 转换 double[] |
| intsToLongs | int[] 转换 long[] |
| intsToFloats | int[] 转换 float[] |
| stringsToInts | string[] 转换 int[] |
| stringsToDoubles | string[] 转换 double[] |
| stringsToLongs | string[] 转换 long[] |
| stringsToFloats | string[] 转换 float[] |
| doublesToInts | double[] 转换 int[] |
| longsToInts | long[] 转换 int[] |
| floatsToInts | float[] 转换 int[] |
| toBinaryString | 将 字节转换 为 二进制字符串 |
| decodeBinary | 二进制字符串 转换 byte[] 解码 |
| isHex | 判断是否十六进制数据 |
| decodeHex | 将十六进制字节数组解码 |
| hexToInt | 十六进制 char 转换 int |
| toHexString | int 转换十六进制 |
| toHexChars | 将 string 转换为 十六进制 char[] |
| bytesBitwiseAND | 按位求补 byte[] 位移编解码 ( 共用同一个方法 ) |
* **坐标 ( GPS 纠偏 ) 相关工具类 ->** [CoordinateUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/CoordinateUtils.java)
| 方法 | 注释 |
| :- | :- |
| bd09ToGcj02 | BD09 坐标转 GCJ02 坐标 |
| gcj02ToBd09 | GCJ02 坐标转 BD09 坐标 |
| gcj02ToWGS84 | GCJ02 坐标转 WGS84 坐标 |
| wgs84ToGcj02 | WGS84 坐标转 GCJ02 坐标 |
| bd09ToWGS84 | BD09 坐标转 WGS84 坐标 |
| wgs84ToBd09 | WGS84 坐标转 BD09 坐标 |
| outOfChina | 判断是否中国境外 |
| getDistance | 计算两个坐标相距距离 ( 单位: 米 ) |
| getAngle | 计算两个坐标的方向角度 |
| getDirection | 计算两个坐标的方向 |
| getValue | 获取中文方向值 |
* **日期工具类 ->** [DateUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/DateUtils.java)
| 方法 | 注释 |
| :- | :- |
| getDefaultFormat | 获取默认 SimpleDateFormat ( yyyy-MM-dd HH:mm:ss ) |
| getSafeDateFormat | 获取对应时间格式线程安全 SimpleDateFormat |
| getCalendar | 获取 Calendar |
| getCurrentTime | 获取当前时间 Date |
| getCurrentTimeMillis | 获取当前时间毫秒 |
| getDateTime | 获取 Date Time |
| getDateNow | 获取当前时间的字符串 |
| formatDate | 将 Date 转换日期字符串 |
| formatTime | 将时间毫秒转换日期字符串 |
| parseDate | 将时间毫秒转换成 Date |
| parseLong | 解析时间字符串转换为 long 毫秒 |
| parseStringDefault | 解析时间字符串转换为指定格式字符串 |
| parseString | 解析时间字符串转换为指定格式字符串 |
| getYear | 获取年份 |
| getMonth | 获取月份 ( 0 - 11 ) + 1 |
| getDay | 获取天数 |
| getWeek | 获取星期数 ( 1 - 7、日 - 六 ) |
| get24Hour | 获取小时 ( 24 ) |
| get12Hour | 获取小时 ( 12 ) |
| getMinute | 获取分钟 |
| getSecond | 获取秒数 |
| isAM | 是否上午 |
| isPM | 是否下午 |
| isYear | 是否对应年份 |
| isMonth | 是否对应月份 |
| isDay | 是否对应天数 |
| isWeek | 是否对应星期 |
| isHour | 是否对应小时 |
| isMinute | 是否对应分钟 |
| isSecond | 是否对应秒数 |
| getSecondMultiple | 获取秒数倍数 |
| getMinuteMultiple | 获取分钟倍数 |
| getHourMultiple | 获取小时倍数 |
| getDayMultiple | 获取天数倍数 |
| getWeekMultiple | 获取周数倍数 |
| getMillisMultiple | 获取对应单位倍数 |
| getTimeDiffByCurrent | 获取时间差 ( 传入时间 - 当前时间 ) |
| getTimeDiff | 获取时间差 |
| isLeapYear | 判断是否闰年 |
| getMonthDayNumberAll | 根据年份、月份, 获取对应的天数 ( 完整天数, 无判断是否属于未来日期 ) |
| getYearMonthNumber | 根据年份, 获取对应的月份 |
| getMonthDayNumber | 根据年份、月份, 获取对应的天数 |
| timeAddZero | 时间补 0 处理 ( 小于 10, 则自动补充 0x ) |
| getArrayToHH | 生成 HH 按时间排序数组 |
| getListToHH | 生成 HH 按时间排序集合 |
| getArrayToMM | 生成 MM 按时间排序数组 |
| getListToMM | 生成 MM 按时间排序集合 |
| getArrayToHHMM | 生成 HH:mm 按间隔时间排序数组 |
| getListToHHMM | 生成 HH:mm 按间隔时间排序集合 |
| getListToHHMMPosition | 获取 HH:mm 按间隔时间排序的集合中, 指定时间所在索引 |
| millisToFitTimeSpan | 转换时间 |
| millisToTimeArrays | 转换时间为数组 |
| timeConvertByMillis | 传入时间毫秒, 获取 00:00:00 格式 ( 不处理大于一天 ) |
| timeConvertBySecond | 传入时间秒, 获取 00:00:00 格式 ( 不处理大于一天 ) |
| isInTime | 判断时间是否在 [startTime, endTime] 区间 |
| isInTimeFormat | 判断时间是否在 [startTime, endTime] 区间 ( 自定义格式 ) |
| isInTimeHHmm | 判断时间是否在 [startTime, endTime] 区间 ( HHmm 格式 ) |
| isInTimeHHmmss | 判断时间是否在 [startTime, endTime] 区间 ( HHmmss 格式 ) |
| getEndTimeDiffHHmm | 获取指定时间距离该时间第二天的指定时段的时间 ( 判断凌晨情况 ) |
| getEndTimeDiff | 获取指定时间距离该时间第二天的指定时段的时间差 ( 判断凌晨情况 ) |
| getZodiac | 获取生肖 |
| getConstellation | 获取星座 |
| getConstellationDate | 获取星座日期 |
* **开发常用方法工具类 ->** [DevCommonUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/DevCommonUtils.java)
| 方法 | 注释 |
| :- | :- |
| timeRecord | 耗时时间记录 |
| getOperateTime | 获取操作时间 |
| sleepOperate | 堵塞操作 |
| isHttpRes | 判断是否网络资源 |
| whileMD5 | 循环 MD5 加密处理 |
| randomUUID | 获取随机唯一数 |
| randomUUIDToHashCode | 获取随机唯一数 HashCode |
| getRandomUUID | 获取随机规则生成 UUID |
| getRandomUUIDToString | 获取随机规则生成 UUID 字符串 |
* **编码工具类 ->** [EncodeUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/EncodeUtils.java)
| 方法 | 注释 |
| :- | :- |
| base64Encode | Base64 编码 |
| base64EncodeToString | Base64 编码 |
| base64Decode | Base64 解码 |
| base64DecodeToString | Base64 解码 |
| htmlEncode | Html 字符串编码 |
* **变量字段工具类 ->** [FieldUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/FieldUtils.java)
| 方法 | 注释 |
| :- | :- |
| getField | 获取变量对象 |
| getDeclaredField | 获取变量对象 |
| getFields | 获取变量对象数组 |
| getDeclaredFields | 获取变量对象数组 |
| set | 设置字段的值 |
| get | 获取字段的值 |
| isLong | 是否 long/Long 类型 |
| isFloat | 是否 float/Float 类型 |
| isDouble | 是否 double/Double 类型 |
| isInteger | 是否 int/Integer 类型 |
| isBoolean | 是否 boolean/Boolean 类型 |
| isCharacter | 是否 char/Character 类型 |
| isByte | 是否 byte/Byte 类型 |
| isShort | 是否 short/Short 类型 |
| isString | 是否 String 类型 |
| isSerializable | 判断是否序列化 |
| isInvalid | 是否静态常量或者内部结构属性 |
| isStatic | 是否静态变量 |
| isFinal | 是否常量 |
| isStaticFinal | 是否静态变量 |
| isSynthetic | 是否内部结构属性 |
| getGenericType | 获取字段的泛型类型, 如果不带泛型返回 null |
| getComponentType | 获取数组的类型 |
| getAllDeclaredFields | 获取全部 Field, 包括父类 |
* **文件 ( IO 流 ) 工具类 ->** [FileIOUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/FileIOUtils.java)
| 方法 | 注释 |
| :- | :- |
| setBufferSize | 设置缓冲区的大小, 默认大小等于 8192 字节 |
| getFileInputStream | 获取输入流 |
| getFileOutputStream | 获取输出流 |
| writeFileFromIS | 通过输入流写入文件 |
| writeFileFromBytesByStream | 通过字节流写入文件 |
| writeFileFromBytesByChannel | 通过 FileChannel 把字节流写入文件 |
| writeFileFromBytesByMap | 通过 MappedByteBuffer 把字节流写入文件 |
| writeFileFromString | 通过字符串写入文件 |
| readFileToList | 读取文件内容, 返回换行 List |
| readFileToString | 读取文件内容, 返回字符串 |
| readFileToBytesByStream | 读取文件内容, 返回 byte[] |
| readFileToBytesByChannel | 通过 FileChannel, 读取文件内容, 返回 byte[] |
| readFileToBytesByMap | 通过 MappedByteBuffer, 读取文件内容, 返回 byte[] |
| copyLarge | 复制 InputStream 到 OutputStream |
* **文件操作工具类 ->** [FileUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/FileUtils.java)
| 方法 | 注释 |
| :- | :- |
| getFile | 获取文件 |
| getFileByPath | 获取文件 |
| getFileCreateFolder | 获取路径, 并且进行创建目录 |
| getFilePathCreateFolder | 获取路径, 并且进行创建目录 |
| createFolder | 判断某个文件夹是否创建, 未创建则创建 ( 纯路径无文件名 ) |
| createFolderByPath | 创建文件夹目录 ( 可以传入文件名 ) |
| createFolderByPaths | 创建多个文件夹, 如果不存在则创建 |
| createOrExistsDir | 判断目录是否存在, 不存在则判断是否创建成功 |
| createOrExistsFile | 判断文件是否存在, 不存在则判断是否创建成功 |
| createFileByDeleteOldFile | 判断文件是否存在, 存在则在创建之前删除 |
| createTimestampFileName | 通过文件后缀创建时间戳文件名 |
| createTimestampFileNameByName | 通过文件名创建时间戳文件名 |
| createTimestampFileNameByFile | 通过文件创建时间戳文件名 |
| createTimestampFileNameByPath | 通过文件路径创建时间戳文件名 |
| convertFiles | Path List 转 File List |
| convertPaths | File List 转 Path List |
| getPath | 获取文件路径 |
| getAbsolutePath | 获取文件绝对路径 |
| getName | 获取文件名 |
| getFileSuffix | 获取文件后缀名 ( 无 "." 单独后缀 ) |
| getFileNotSuffix | 获取文件名 ( 无后缀 ) |
| getFileNotSuffixToPath | 获取文件名 ( 无后缀 ) |
| getFileNameNoExtension | 获取路径中的不带扩展名的文件名 |
| getFileExtension | 获取路径中的文件扩展名 |
| isFileExists | 检查是否存在某个文件 |
| isFile | 判断是否文件 |
| isDirectory | 判断是否文件夹 |
| isHidden | 判断是否隐藏文件 |
| canRead | 文件是否可读 |
| canWrite | 文件是否可写 |
| canReadWrite | 文件是否可读写 |
| getFileLastModified | 获取文件最后修改的毫秒时间戳 |
| getFileCharsetSimple | 获取文件编码格式 |
| getFileLines | 获取文件行数 |
| getFileSize | 获取文件大小 |
| getDirSize | 获取目录大小 |
| getFileLength | 获取文件大小 |
| getDirLength | 获取目录全部文件大小 |
| getFileLengthNetwork | 获取文件大小 ( 网络资源 ) |
| getFileName | 获取路径中的文件名 |
| getDirName | 获取路径中的最长目录地址 |
| rename | 重命名文件 ( 同个目录下, 修改文件名 ) |
| formatFileSize | 传入文件路径, 返回对应的文件大小 |
| formatByteMemorySize | 字节数转合适内存大小 保留 3 位小数 |
| deleteFile | 删除文件 |
| deleteFiles | 删除多个文件 |
| deleteFolder | 删除文件夹 |
| saveFile | 保存文件 |
| appendFile | 追加文件 |
| readFileBytes | 读取文件 |
| readFile | 读取文件 |
| copyFile | 复制单个文件 |
| copyFolder | 复制文件夹 |
| moveFile | 移动 ( 剪切 ) 文件 |
| moveFolder | 移动 ( 剪切 ) 文件夹 |
| copyOrMoveDir | 复制或移动目录 |
| copyOrMoveFile | 复制或移动文件 |
| copyDir | 复制目录 |
| moveDir | 移动目录 |
| deleteDir | 删除目录 |
| deleteAllInDir | 删除目录下所有文件 |
| deleteFilesInDir | 删除目录下所有文件 |
| deleteFilesInDirWithFilter | 删除目录下所有过滤的文件 |
| listFilesInDir | 获取目录下所有文件 ( 不递归进子目录 ) |
| listFilesInDirWithFilter | 获取目录下所有过滤的文件 ( 不递归进子目录 ) |
| listFilesInDirBean | 获取目录下所有文件 ( 不递归进子目录 ) |
| listFilesInDirWithFilterBean | 获取目录下所有过滤的文件 ( 不递归进子目录 ) |
| listOrEmpty | 获取文件夹下的文件目录列表 ( 非全部子目录 ) |
| listFilesOrEmpty | 获取文件夹下的文件目录列表 ( 非全部子目录 ) |
| isImageFormats | 根据文件名判断文件是否为图片 |
| isAudioFormats | 根据文件名判断文件是否为音频 |
| isVideoFormats | 根据文件名判断文件是否为视频 |
| isFileFormats | 根据文件名判断文件是否为指定格式 |
| getFileMD5 | 获取文件 MD5 值 |
| getFileMD5ToHexString | 获取文件 MD5 值 |
* **格式化工具类 ->** [FormatUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/FormatUtils.java)
| 方法 | 注释 |
| :- | :- |
| format | 字符串格式化 |
| unitSpanOf | 获取 UnitSpanFormatter |
| argsOf | 获取 ArgsFormatter |
* **循环工具类 ->** [ForUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/ForUtils.java)
| 方法 | 注释 |
| :- | :- |
| forArgs | 循环可变数组 |
| forSimpleArgs | 循环可变数组 |
| forList | 循环集合 |
| forListIterator | 循环集合 |
| forSet | 循环集合 |
| forMap | 循环集合 |
| forInts | 循环可变数组 |
| forDoubles | 循环可变数组 |
| forFloats | 循环可变数组 |
| forLongs | 循环可变数组 |
| forBooleans | 循环可变数组 |
| forBytes | 循环可变数组 |
| forChars | 循环可变数组 |
| forShorts | 循环可变数组 |
| accept | 循环消费方法 |
* **Html 工具类 ->** [HtmlUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/HtmlUtils.java)
| 方法 | 注释 |
| :- | :- |
| addRemovePaddingMargin | 为给定的 Html 移除 padding、margin |
| addHtmlColor | 为给定的字符串添加 HTML 颜色标记 |
| addHtmlBold | 为给定的字符串添加 HTML 加粗标记 |
| addHtmlColorAndBold | 为给定的字符串添加 HTML 颜色标记并加粗 |
| addHtmlUnderline | 为给定的字符串添加 HTML 下划线 |
| addHtmlStrikeThruLine | 为给定的字符串添加 HTML 中划线 |
| addHtmlOverLine | 为给定的字符串添加 HTML 上划线 |
| addHtmlIncline | 为给定的字符串添加 HTML 字体倾斜 |
| addHtmlSPAN | 为给定的字符串添加 HTML SPAN 标签 |
| addHtmlP | 为给定的字符串添加 HTML P 标签 |
| addHtmlIMG | 为给定的字符串添加 HTML IMG 标签 |
| addHtmlIMGByWidth | 为给定的字符串添加 HTML IMG 标签 |
| addHtmlIMGByHeight | 为给定的字符串添加 HTML IMG 标签 |
| addHtmlDIV | 为给定的字符串添加 HTML DIV 标签 |
| addHtmlDIVByMargin | 为给定的字符串添加 HTML DIV 标签 |
| addHtmlDIVByPadding | 为给定的字符串添加 HTML DIV 标签 |
| addHtmlDIVByMarginPadding | 为给定的字符串添加 HTML DIV 标签 |
| keywordReplaceHtmlColor | 将给定的字符串中所有给定的关键字标色 |
* **Http 参数工具类 ->** [HttpParamsUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/HttpParamsUtils.java)
| 方法 | 注释 |
| :- | :- |
| getUrlParams | 获取 Url 携带参数 |
| getUrlParamsArray | 获取 Url、携带参数 数组 |
| existsParams | 判断是否存在参数 |
| existsParamsByURL | 通过 Url 判断是否存在参数 |
| joinUrlParams | 拼接 Url 及携带参数 |
| getUrlParamsJoinSymbol | 获取 Url 及携带参数 拼接符号 |
| splitParamsByUrl | 通过 Url 拆分参数 |
| splitParams | 拆分参数 |
| joinParams | 拼接请求参数 |
| joinParamsObj | 拼接请求参数 |
| convertObjToMS | 进行转换对象处理 ( 请求发送对象 ) |
| convertObjToMO | 进行转换对象处理 ( 请求发送对象 ) |
| urlEncode | 进行 URL 编码, 默认 UTF-8 |
* **HttpURLConnection 网络工具类 ->** [HttpURLConnectionUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/HttpURLConnectionUtils.java)
| 方法 | 注释 |
| :- | :- |
| doGetAsync | 异步的 Get 请求 |
| doPostAsync | 异步的 Post 请求 |
| request | 发送请求 |
| getNetTime | 获取网络时间 ( 默认使用百度链接 ) |
* **Map 工具类 ->** [MapUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/MapUtils.java)
| 方法 | 注释 |
| :- | :- |
| isEmpty | 判断 Map 是否为 null |
| isNotEmpty | 判断 Map 是否不为 null |
| length | 获取 Map 长度 |
| isLength | 获取长度 Map 是否等于期望长度 |
| greaterThan | 判断 Map 长度是否大于指定长度 |
| greaterThanOrEqual | 判断 Map 长度是否大于等于指定长度 |
| lessThan | 判断 Map 长度是否小于指定长度 |
| lessThanOrEqual | 判断 Map 长度是否小于等于指定长度 |
| getCount | 获取 Map 数组长度总和 |
| get | 获取 value |
| getKeyByValue | 通过 value 获取 key |
| getKeysByValue | 通过 value 获取 key 集合 ( 返回等于 value 的 key 集合 ) |
| getKeys | 通过 Map 获取 key 集合 |
| getKeysToArrays | 通过 Map 获取 key 数组 |
| getValues | 通过 Map 获取 value 集合 |
| getValuesToArrays | 通过 Map 获取 value 数组 |
| getFirst | 获取第一条数据 |
| getLast | 获取最后一条数据 |
| getNext | 根据指定 key 获取 key 所在位置的下一条数据 |
| getPrevious | 根据指定 key 获取 key 所在位置的上一条数据 |
| put | 添加一条数据 |
| putNotNull | 添加一条数据 ( 不允许 key 为 null ) |
| putAll | 添加多条数据 |
| putAllNotNull | 添加多条数据, 不允许 key 为 null |
| remove | 移除一条数据 |
| removeToKeys | 移除多条数据 |
| removeToValue | 移除等于 value 的所有数据 |
| removeToValues | 移除等于 value 的所有数据 ( Collection ) |
| equals | 判断两个值是否一样 |
| toggle | 切换保存状态 |
| isNullToValue | 判断指定 key 的 value 是否为 null |
| containsKey | 判断 Map 是否存储 key |
| containsValue | 判断 Map 是否存储 value |
| putToList | 添加一条数据 |
| removeToList | 移除一条数据 |
| removeToLists | 移除多条数据 |
| removeToMap | 移除多条数据 ( 通过 Map 进行移除 ) |
| mapToString | 键值对拼接 |
* **数字 ( 计算 ) 工具类 ->** [NumberUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/NumberUtils.java)
| 方法 | 注释 |
| :- | :- |
| addZero | 补 0 处理 ( 小于 10, 则自动补充 0x ) |
| subZeroAndDot | 去掉结尾多余的 . 与 0 |
| calculateUnitD | 计算指定单位倍数 |
| calculateUnitI | 计算指定单位倍数 |
| calculateUnitL | 计算指定单位倍数 |
| calculateUnitF | 计算指定单位倍数 |
| percentD | 计算百分比值 ( 最大 100% ) |
| percentI | 计算百分比值 ( 最大 100% ) |
| percentL | 计算百分比值 ( 最大 100% ) |
| percentF | 计算百分比值 ( 最大 100% ) |
| percentD2 | 计算百分比值 ( 可超出 100% ) |
| percentI2 | 计算百分比值 ( 可超出 100% ) |
| percentL2 | 计算百分比值 ( 可超出 100% ) |
| percentF2 | 计算百分比值 ( 可超出 100% ) |
| multipleD | 获取倍数 |
| multipleI | 获取倍数 |
| multipleL | 获取倍数 |
| multipleF | 获取倍数 |
| multiple | 获取整数倍数 ( 自动补 1 ) |
| clamp | 返回的 value 介于 max、min 之间, 若 value 小于 min, 返回 min, 若大于 max, 返回 max |
| numberToCHN | 数字转中文数值 |
| isNumber | 检验数字 |
| isNumberDecimal | 检验数字或包含小数点 |
* **对象相关工具类 ->** [ObjectUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/ObjectUtils.java)
| 方法 | 注释 |
| :- | :- |
| isEmpty | 判断对象是否为空 |
| isNotEmpty | 判断对象是否非空 |
| equals | 判断两个值是否一样 |
| getOrDefault | 获取非空或默认对象 |
| hashCode | 获取对象哈希值 |
| getObjectTag | 获取一个对象的独一无二的标记 |
| convert | Object 转换所需类型对象 |
| requireNonNull | 检查对象是否为 null, 为 null 则抛出异常, 不为 null 则返回该对象 |
| requireNonNullArgs | 检查对象是否为 null, 为 null 则抛出异常 |
| requireNonNullBool | 检查对象是否非 null |
| requireNonNullBoolArgs | 检查对象是否非 null |
* **随机工具类 ->** [RandomUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/RandomUtils.java)
| 方法 | 注释 |
| :- | :- |
| nextBoolean | 获取伪随机 boolean 值 |
| nextBytes | 获取伪随机 byte[] |
| nextDouble | 获取伪随机 double 值 |
| nextGaussian | 获取伪随机高斯分布值 |
| nextFloat | 获取伪随机 float 值 |
| nextInt | 获取伪随机 int 值 |
| nextLong | 获取伪随机 long 值 |
| getRandomNumbers | 获取数字自定义长度的随机数 |
| getRandomLowerCaseLetters | 获取小写字母自定义长度的随机数 |
| getRandomCapitalLetters | 获取大写字母自定义长度的随机数 |
| getRandomLetters | 获取大小写字母自定义长度的随机数 |
| getRandomNumbersAndLetters | 获取数字、大小写字母自定义长度的随机数 |
| getRandom | 获取自定义数据自定义长度的随机数 |
| shuffle | 洗牌算法 ( 第一种 ) 随机置换指定的数组使用的默认源的随机性 ( 随机数据源小于三个, 则无效 ) |
| shuffle2 | 洗牌算法 ( 第二种 ) 随机置换指定的数组使用的默认源的随机性 |
| nextIntRange | 获取指定范围 int 值 |
| nextLongRange | 获取指定范围 long 值 |
| nextDoubleRange | 获取指定范围 double 值 |
| ints | 获取随机 int[] |
| longs | 获取随机 long[] |
| doubles | 获取随机 double[] |
* **反射相关工具类 ->** [Reflect2Utils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/Reflect2Utils.java)
| 方法 | 注释 |
| :- | :- |
| setProperty | 设置某个对象变量值 ( 可设置静态变量 ) |
| getProperty | 获取某个对象的变量 ( 可获取静态变量 ) |
| getStaticProperty | 获取某个类的静态变量 ( 只能获取静态变量 ) |
| invokeMethod | 执行某个对象方法 ( 可执行静态方法 ) |
| invokeStaticMethod | 执行某个类的静态方法 ( 只能执行静态方法 ) |
| newInstance | 新建实例 ( 构造函数创建 ) |
| isInstance | 是不是某个类的实例 |
| getArgsClass | 获取参数类型 |
| getPropertyByParent | 获取父类中的变量对象 |
| getDeclaredFieldParent | 获取父类中的变量对象 ( 循环向上转型, 获取对象的 DeclaredField ) |
* **反射相关工具类 ->** [ReflectUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/ReflectUtils.java)
| 方法 | 注释 |
| :- | :- |
| reflect | 设置要反射的类 |
| newInstance | 实例化反射对象 |
| field | 设置反射的字段 |
| setEnumVal | 设置枚举值 |
| method | 设置反射的方法 |
| proxy | 根据类, 代理创建并返回对象 |
| type | 获取类型 |
| get | 获取反射想要获取的 |
| hashCode | 获取 HashCode |
| equals | 判断反射的两个对象是否一样 |
| toString | 获取反射获取的对象 |
* **计算比例工具类 ->** [ScaleUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/ScaleUtils.java)
| 方法 | 注释 |
| :- | :- |
| calcScale | 计算比例 ( 商 ) |
| calcScaleToMath | 计算比例 ( 被除数 ( 最大值 ) / 除数 ( 最小值 ) ) |
| calcScaleToWidth | 计算缩放比例 ( 根据宽度比例转换高度 ) |
| calcScaleToHeight | 计算缩放比例 ( 根据高度比例转换宽度 ) |
| calcWidthHeightToScale | 通过宽度、高度根据对应的比例, 转换成对应的比例宽度高度 ( 智能转换 ) |
| calcWidthToScale | 以宽度为基准, 转换对应比例的高度 |
| calcHeightToScale | 以高度为基准, 转换对应比例的宽度 |
| calcScaleToWidthI | 计算缩放比例 ( 根据宽度比例转换高度 ) |
| calcScaleToHeightI | 计算缩放比例 ( 根据高度比例转换宽度 ) |
| calcWidthHeightToScaleI | 通过宽度、高度根据对应的比例, 转换成对应的比例宽度高度 ( 智能转换 ) |
| calcWidthToScaleI | 以宽度为基准, 转换对应比例的高度 |
| calcHeightToScaleI | 以高度为基准, 转换对应比例的宽度 |
| calcScaleToWidthL | 计算缩放比例 ( 根据宽度比例转换高度 ) |
| calcScaleToHeightL | 计算缩放比例 ( 根据高度比例转换宽度 ) |
| calcWidthHeightToScaleL | 通过宽度、高度根据对应的比例, 转换成对应的比例宽度高度 ( 智能转换 ) |
| calcWidthToScaleL | 以宽度为基准, 转换对应比例的高度 |
| calcHeightToScaleL | 以高度为基准, 转换对应比例的宽度 |
| calcScaleToWidthF | 计算缩放比例 ( 根据宽度比例转换高度 ) |
| calcScaleToHeightF | 计算缩放比例 ( 根据高度比例转换宽度 ) |
| calcWidthHeightToScaleF | 通过宽度、高度根据对应的比例, 转换成对应的比例宽度高度 ( 智能转换 ) |
| calcWidthToScaleF | 以宽度为基准, 转换对应比例的高度 |
| calcHeightToScaleF | 以高度为基准, 转换对应比例的宽度 |
| calcXY | 计算 XY 比 |
* **流操作工具类 ->** [StreamUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/StreamUtils.java)
| 方法 | 注释 |
| :- | :- |
| inputToOutputStream | 输入流转输出流 |
| outputToInputStream | 输出流转输入流 |
| inputStreamToBytes | 输入流转 byte[] |
| bytesToInputStream | byte[] 转输出流 |
| outputStreamToBytes | 输出流转 byte[] |
| bytesToOutputStream | byte[] 转 输出流 |
| inputStreamToString | 输入流转 String |
| stringToInputStream | String 转换输入流 |
| outputStreamToString | 输出流转 String |
| stringToOutputStream | String 转 输出流 |
* **字符串工具类 ->** [StringUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/StringUtils.java)
| 方法 | 注释 |
| :- | :- |
| isEmpty | 判断字符串是否为 null |
| isEmptyClear | 判断字符串是否为 null ( 调用 clearSpaceTabLineTrim ) |
| isNotEmpty | 判断字符串是否不为 null |
| isNotEmptyClear | 判断字符串是否不为 null ( 调用 clearSpaceTabLineTrim ) |
| isNull | 判断字符串是否为 "null" |
| isNullClear | 判断字符串是否为 "null" ( 调用 clearSpaceTabLineTrim ) |
| isNotNull | 判断字符串是否不为 "null" |
| isNotNullClear | 判断字符串是否不为 "null" ( 调用 clearSpaceTabLineTrim ) |
| length | 获取字符串长度 |
| isLength | 获取字符串长度 是否等于期望长度 |
| equals | 判断两个值是否一样 |
| equalsNotNull | 判断两个值是否一样 ( 非 null 判断 ) |
| equalsIgnoreCase | 判断两个值是否一样 ( 忽略大小写 ) |
| equalsIgnoreCaseNotNull | 判断两个值是否一样 ( 忽略大小写 ) |
| isEquals | 判断多个字符串是否相等, 只有全相等才返回 true ( 对比大小写 ) |
| isOrEquals | 判断多个字符串, 只要有一个符合条件则通过 |
| isContains | 判断一堆值中, 是否存在符合该条件的 ( 包含 ) |
| isStartsWith | 判断内容, 是否属于特定字符串开头 ( 对比大小写 ) |
| isEndsWith | 判断内容, 是否属于特定字符串结尾 ( 对比大小写 ) |
| countMatches | 统计字符串匹配个数 |
| countMatches2 | 统计字符串匹配个数 |
| isSpace | 判断字符串是否为 null 或全为空白字符 |
| getBytes | 字符串 转 byte[] |
| clearSpace | 清空字符串全部空格 |
| clearTab | 清空字符串全部 Tab |
| clearLine | 清空字符串全部换行符 |
| clearLine2 | 清空字符串全部换行符 |
| clearSpaceTrim | 清空字符串前后全部空格 |
| clearTabTrim | 清空字符串前后全部 Tab |
| clearLineTrim | 清空字符串前后全部换行符 |
| clearLineTrim2 | 清空字符串前后全部换行符 |
| clearSpaceTabLine | 清空字符串全部空格、Tab、换行符 |
| clearSpaceTabLineTrim | 清空字符串前后全部空格、Tab、换行符 |
| appendSpace | 追加空格 |
| appendTab | 追加 Tab |
| appendLine | 追加换行 |
| appendLine2 | 追加换行 |
| forString | 循环指定数量字符串 |
| joinArgs | 循环拼接 |
| join | 循环拼接 |
| colonSplit | 冒号分割处理 |
| getString | 获取字符串 ( 判 null ) |
| checkValue | 检查字符串 |
| checkValues | 检查字符串 ( 多个值 ) |
| checkValuesSpace | 检查字符串 ( 多个值, 删除前后空格对比判断 ) |
| format | 字符串格式化 |
| argsFormat | 根据可变参数数量自动格式化 |
| concat | 字符串连接, 将参数列表拼接为一个字符串 |
| concatSpiltWith | 字符串连接, 将参数列表拼接为一个字符串 |
| concatSpiltWithIgnoreLast | 字符串连接, 将参数列表拼接为一个字符串 ( 最后一个不追加间隔 ) |
| appends | StringBuilder 拼接处理 |
| appendsIgnoreLast | StringBuilder 拼接处理 ( 最后一个不追加间隔 ) |
| gbkEncode | 字符串进行 GBK 编码 |
| gbk2312Encode | 字符串进行 GBK2312 编码 |
| utf8Encode | 字符串进行 UTF-8 编码 |
| strEncode | 进行字符串编码 |
| urlEncode | 进行 URL 编码, 默认 UTF-8 |
| urlDecode | 进行 URL 解码, 默认 UTF-8 |
| urlDecodeWhile | 进行 URL 解码, 默认 UTF-8 ( 循环到非 URL 编码为止 ) |
| ascii | 将字符串转移为 ASCII 码 |
| unicode | 将字符串转移为 Unicode 码 |
| unicodeString | 将字符数组转移为 Unicode 码 |
| dbc | 转化为半角字符 |
| sbc | 转化为全角字符 如: a = a, A = A |
| checkChineseToString | 检测字符串是否全是中文 |
| isChinese | 判断输入汉字 |
| upperFirstLetter | 首字母大写 |
| lowerFirstLetter | 首字母小写 |
| reverse | 反转字符串 |
| underScoreCaseToCamelCase | 下划线命名转为驼峰命名 |
| camelCaseToUnderScoreCase | 驼峰命名法转为下划线命名 |
| sqliteEscape | 字符串数据库字符转义 |
| convertHideMobile | 转换手机号 |
| convertSymbolHide | 转换符号处理 |
| subEllipsize | 裁剪超出的内容, 并且追加符号 ( 如 ... ) |
| subSymbolHide | 裁剪符号处理 |
| subSetSymbol | 裁剪内容 ( 设置符号处理 ) |
| substring | 裁剪字符串 |
| replaceSEWith | 替换特定字符串开头、结尾的字符串 |
| replaceStartsWith | 替换开头字符串 |
| replaceEndsWith | 替换结尾字符串 |
| clearSEWiths | 清空特定字符串开头、结尾的字符串 |
| clearStartsWith | 清空特定字符串开头的字符串 |
| clearEndsWith | 清空特定字符串结尾的字符串 |
| replaceAll | 替换字符串 |
| replaceAllToNull | 替换字符串 |
| replaceAlls | 替换字符串 |
| split | 拆分字符串 |
* **异常处理工具类 ->** [ThrowableUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/ThrowableUtils.java)
| 方法 | 注释 |
| :- | :- |
| getThrowable | 获取异常信息 |
| getThrowableStackTrace | 获取异常栈信息 |
* **类型工具类 ->** [TypeUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/TypeUtils.java)
| 方法 | 注释 |
| :- | :- |
| getArrayType | 获取 Array Type |
| getListType | 获取 List Type |
| getSetType | 获取 Set Type |
| getMapType | 获取 Map Type |
| getType | 获取 Type |
* **压缩相关工具类 ->** [ZipUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/ZipUtils.java)
| 方法 | 注释 |
| :- | :- |
| zipFiles | 批量压缩文件 |
| zipFile | 压缩文件 |
| unzipFile | 解压文件 |
| unzipFileByKeyword | 解压带有关键字的文件 |
| getFilesPath | 获取压缩文件中的文件路径链表 |
| getComments | 获取压缩文件中的注释链表 |
## **`dev.utils.common.able`**
## **`dev.utils.common.assist`**
* **均值计算 ( 用以统计平均数 ) 辅助类 ->** [Averager.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/assist/Averager.java)
| 方法 | 注释 |
| :- | :- |
| add | 添加一个数字 |
| clear | 清除全部 |
| size | 获取参与均值计算的数字个数 |
| getAverage | 获取平均数 |
| print | 输出参与均值计算的数字 |
* **标记值计算存储 ( 位运算符 ) ->** [FlagsValue.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/assist/FlagsValue.java)
| 方法 | 注释 |
| :- | :- |
| getFlags | 获取 flags value |
| setFlags | 设置 flags value |
| addFlags | 添加 flags value |
| clearFlags | 移除 flags value |
| hasFlags | 是否存在 flags value |
| notHasFlags | 是否不存在 flags value |
* **键值对 Assist ->** [KeyValueAssist.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/assist/KeyValueAssist.java)
| 方法 | 注释 |
| :- | :- |
| getValue | 获取 Value |
| setValue | 设置 Value |
| removeValue | 移除 Value |
| getKeyValueMaps | 获取 Key Value Map |
| containsKey | 是否存在 Key |
| containsValue | 是否存在 Value |
| isEmpty | 判断 Value 是否为 null |
* **时间均值计算辅助类 ->** [TimeAverager.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/assist/TimeAverager.java)
| 方法 | 注释 |
| :- | :- |
| start | 开始计时 ( 毫秒 ) |
| end | 结束计时 ( 毫秒 ) |
| endAndRestart | 结束计时, 并重新启动新的计时 |
| average | 求全部计时均值 |
| print | 输出全部时间值 |
| clear | 清除计时数据 |
* **时间计时辅助类 ->** [TimeCounter.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/assist/TimeCounter.java)
| 方法 | 注释 |
| :- | :- |
| start | 开始计时 ( 毫秒 ) |
| durationRestart | 获取持续的时间并重新启动 ( 毫秒 ) |
| duration | 获取持续的时间 ( 毫秒 ) |
| getStartTime | 获取开始时间 ( 毫秒 ) |
* **堵塞时间辅助类 ->** [TimeKeeper.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/assist/TimeKeeper.java)
| 方法 | 注释 |
| :- | :- |
| waitForEndAsync | 设置等待一段时间后, 通知方法 ( 异步 ) |
| waitForEnd | 设置等待一段时间后, 通知方法 ( 同步 ) |
* **弱引用辅助类 ->** [WeakReferenceAssist.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/assist/WeakReferenceAssist.java)
| 方法 | 注释 |
| :- | :- |
| getSingleWeak | 获取单个弱引用对象 |
| getSingleWeakValue | 获取单个弱引用对象值 |
| setSingleWeakValue | 保存单个弱引用对象值 |
| removeSingleWeak | 移除单个弱引用持有对象 |
| getWeak | 获取弱引用对象 |
| getWeakValue | 获取弱引用对象值 |
| setWeakValue | 保存弱引用对象值 |
| removeWeak | 移除指定弱引用持有对象 |
| clear | 清空全部弱引用持有对象 |
## **`dev.utils.common.assist.record`**
* **文件记录分析工具类 ->** [FileRecordUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/assist/record/FileRecordUtils.java)
| 方法 | 注释 |
| :- | :- |
| isSuccessful | 校验记录方法返回字符串是否成功 |
| isHandler | 是否处理记录 |
| setHandler | 设置是否处理记录 |
| getRecordInsert | 获取日志记录插入信息 |
| setRecordInsert | 设置日志记录插入信息 |
| setCallback | 设置文件记录回调 |
| getLogContent | 获取日志内容 |
| record | 记录方法 |
* **日志记录配置信息 ->** [RecordConfig.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/assist/record/RecordConfig.java)
| 方法 | 注释 |
| :- | :- |
| get | 获取配置信息 |
| getStoragePath | 获取存储路径 |
| getFileName | 获取文件名 ( 固定 ) |
| getFolderName | 获取文件夹名 ( 模块名 ) |
| getFileIntervalTime | 获取文件记录间隔时间 |
| isHandler | 是否处理记录 |
| setHandler | 设置是否处理记录 |
| isInsertHeaderData | 是否插入头数据 |
| setInsertHeaderData | 设置是否插入头数据 |
| getRecordInsert | 获取日志记录插入信息 |
| setRecordInsert | 设置日志记录插入信息 |
| getFinalPath | 获取文件地址 |
* **日志记录插入信息 ->** [RecordInsert.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/assist/record/RecordInsert.java)
| 方法 | 注释 |
| :- | :- |
| getFileInfo | getFileInfo |
| setFileInfo | setFileInfo |
| getLogHeader | getLogHeader |
| setLogHeader | setLogHeader |
| getLogTail | getLogTail |
| setLogTail | setLogTail |
## **`dev.utils.common.assist.search`**
* **文件广度优先搜索算法 ( 多线程 + 队列, 搜索某个目录下的全部文件 ) ->** [FileBreadthFirstSearchUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/assist/search/FileBreadthFirstSearchUtils.java)
| 方法 | 注释 |
| :- | :- |
| setSearchHandler | 设置搜索处理接口 |
| getQueueSameTimeNumber | 获取任务队列同时进行数量 |
| setQueueSameTimeNumber | 任务队列同时进行数量 |
| isRunning | 是否搜索中 |
| stop | 停止搜索 |
| isStop | 是否停止搜索 |
| getStartTime | 获取开始搜索时间 ( 毫秒 ) |
| getEndTime | 获取结束搜索时间 ( 毫秒 ) |
| getDelayTime | 获取延迟校验时间 ( 毫秒 ) |
| setDelayTime | 设置延迟校验时间 ( 毫秒 ) |
| query | 搜索目录 |
* **文件深度优先搜索算法 ( 递归搜索某个目录下的全部文件 ) ->** [FileDepthFirstSearchUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/assist/search/FileDepthFirstSearchUtils.java)
| 方法 | 注释 |
| :- | :- |
| setSearchHandler | 设置搜索处理接口 |
| isRunning | 是否搜索中 |
| stop | 停止搜索 |
| isStop | 是否停止搜索 |
| getStartTime | 获取开始搜索时间 ( 毫秒 ) |
| getEndTime | 获取结束搜索时间 ( 毫秒 ) |
| query | 搜索目录 |
## **`dev.utils.common.assist.url`**
* **Dev 库 Java 通用 Url 解析器 ->** [DevJavaUrlParser.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/assist/url/DevJavaUrlParser.java)
| 方法 | 注释 |
| :- | :- |
| reset | reset |
| setUrl | setUrl |
| getUrl | getUrl |
| getUrlByPrefix | getUrlByPrefix |
| getUrlByParams | getUrlByParams |
| getUrlParams | getUrlParams |
| getUrlParamsDecode | getUrlParamsDecode |
| isConvertMap | isConvertMap |
| setConvertMap | setConvertMap |
* **Url 携带信息解析 ->** [UrlExtras.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/assist/url/UrlExtras.java)
| 方法 | 注释 |
| :- | :- |
| getUrl | 获取完整 Url |
| getUrlByPrefix | 获取 Url 前缀 ( 去除参数部分 ) |
| getUrlByParams | 获取 Url 参数部分字符串 |
| getUrlParams | 获取 Url Params Map |
| getUrlParamsDecode | 获取 Url Params Map ( 参数值进行 UrlDecode ) |
| getParser | 获取 Url 解析器 |
| setParser | 设置 Url 解析器 |
| reset | 重置并返回一个新的解析器 |
| setUrl | 设置完整 Url |
| isConvertMap | 是否解析、转换 Param Map |
| setConvertMap | 设置是否解析、转换 Param Map |
## **`dev.utils.common.cipher`**
* **Base64 工具类 ->** [Base64.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/cipher/Base64.java)
| 方法 | 注释 |
| :- | :- |
| decode | Decode the Base64-encoded data in input and return the data in |
| encodeToString | Base64-encode the given data and return a newly allocated |
| encode | Base64-encode the given data and return a newly allocated |
* **Base64 编解码 ( 并进行 ) 加解密 ->** [Base64Cipher.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/cipher/Base64Cipher.java)
| 方法 | 注释 |
| :- | :- |
| decrypt | 解码 |
| encrypt | 编码 |
* **加密工具类 ->** [CipherUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/cipher/CipherUtils.java)
| 方法 | 注释 |
| :- | :- |
| encrypt | 加密方法 |
| decrypt | 解密方法 |
## **`dev.utils.common.comparator`**
* **排序比较器工具类 ->** [ComparatorUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/comparator/ComparatorUtils.java)
| 方法 | 注释 |
| :- | :- |
| reverse | List 反转处理 |
| sort | List 排序处理 |
| sortAsc | List 升序处理 |
| sortDesc | List 降序处理 |
| sortFileLastModifiedAsc | 文件修改时间升序排序 |
| sortFileLastModifiedDesc | 文件修改时间降序排序 |
| sortFileLengthAsc | 文件大小升序排序 |
| sortFileLengthDesc | 文件大小降序排序 |
| sortFileNameAsc | 文件名升序排序 |
| sortFileNameDesc | 文件名降序排序 |
| sortFileAsc | 文件升序排序 |
| sortFileDesc | 文件降序排序 |
| sortDateAsc | Date 升序排序 |
| sortDateDesc | Date 降序排序 |
| sortDoubleAsc | Double 升序排序 |
| sortDoubleDesc | Double 降序排序 |
| sortFloatAsc | Float 升序排序 |
| sortFloatDesc | Float 降序排序 |
| sortIntAsc | Int 升序排序 |
| sortIntDesc | Int 降序排序 |
| sortLongAsc | Long 升序排序 |
| sortLongDesc | Long 降序排序 |
| sortStringAsc | String 升序排序 |
| sortStringDesc | String 降序排序 |
| sortStringWindowsSimpleAsc | String Windows 排序比较器简单实现升序排序 |
| sortStringWindowsSimpleDesc | String Windows 排序比较器简单实现降序排序 |
| sortStringWindowsSimple2Asc | String Windows 排序比较器简单实现升序排序 ( 实现方式二 ) |
| sortStringWindowsSimple2Desc | String Windows 排序比较器简单实现降序排序 ( 实现方式二 ) |
| sortWindowsExplorerFileSimpleComparatorAsc | Windows 目录资源文件升序排序 |
| sortWindowsExplorerFileSimpleComparatorDesc | Windows 目录资源文件降序排序 |
| sortWindowsExplorerFileSimpleComparator2Asc | Windows 目录资源文件升序排序 ( 实现方式二 ) |
| sortWindowsExplorerFileSimpleComparator2Desc | Windows 目录资源文件降序排序 ( 实现方式二 ) |
| sortWindowsExplorerStringSimpleComparatorAsc | Windows 目录资源文件名升序排序 |
| sortWindowsExplorerStringSimpleComparatorDesc | Windows 目录资源文件名降序排序 |
| sortWindowsExplorerStringSimpleComparator2Asc | Windows 目录资源文件名升序排序 ( 实现方式二 ) |
| sortWindowsExplorerStringSimpleComparator2Desc | Windows 目录资源文件名降序排序 ( 实现方式二 ) |
## **`dev.utils.common.comparator.sort`**
* **Date 排序值 ->** [DateSort.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/comparator/sort/DateSort.java)
| 方法 | 注释 |
| :- | :- |
| getDateSortValue | getDateSortValue |
* **Date 升序排序 ->** [DateSortAsc.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/comparator/sort/DateSortAsc.java)
| 方法 | 注释 |
| :- | :- |
| compare | compare |
* **Date 降序排序 ->** [DateSortDesc.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/comparator/sort/DateSortDesc.java)
| 方法 | 注释 |
| :- | :- |
| compare | compare |
* **Double 排序值 ->** [DoubleSort.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/comparator/sort/DoubleSort.java)
| 方法 | 注释 |
| :- | :- |
| getDoubleSortValue | getDoubleSortValue |
* **Double 升序排序 ->** [DoubleSortAsc.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/comparator/sort/DoubleSortAsc.java)
| 方法 | 注释 |
| :- | :- |
| compare | compare |
* **Double 降序排序 ->** [DoubleSortDesc.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/comparator/sort/DoubleSortDesc.java)
| 方法 | 注释 |
| :- | :- |
| compare | compare |
* **文件修改时间升序排序 ->** [FileLastModifiedSortAsc.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/comparator/sort/FileLastModifiedSortAsc.java)
| 方法 | 注释 |
| :- | :- |
| compare | compare |
* **文件修改时间降序排序 ->** [FileLastModifiedSortDesc.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/comparator/sort/FileLastModifiedSortDesc.java)
| 方法 | 注释 |
| :- | :- |
| compare | compare |
* **文件大小升序排序 ->** [FileLengthSortAsc.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/comparator/sort/FileLengthSortAsc.java)
| 方法 | 注释 |
| :- | :- |
| compare | compare |
* **文件大小降序排序 ->** [FileLengthSortDesc.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/comparator/sort/FileLengthSortDesc.java)
| 方法 | 注释 |
| :- | :- |
| compare | compare |
* **文件名升序排序 ->** [FileNameSortAsc.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/comparator/sort/FileNameSortAsc.java)
| 方法 | 注释 |
| :- | :- |
| compare | compare |
* **文件名降序排序 ->** [FileNameSortDesc.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/comparator/sort/FileNameSortDesc.java)
| 方法 | 注释 |
| :- | :- |
| compare | compare |
* **文件升序排序 ->** [FileSortAsc.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/comparator/sort/FileSortAsc.java)
| 方法 | 注释 |
| :- | :- |
| compare | compare |
* **文件降序排序 ->** [FileSortDesc.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/comparator/sort/FileSortDesc.java)
| 方法 | 注释 |
| :- | :- |
| compare | compare |
* **Float 排序值 ->** [FloatSort.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/comparator/sort/FloatSort.java)
| 方法 | 注释 |
| :- | :- |
| getFloatSortValue | getFloatSortValue |
* **Float 升序排序 ->** [FloatSortAsc.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/comparator/sort/FloatSortAsc.java)
| 方法 | 注释 |
| :- | :- |
| compare | compare |
* **Float 降序排序 ->** [FloatSortDesc.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/comparator/sort/FloatSortDesc.java)
| 方法 | 注释 |
| :- | :- |
| compare | compare |
* **Int 排序值 ->** [IntSort.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/comparator/sort/IntSort.java)
| 方法 | 注释 |
| :- | :- |
| getIntSortValue | getIntSortValue |
* **Int 升序排序 ->** [IntSortAsc.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/comparator/sort/IntSortAsc.java)
| 方法 | 注释 |
| :- | :- |
| compare | compare |
* **Int 降序排序 ->** [IntSortDesc.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/comparator/sort/IntSortDesc.java)
| 方法 | 注释 |
| :- | :- |
| compare | compare |
* **Long 排序值 ->** [LongSort.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/comparator/sort/LongSort.java)
| 方法 | 注释 |
| :- | :- |
| getLongSortValue | getLongSortValue |
* **Long 升序排序 ->** [LongSortAsc.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/comparator/sort/LongSortAsc.java)
| 方法 | 注释 |
| :- | :- |
| compare | compare |
* **Long 降序排序 ->** [LongSortDesc.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/comparator/sort/LongSortDesc.java)
| 方法 | 注释 |
| :- | :- |
| compare | compare |
* **String 排序值 ->** [StringSort.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/comparator/sort/StringSort.java)
| 方法 | 注释 |
| :- | :- |
| getStringSortValue | getStringSortValue |
* **String 升序排序 ->** [StringSortAsc.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/comparator/sort/StringSortAsc.java)
| 方法 | 注释 |
| :- | :- |
| compare | compare |
* **String 降序排序 ->** [StringSortDesc.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/comparator/sort/StringSortDesc.java)
| 方法 | 注释 |
| :- | :- |
| compare | compare |
* **String Windows 排序比较器简单实现 ->** [StringSortWindowsSimple.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/comparator/sort/StringSortWindowsSimple.java)
| 方法 | 注释 |
| :- | :- |
| compare | compare |
* **String Windows 排序比较器简单实现 ->** [StringSortWindowsSimple2.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/comparator/sort/StringSortWindowsSimple2.java)
| 方法 | 注释 |
| :- | :- |
| compare | compare |
* **Windows 目录资源文件排序比较器 ->** [WindowsExplorerFileSimpleComparator.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/comparator/sort/WindowsExplorerFileSimpleComparator.java)
| 方法 | 注释 |
| :- | :- |
| compare | compare |
* **Windows 目录资源文件排序比较器 ->** [WindowsExplorerFileSimpleComparator2.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/comparator/sort/WindowsExplorerFileSimpleComparator2.java)
| 方法 | 注释 |
| :- | :- |
| compare | compare |
* **Windows 目录资源文件名排序比较器 ->** [WindowsExplorerStringSimpleComparator.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/comparator/sort/WindowsExplorerStringSimpleComparator.java)
| 方法 | 注释 |
| :- | :- |
| compare | compare |
* **Windows 目录资源文件名排序比较器 ->** [WindowsExplorerStringSimpleComparator2.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/comparator/sort/WindowsExplorerStringSimpleComparator2.java)
| 方法 | 注释 |
| :- | :- |
| compare | compare |
## **`dev.utils.common.encrypt`**
* **AES 对称加密工具类 ->** [AESUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/encrypt/AESUtils.java)
| 方法 | 注释 |
| :- | :- |
| initKey | 生成密钥 |
| encrypt | AES 加密 |
| decrypt | AES 解密 |
* **CRC 工具类 ->** [CRCUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/encrypt/CRCUtils.java)
| 方法 | 注释 |
| :- | :- |
| getCRC32 | 获取 CRC32 值 |
| getCRC32ToHexString | 获取 CRC32 值 |
| getFileCRC32 | 获取文件 CRC32 值 |
* **DES 对称加密工具类 ->** [DESUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/encrypt/DESUtils.java)
| 方法 | 注释 |
| :- | :- |
| getDESKey | 获取可逆算法 DES 的密钥 |
| encrypt | DES 加密 |
| decrypt | DES 解密 |
* **加解密通用工具类 ->** [EncryptUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/encrypt/EncryptUtils.java)
| 方法 | 注释 |
| :- | :- |
| encryptMD2 | MD2 加密 |
| encryptMD2ToHexString | MD2 加密 |
| encryptMD5 | MD5 加密 |
| encryptMD5ToHexString | MD5 加密 |
| encryptMD5File | 获取文件 MD5 值 |
| encryptMD5FileToHexString | 获取文件 MD5 值 |
| encryptSHA1 | SHA1 加密 |
| encryptSHA1ToHexString | SHA1 加密 |
| encryptSHA224 | SHA224 加密 |
| encryptSHA224ToHexString | SHA224 加密 |
| encryptSHA256 | SHA256 加密 |
| encryptSHA256ToHexString | SHA256 加密 |
| encryptSHA384 | SHA384 加密 |
| encryptSHA384ToHexString | SHA384 加密 |
| encryptSHA512 | SHA512 加密 |
| encryptSHA512ToHexString | SHA512 加密 |
| hashTemplate | Hash 加密模版方法 |
| encryptHmacMD5 | HmacMD5 加密 |
| encryptHmacMD5ToHexString | HmacMD5 加密 |
| encryptHmacSHA1 | HmacSHA1 加密 |
| encryptHmacSHA1ToHexString | HmacSHA1 加密 |
| encryptHmacSHA224 | HmacSHA224 加密 |
| encryptHmacSHA224ToHexString | HmacSHA224 加密 |
| encryptHmacSHA256 | HmacSHA256 加密 |
| encryptHmacSHA256ToHexString | HmacSHA256 加密 |
| encryptHmacSHA384 | HmacSHA384 加密 |
| encryptHmacSHA384ToHexString | HmacSHA384 加密 |
| encryptHmacSHA512 | HmacSHA512 加密 |
| encryptHmacSHA512ToHexString | HmacSHA512 加密 |
| hmacTemplate | Hmac 加密模版方法 |
| encryptDES | DES 加密 |
| encryptDESToBase64 | DES 加密 |
| encryptDESToHexString | DES 加密 |
| decryptDES | DES 解密 |
| decryptDESToBase64 | DES 解密 |
| decryptDESToHexString | DES 解密 |
| encrypt3DES | 3DES 加密 |
| encrypt3DESToBase64 | 3DES 加密 |
| encrypt3DESToHexString | 3DES 加密 |
| decrypt3DES | 3DES 解密 |
| decrypt3DESToBase64 | 3DES 解密 |
| decrypt3DESToHexString | 3DES 解密 |
| encryptAES | AES 加密 |
| encryptAESToBase64 | AES 加密 |
| encryptAESToHexString | AES 加密 |
| decryptAES | AES 解密 |
| decryptAESToBase64 | AES 解密 |
| decryptAESToHexString | AES 解密 |
| symmetricTemplate | 对称加密模版方法 |
| encryptRSA | RSA 加密 |
| encryptRSAToBase64 | RSA 加密 |
| encryptRSAToHexString | RSA 加密 |
| decryptRSA | RSA 解密 |
| decryptRSAToBase64 | RSA 解密 |
| decryptRSAToHexString | RSA 解密 |
| rsaTemplate | RSA 加解密模版方法 |
* **字符串 ( 编解码 ) 工具类 ->** [EscapeUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/encrypt/EscapeUtils.java)
| 方法 | 注释 |
| :- | :- |
| escape | 编码 |
| unescape | 解码 |
* **MD5 加密工具类 ->** [MD5Utils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/encrypt/MD5Utils.java)
| 方法 | 注释 |
| :- | :- |
| md5 | 加密内容 ( 32 位小写 MD5 ) |
| md5Upper | 加密内容 ( 32 位大写 MD5 ) |
| getFileMD5 | 获取文件 MD5 值 |
| getFileMD5ToHexString | 获取文件 MD5 值 |
* **SHA 加密工具类 ->** [SHAUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/encrypt/SHAUtils.java)
| 方法 | 注释 |
| :- | :- |
| sha1 | 加密内容 SHA1 |
| sha224 | 加密内容 SHA224 |
| sha256 | 加密内容 SHA256 |
| sha384 | 加密内容 SHA384 |
| sha512 | 加密内容 SHA512 |
| getFileSHA1 | 获取文件 SHA1 值 |
| getFileSHA256 | 获取文件 SHA256 值 |
| shaHex | 加密内容 SHA 模板 |
| getFileSHA | 获取文件 SHA 值 |
* **3DES 对称加密工具类 ->** [TripleDESUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/encrypt/TripleDESUtils.java)
| 方法 | 注释 |
| :- | :- |
| initKey | 生成密钥 |
| encrypt | 3DES 加密 |
| decrypt | 3DES 解密 |
* **异或工具类 ->** [XorUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/encrypt/XorUtils.java)
| 方法 | 注释 |
| :- | :- |
| encryptAsFix | 加解密 ( 固定 Key 方式 ) 这种方式 加解密 方法共用 |
| encrypt | 加密 ( 非固定 Key 方式 ) |
| decrypt | 解密 ( 非固定 Key 方式 ) |
| xorChecksum | 数据异或校验位计算 |
## **`dev.utils.common.file`**
* **文件分片辅助类 ->** [FilePartAssist.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/file/FilePartAssist.java)
| 方法 | 注释 |
| :- | :- |
| getFile | 获取文件 |
| getFileName | 获取文件名 |
| getFilePartItems | 获取文件分片信息集合 |
| getFilePartItem | 获取指定索引文件分片信息 |
| getPartCount | 获取分片总数 |
| existsPart | 是否存在分片 |
| isOnlyOne | 是否只有一个分片 |
| getPartName | 获取分片文件名 ( 后缀索引拼接 ) |
* **文件分片信息 Item ->** [FilePartItem.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/file/FilePartItem.java)
| 方法 | 注释 |
| :- | :- |
| isFirstItem | 判断是否 First Item |
| isLastItem | 判断是否 Last Item |
| existsPart | 是否存在分片 |
| isOnlyOne | 是否只有一个分片 |
| getPartName | 获取分片文件名 ( 后缀索引拼接 ) |
* **文件分片工具类 ->** [FilePartUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/file/FilePartUtils.java)
| 方法 | 注释 |
| :- | :- |
| getPartName | 获取分片文件名 ( 后缀索引拼接 ) |
| getFilePartAssist | 获取文件分片辅助类 |
| isFilePart | 是否符合文件分片条件 |
| fileSplit | 文件拆分 |
| fileSplitSave | 文件拆分并存储 |
| fileSplitSaves | 文件拆分并存储 |
| fileSplitDelete | 删除拆分文件 |
| fileSplitDeletes | 删除拆分文件 |
| fileSplitMergePaths | 分片合并 |
| fileSplitMergeFiles | 分片合并 |
| fileSplitMerge | 分片合并 |
## **`dev.utils.common.format`**
* **可变数组格式化 ->** [ArgsFormatter.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/format/ArgsFormatter.java)
| 方法 | 注释 |
| :- | :- |
| get | 获取 ArgsFormatter |
| getStartSpecifier | 获取开始占位说明符 |
| getMiddleSpecifier | 获取中间占位说明符 |
| getEndSpecifier | 获取结尾占位说明符 |
| isThrowError | 是否抛出异常 |
| getDefaultValue | 获取格式化异常默认值 |
| format | 根据可变参数数量自动格式化 |
| formatByArray | 根据可变参数数量自动格式化 |
* **单位数组范围格式化 ->** [UnitSpanFormatter.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/format/UnitSpanFormatter.java)
| 方法 | 注释 |
| :- | :- |
| get | 获取 UnitSpanFormatter |
| getPrecision | 获取单位格式化精度 |
| isAppendZero | 是否自动补 0 |
| getDefaultValue | 获取格式化异常默认值 |
| format | 格式化 |
| formatBySpan | 计算指定单位倍数格式化 |
## **`dev.utils.common.random`**
* **随机概率采样算法 ->** [AliasMethod.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/random/AliasMethod.java)
| 方法 | 注释 |
| :- | :- |
| next | 获取随机索引 ( 对应几率索引 ) |
## **`dev.utils.common.thread`**
* **线程池管理工具类 ->** [DevThreadManager.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/thread/DevThreadManager.java)
| 方法 | 注释 |
| :- | :- |
| getInstance | 获取 DevThreadManager 实例 |
| initConfig | 初始化配置信息 |
| putConfig | 添加配置信息 |
| removeConfig | 移除配置信息 |
* **线程池 ( 构建类 ) ->** [DevThreadPool.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/thread/DevThreadPool.java)
| 方法 | 注释 |
| :- | :- |
| getThreads | 获取线程数 |
| getCalcThreads | 获取线程数 |
| execute | 加入到线程池任务队列 |
| shutdown | shutdown 会等待所有提交的任务执行完成, 不管是正在执行还是保存在任务队列中的已提交任务 |
| shutdownNow | shutdownNow 会尝试中断正在执行的任务 ( 其主要是中断一些指定方法如 sleep 方法 ) , 并且停止执行等待队列中提交的任务 |
| isShutdown | 判断线程池是否已关闭 ( isShutDown 当调用 shutdown() 方法后返回为 true ) |
| isTerminated | 若关闭后所有任务都已完成, 则返回 true |
| awaitTermination | 请求关闭、发生超时或者当前线程中断 |
| submit | 提交一个 Callable 任务用于执行 |
| invokeAll | 执行给定的任务 |
| invokeAny | 执行给定的任务 |
| schedule | 延迟执行 Runnable 命令 |
| scheduleWithFixedRate | 延迟并循环执行命令 |
| scheduleWithFixedDelay | 延迟并以固定休息时间循环执行命令 |
## **`dev.utils.common.validator`**
* **银行卡管理工具类 ->** [BankCheckUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/validator/BankCheckUtils.java)
| 方法 | 注释 |
| :- | :- |
| checkBankCard | 校验银行卡卡号是否合法 |
| getBankCardCheckCode | 从不含校验位的银行卡卡号采用 Luhn 校验算法获取校验位 |
| getNameOfBank | 通过银行卡的 前六位确定 判断银行开户行及卡种 |
* **居民身份证工具类 ->** [IDCardUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/validator/IDCardUtils.java)
| 方法 | 注释 |
| :- | :- |
| validateIdCard15 | 身份证校验规则, 验证 15 位身份编码是否合法 |
| validateIdCard18 | 身份证校验规则, 验证 18 位身份编码是否合法 |
| convert15CardTo18 | 将 15 位身份证号码转换为 18 位 |
| validateTWCard | 验证台湾身份证号码 |
| validateHKCard | 验证香港身份证号码 ( 部份特殊身份证无法检查 ) |
| validateIdCard10 | 判断 10 位数的身份证号, 是否合法 |
| validateCard | 验证身份证是否合法 |
| getAgeByIdCard | 根据身份编号获取年龄 |
| getBirthByIdCard | 根据身份编号获取生日 |
| getBirthdayByIdCard | 根据身份编号获取生日 |
| getYearByIdCard | 根据身份编号获取生日 ( 年份 ) |
| getMonthByIdCard | 根据身份编号获取生日 ( 月份 ) |
| getDateByIdCard | 根据身份编号获取生日 ( 天数 ) |
| getGenderByIdCard | 根据身份编号获取性别 |
| getProvinceByIdCard | 根据身份编号获取户籍省份 |
| getPowerSum | 将身份证的每位和对应位的加权因子相乘之后, 再获取和值 |
| getCheckCode18 | 将 POWER 和值与 11 取模获取余数进行校验码判断 |
* **校验工具类 ->** [ValidatorUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/validator/ValidatorUtils.java)
| 方法 | 注释 |
| :- | :- |
| match | 通用匹配函数 |
| isNumber | 检验数字 |
| isNumberDecimal | 检验数字或包含小数点 |
| isLetter | 判断字符串是不是全是字母 |
| isContainNumber | 判断字符串是不是包含数字 |
| isNumberLetter | 判断字符串是不是只含字母和数字 |
| isSpec | 检验特殊符号 |
| isWx | 检验微信号 |
| isRealName | 检验真实姓名 |
| isNickName | 校验昵称 |
| isUserName | 校验用户名 |
| isPassword | 校验密码 |
| isEmail | 校验邮箱 |
| isUrl | 校验 URL |
| isIPAddress | 校验 IP 地址 |
| isChinese | 校验汉字 ( 无符号, 纯汉字 ) |
| isChineseAll | 判断字符串是不是全是中文 |
| isContainChinese | 判断字符串中包含中文、包括中文字符标点等 |
* **检验联系 ( 手机号码、座机 ) 工具类 ->** [ValiToPhoneUtils.java](https://github.com/afkT/DevUtils/blob/master/lib/DevApp/src/main/java/dev/utils/common/validator/ValiToPhoneUtils.java)
| 方法 | 注释 |
| :- | :- |
| isPhoneSimple | 中国手机号码格式验证 ( 简单手机号码校验 ) |
| isPhone | 是否中国手机号码 |
| isPhoneToChinaMobile | 是否中国移动手机号码 |
| isPhoneToChinaUnicom | 是否中国联通手机号码 |
| isPhoneToChinaTelecom | 是否中国电信手机号码 |
| isPhoneToChinaBroadcast | 是否中国广电手机号码 |
| isPhoneToChinaVirtual | 是否中国虚拟运营商手机号码 |
| isPhoneToChinaHkMobile | 是否中国香港手机号码 |
| isPhoneCallNum | 验证电话号码的格式 |