美文网首页Android 学习AndroidAndroid开发之路
(持续更新, 目前含100+工具类) DevUtils 是一个

(持续更新, 目前含100+工具类) DevUtils 是一个

作者: afkT | 来源:发表于2019-03-15 17:27 被阅读65次

    DevUtils Github

    About (持续更新, 目前含100+工具类)

    DevUtils 是一个 Android 工具库, 主要根据不同功能模块,封装快捷使用的工具类及 API 方法调用。
    <p>该项目尽可能的便于开发人员,快捷、快速开发安全可靠的项目,以及内置部分常用的资源文件,如color.xml、(toast) layout.xml等

    Gradle

    Step 1. Add the JitPack repository to your build file

    allprojects {
        repositories {
            maven { url 'https://jitpack.io' }
        }
    }
    

    Step 2. Add the dependency

    dependencies {
        // 因为内含 res 文件, 使用 aar 方式调用
        implementation 'com.github.afkT:DevUtils:1.6.2@aar'
    }
    

    Documentation

    Use

    只需要在 Application 中调用 DevUtils.init() 进行初始化就行 <p>
    DevUtils.openLog() 是打开内部工具类 日志输出 DevLogger, 发布版本则不调用此句

    /**
     * detail: 全局Application
     * @author Ttt
     */
    public class BaseApplication extends Application {
    
        // 日志 TAG
        private final String LOG_TAG = BaseApplication.class.getSimpleName();
    
        @Override
        public void onCreate() {
            super.onCreate();
    
            // 初始化工具类
            DevUtils.init(this.getApplicationContext());
            // = 初始化日志配置 =
            // 设置默认Logger配置
            LogConfig logConfig = new LogConfig();
            logConfig.logLevel = LogLevel.DEBUG;
            logConfig.tag = LOG_TAG;
            logConfig.sortLog = true; // 美化日志, 边框包围
            DevLogger.init(logConfig);
            // 打开 lib 内部日志 - 线上环境, 不调用方法就行
            DevUtils.openLog();
            DevUtils.openDebug();
        }
    }
    

    Other

    DevQuickUtils 是一个 基于 DevUtils 二次封装的快捷开发实现库, 封装多数逻辑判断代码,内含 Http、ImageLoader、Log 等兼容 Engine 框架, 封装 Activity、Fragment、Bean 基类以及 ReqInfoAssist(请求信息辅助类)、PageInfoAssist(分页辅助类)、MultiSelectListAssist、MultiSelectMapAssist(多选辅助类) 等,便于开发人员,基于 DevUtilsDevQuickUtils 快速熟练开发 Android 项目

    DevQuickUtils - app module 基于 (DevUtilsDevQuickUtils) 库基础上实现常见功能、UI效果等,并持续增加比较火的框架使用、二次封装等,以及部分架构设计思路、使用等综合示范项目。

    Thanks

    感谢以下开源项目的作者,本项目中有些功能受你们项目灵感的启发,有些功能也用到你们的代码完成。

    使用

    只需要在 Application 中调用 DevUtils.init() 进行初始化就行

    目录结构

    - dev.utils         | 根目录
       - app            | app相关工具类
          - anim        | 动画工具类
          - assist      | 辅助类
             - manager  | 管理器 如: ActivityManager
          - cache       | 缓存工具类
          - camera1     | 摄像头相关 android.hardware.Camera
          - image       | 图片相关处理
          - info        | App信息, PackageInfo 等
          - logger      | 日志库 DevLogger
          - player      | 多媒体(视频、音频)播放封装
          - share       | SharedPreferences 封装
          - toast       | Toast
             - toaster  | Toaster 处理无通知权限
          - wifi        | wifi、热点工具类
       - common         | java工具类, 不依赖android api
          - assist      | 各种快捷辅助类
             - search   | 搜索相关(文件搜索等)
          - cipher      | 编/解码工具类
          - encrypt     | 加密工具类
          - random      | 随机概率算法工具类
          - thread      | 线程相关
          - validator   | 数据校验工具类
    

    事项

    • 内部存在两个日志工具类(工具类内部调用), 对外使用 DevLogger
    // 整个工具类内部日志信息, 都通过以下两个工具类输出打印, 并且通过 DevUtils.openLog() 控制开关
    
    // dev.utils.app - App 打印日志工具类
    LogPrintUtils
    // dev.utils.common - Java Common 日志打印工具类
    JCLogUtils
    
    • 需要开启日志, 单独调用
    // 打开 lib 内部日志 - 线上环境, 不调用方法就行
    DevUtils.openLog();
    // 标示 debug 模式
    DevUtils.openDebug();
    
    • 工具类部分模块配置与使用 - Use and Config

    • 部分api更新不及时或有遗漏等,具体以对应的工具类为准

    因字数限制, 仅展示部分API 详细API 请点击

    README - API

    方法 注释
    getService 获取 AccessibilityService 对象
    setService 设置 AccessibilityService 对象
    checkAccessibility 检查是否开启无障碍功能
    isAccessibilitySettingsOn 判断是否开启无障碍功能
    printAccessibilityEvent 打印 AccessibilityEvent 信息日志
    findAccessibilityNodeInfosByText 查找符合条件的节点
    findAccessibilityNodeInfosByViewId 查找符合条件的节点
    performClick 点击指定的节点
    performLongClick 长按指定的节点
    preformActionBack 触发返回键
    preformActionHome 触发Home键
    preformActionPowerDialog 启动长按电源按钮 Dialog
    preformActionLockScreen 锁定屏幕 -> 非锁屏
    preformActionTakeScreenshot 截图
    preformActionNotifications 打开通知栏
    preformActionRecents 最近打开应用列表
    preformActionQuickSettings 打开设置
    preformActionSplitScreen 分屏
    preformAction 模拟对应 Action 操作
    performGlobalAction 模拟全局对应 Action 操作
    方法 注释
    getActivityByView 返回 View context 所属的 Activity
    isActivityExists 判断是否存在指定的Activity
    startHomeActivity 回到桌面 (同点击Home键效果)
    getLauncherActivity 获取 Launcher activity
    getActivityIcon 返回 Activity 对应的图标
    getActivityLogo 返回 Activity 对应的Logo
    getActivityToLauncher 获取对应包名应用启动 Activity
    getLauncherCategoryHomeToResolveInfo 获取系统桌面信息
    getLauncherCategoryHomeToPackageName 获取系统桌面信息 - packageName
    getLauncherCategoryHomeToActivityName 获取系统桌面信息 - activityName
    getLauncherCategoryHomeToPackageAndName 获取系统桌面信息 - package/activityName
    方法 注释
    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 静默安装 App
    uninstallApp 卸载 App
    uninstallAppSilent 静默卸载 App
    getActivityToLauncher 获取对应包名应用启动 Activity
    getWindowCurrent 获取当前显示的 Window
    getWindowCurrent2 获取当前显示的 Window
    getWindowCurrentToPackage 获取对应包名 显示的 Window
    getActivityCurrent 获取当前显示的 Activity
    getActivitys 获取 activity 栈
    getActivitysToPackage 获取对应包名的 Activity 栈
    getActivitysToPackageLists 获取对应包名的 Activity 栈 (处理成 List), 最新的 Activity 越靠后
    isActivityTopRepeat 判断 Activity 栈顶 是否重复
    getActivityTopRepeatCount 获取 Activity 栈顶 重复总数
    getServices 查看正在运行的 Services
    startSelfApp 启动自身应用
    startActivity 跳转页面 Activity
    startService 启动服务
    stopService 停止服务
    sendBroadcastToAll 发送广播(向所有组件发送)
    sendBroadcast 发送广播
    kill 销毁进程
    sendTrimMemory 收紧内存
    tap 点击某个区域
    swipeClick 按压某个区域(点击)
    swipe 滑动到某个区域
    text 输入文本 - 不支持中文
    keyevent 触发某些按键
    screencap 屏幕截图
    screenrecord 录制屏幕 (以 mp4 格式保存到 /sdcard)
    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
    方法 注释
    startAlarmIntent 开启定时器
    stopAlarmIntent 关闭定时器
    startAlarmService 开启轮询服务
    stopAlarmService 停止轮询服务
    startAlarmBroadcast 开启轮询广播
    stopAlarmBroadcast 停止轮询广播
    startAlarmActivity 开启轮询 Activity
    stopAlarmActivity 停止轮询 Activity
    方法 注释
    init 初始化操作
    record 日志记录
    isHandler 是否处理日志记录
    setHandler 设置是否处理日志记录
    isAppendSpace 是否追加空格
    setAppendSpace 设置是否追加空格
    getLogFolderName 获取文件日志名
    setLogFolderName 设置日志文件夹名
    getLogStoragePath 获取日志存储路径
    setLogStoragePath 设置日志存储路径
    getStoragePath 获取存储路径
    getFileName 获取日志文件名
    getFileFunction 获取日志文件记录的功能
    getFileIntervalTime 获取日志文件记录间隔时间
    getFolderName 获取日志文件夹名
    obtain 获取记录分析文件信息
    getLogPath 获取日志地址
    getIntervalTimeFolder 获取时间间隔 - 文件夹
    方法 注释
    getUUID 获取设备唯一id
    getRandomUUID 获取随机数 唯一id
    getFormatRes 获取 R.string 资源的格式化字符串
    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版本及以上
    isLollipop 是否在5.0.1版本及以上
    isM 是否在6.0版本及以上
    isN 是否在7.0版本及以上
    isN_MR1 是否在7.1.1版本及以上
    isO 是否在8.0版本及以上
    isO_MR1 是否在8.1版本及以上
    isP 是否在9.0版本及以上
    convertSDKVersion 转换SDK版本 (convertSDKVersion(14) => Android 4.0.0-2)
    方法 注释
    getWindowManager 获取 WindowManager
    getView 获取 View
    getResources 获取 Resources
    getString 获取 String
    getColor 获取 Color
    getDrawable 获取 Drawable
    getDimension 获取 Dimen 资源
    getTheme 获取 Resources.Theme
    getAssets 获取 AssetManager
    getColorStateList 获取 ColorStateList
    getSystemService 获取 SystemService
    getPackageManager 获取 PackageManager
    getConfiguration 获取 Configuration
    getDisplayMetrics 获取 DisplayMetrics
    getContentResolver 获取 ContentResolver
    getAppIcon 获取 App 的图标
    getAppPackageName 获取 App 包名
    getAppName 获取 App 名
    getAppVersionName 获取 App 版本名 - 对外显示
    getAppVersionCode 获取 App 版本号 - 内部判断
    installApp 安装 App(支持 8.0)的意图
    installAppSilent 静默安装 App
    uninstallApp 卸载 App
    uninstallAppSilent 静默卸载 App
    isAppInstalled 判断是否安装了应用
    isInstalledApp 判断是否安装指定包名的 App
    isAppRoot 判断是否存在 root 权限
    isAppDebug 判断是否 App 是否debug模式
    isAppSystem 判断 App 是否系统app
    isAppForeground 判断 App 是否在前台
    launchApp 打开 App
    launchAppDetailsSettings 跳转到 专门的 App 设置详情页面
    launchAppDetails 跳转到 专门的 App 应用商城详情页面
    getAppPath 获取 App 路径 /data/data/包名/.apk
    getAppSignature 获取 App 签名
    getAppSignatureSHA1 获取 App sha1值
    getAppSignatureSHA256 获取应用签名的的 SHA256 值
    getAppSignatureMD5 获取应用签名 MD5 值
    openPDFFile 启动本地应用打开 PDF
    openWordFile 启动本地应用打开 Word
    openOfficeByWPS 调用 WPS 打开 office 文档
    方法 注释
    getStatusBarHeight 获取状态栏高度
    setStatusBarVisibility 设置状态栏是否显示
    isStatusBarVisible 判断状态栏是否显示
    setStatusBarLightMode 设置状态是否高亮模式
    addMarginTopEqualStatusBarHeight 添加状态栏同等高度到View的顶部
    subtractMarginTopEqualStatusBarHeight 添加状态栏同等高度到View的顶部
    setStatusBarColor 设置状态栏颜色
    setStatusBarAlpha 设置状态栏透明度
    setStatusBarCustom 设置自定义状态栏
    setStatusBarColor4Drawer 设置状态栏的颜色
    setStatusBarAlpha4Drawer 设置状态栏透明度
    getActionBarHeight 返回 ActionBase 高度
    setNotificationBarVisibility 设置通知栏是否显示
    getNavBarHeight 获取 NavigationView 高度
    setNavBarVisibility 设置导航栏是否可见(图标显示)
    isNavBarVisible 判断导航栏是否可见
    setNavBarColor 设置导航栏颜色
    getNavBarColor 设置导航栏颜色
    isSupportNavBar 判断是否支持导航栏
    方法 注释
    isAutoBrightnessEnabled 判断是否开启自动调节亮度
    setAutoBrightnessEnabled 设置是否开启自动调节亮度
    getBrightness 获取屏幕亮度
    setBrightness 设置屏幕亮度
    setWindowBrightness 设置窗口亮度
    getWindowBrightness 获取窗口亮度
    方法 注释
    cleanInternalCache 清除内部缓存 - path /data/data/package/cache
    cleanInternalFiles 清除内部文件 - path /data/data/package/files
    cleanInternalDbs 清除内部数据库 - path /data/data/package/databases
    cleanInternalDbByName 根据名称清除数据库 - path /data/data/package/databases/dbName
    cleanInternalSp 清除内部 SP - path /data/data/package/shared_prefs
    cleanExternalCache 清除外部缓存 - path /storage/emulated/0/android/data/package/cache
    cleanCustomDir 清除自定义路径下的文件,使用需小心,请不要误删。而且只支持目录下的文件删除
    cleanApplicationData 清除本应用所有的数据
    getFolderSize 获取文件夹大小
    getCacheSize 获取缓存文件大小
    getFormatSize 格式化单位
    方法 注释
    isFastDoubleClick 判断两次点击的间隔 小于默认间隔时间(1秒), 则认为是多次无效点击
    initConfig 初始化配置信息
    putConfig 添加配置信息
    removeConfig 移除配置信息
    removeRecord 移除点击记录
    clearRecord 清空点击记录(全部)
    addTouchArea 增加控件的触摸范围,最大范围只能是父布局所包含的的区域
    方法 注释
    copyText 复制文本到剪贴板
    getText 获取剪贴板的文本
    copyUri 复制uri到剪贴板
    getUri 获取剪贴板的uri
    copyIntent 复制意图到剪贴板
    getIntent 获取剪贴板的意图
    方法 注释
    notifyMediaStore 通知刷新本地资源
    insertImageIntoMediaStore 添加图片到系统相册(包含原图、相册图, 会存在两张) - 想要一张, 直接调用 notifyMediaStore()
    insertVideoIntoMediaStore 添加视频到系统相册
    insertIntoMediaStore 保存到系统相册
    方法 注释
    getProcessorsCount 获取处理器的Java虚拟机的数量
    getSysCPUSerialNum 获取手机CPU序列号
    getCpuInfo 获取CPU 信息
    getCpuModel 获取CPU 型号
    getMaxCpuFreq 获取 CPU 最大频率(单位KHZ)
    getMinCpuFreq 获取 CPU 最小频率(单位KHZ)
    getCurCpuFreq 实时获取 CPU 当前频率(单位KHZ)
    getCoresNumbers 获取 CPU 几核
    getCpuName 获取CPU名字
    getCMDOutputString 获取 CMD 指令回调数据
    方法 注释
    startExportDatabase 导出数据库
    startImportDatabase 导入数据库
    getDBPath 获取数据库路径
    方法 注释
    getDeviceInfo 获取设备信息
    handlerDeviceInfo 处理设备信息
    getSDKVersionName 获取设备系统版本号
    getSDKVersion 获取当前SDK 版本号
    getAndroidId 获取Android id
    isDeviceRooted 判断设备是否 root
    isAdbEnabled 返回是否启用了 ADB
    getABIs 获取支持的指令集 如: [arm64-v8a, armeabi-v7a, armeabi]
    getMacAddress 获取设备 MAC 地址
    getManufacturer 获取设备厂商 如 Xiaomi
    getModel 获取设备型号 如 RedmiNote4X
    shutdown 关机 (需要 root 权限)
    reboot 重启设备 (需要 root 权限)
    rebootToRecovery 重启引导到 recovery (需要 root 权限)
    rebootToBootloader 重启引导到 bootloader (需要 root 权限)
    getBaseband_Ver 获取 基带版本 BASEBAND-VER
    getLinuxCore_Ver 获取 内核版本 CORE-VER
    方法 注释
    showDialog 显示 Dialog
    closeDialog 关闭 Dialog
    closeDialogs 关闭多个 Dialog
    closePopupWindow 关闭 PopupWindow
    closePopupWindows 关闭多个 PopupWindow
    createAlertDialog 创建提示 Dialog (原生样式)
    createProgressDialog 创建加载中 Dialog (原生样式)
    autoCloseDialog 自动关闭dialog
    autoClosePopupWindow 自动关闭 PopupWindow
    createSingleChoiceListDialog 创建单选列表样式 Dialog
    createSingleChoiceDialog 创建单选样式 Dialog
    createMultiChoiceDialog 创建多选样式 Dialog
    createViewDialog 创建自定义 View 样式 Dialog
    方法 注释
    setCursorVisible 设置是否显示光标
    setMaxLengthAnText 设置长度限制,并且设置内容
    setMaxLength 设置长度限制
    getSelectionStart 获取光标位置
    getText 获取输入的内容
    getTextLength 获取输入的内容长度
    setText 设置内容
    insert 追加内容 - 当前光标位置追加
    setSelectTop 设置光标在第一位
    setSelectBottom 设置光标在最后一位
    setSelect 设置光标位置
    setKeyListener 设置输入限制
    getNumberAndEnglishKeyListener 限制只能输入字母和数字,默认弹出英文输入法
    getNumberKeyListener 限制只能输入数字,默认弹出数字列表
    getMarkId 获取标记id
    isOperate 判断是否操作中
    setOperate 设置是否操作中
    getOperateState 获取操作状态
    setOperateState 设置操作状态
    beforeTextChanged 在文本变化前调用
    onTextChanged 在文本变化后调用
    afterTextChanged 在文本变化后调用
    方法 注释
    urlEncode url 编码 - UTF-8
    urlDecode url 解码 - UTF-8
    base64Encode base64 编码 => 去除\n 替换 + 和 - 号
    base64EncodeToString base64 编码
    base64Decode base64 解码
    base64DecodeToString base64 解码
    htmlEncode html 编码
    htmlDecode html 解码
    方法 注释
    getErrorMsg 获取错误信息
    getThrowableMsg 将异常栈信息转为字符串
    getThrowableNewLinesMsg 获取错误信息(有换行)
    方法 注释
    init 初始化调用方法
    saveErrorLog 保存 App 错误日志
    saveLog 保存 App 日志
    handlerVariable 处理可变参数
    方法 注释
    getInstance 获取 FlashlightUtils 实例 ,单例模式
    register 注册摄像头
    unregister 注销摄像头
    setFlashlightOn 打开闪光灯
    setFlashlightOff 关闭闪光灯
    isFlashlightOn 是否打开闪光灯
    isFlashlightEnable 是否支持手机闪光灯
    • Handler 工具类, 默认开启一个 Handler,方便在各个地方随时执行主线程任务 -> HandlerUtils.java
    方法 注释
    getMainHandler 获取主线程 Handler
    postRunnable 在主线程 Handler 中执行任务
    removeRunnable 在主线程 Handler 中清除任务
    方法 注释
    setHtmlText 设置内容, 最终做处理
    addHtmlColor 为给定的字符串添加HTML颜色标记
    addHtmlBold 为给定的字符串添加HTML加粗标记
    addHtmlColorAndBlod 为给定的字符串添加HTML颜色标记,以及加粗
    addHtmlUnderline 为给定的字符串添加HTML下划线
    addHtmlIncline 为给定的字符串添加HTML 字体倾斜
    keywordMadeRed 将给定的字符串中所有给定的关键字标色
    keywordReplaceAll 将给定的字符串中所有给定的关键字进行替换内容
    方法 注释
    isIntentAvailable 判断 Intent 是否可用
    getInstallAppIntent 获取安装 App(支持 8.0)的意图
    getUninstallAppIntent 获取卸载 App 的意图
    getLaunchAppIntent 获取打开 App 的意图
    getLaunchAppDetailsSettingsIntent 获取 App 具体设置的意图
    getLaunchAppDetailIntent 获取 到应用商店app详情界面的意图
    getShareTextIntent 获取分享文本的意图
    getShareImageIntent 获取分享图片的意图
    getComponentIntent 获取其他应用组件的意图
    getShutdownIntent 获取关机的意图
    getDialIntent 获取跳至拨号界面意图
    getCallIntent 获取拨打电话意图
    getSendSmsIntent 获取发送短信界面的意图
    getCaptureIntent 获取拍照的意图
    startSysSetting 跳转到系统设置页面
    openWirelessSettings 打开网络设置界面 - 3.0以下打开设置界面
    方法 注释
    toJson 转换为 JSON 格式字符串
    fromJson Object 转换 JSON 对象
    wrap 包装转换 Object - {@link JSONObject#wrap(Object)}
    stringJSONEscape 字符串 JSON 转义处理
    方法 注释
    setDelayMillis 设置延迟时间
    openKeyboard 打开软键盘
    closeKeyboard 关闭软键盘
    closeKeyBoardSpecial 关闭软键盘 - 特殊处理
    toggleKeyboard 自动切换键盘状态,如果键盘显示了则隐藏,隐藏着显示
    judgeView 某个View里面的子View的View判断
    isSoftInputVisible 判断软键盘是否可见
    registerSoftInputChangedListener 注册软键盘改变监听器
    registerSoftInputChangedListener2 注册软键盘改变监听器
    fixSoftInputLeaks 修复软键盘内存泄漏 在 Activity.onDestroy() 中使用
    • 锁屏工具类 - 锁屏管理, 锁屏、禁用锁屏,判断是否锁屏 -> KeyguardUtils.java
    方法 注释
    getInstance 获取 KeyguardUtils 实例 ,单例模式
    isKeyguardLocked 是否锁屏 - android 4.1以上支持
    isKeyguardSecure 是否有锁屏密码 - android 4.1以上支持
    inKeyguardRestrictedInputMode 是否锁屏 - android 4.1 之前
    getKeyguardManager 获取 KeyguardManager
    setKeyguardManager 设置 KeyguardManager
    disableKeyguard 屏蔽系统的屏保
    reenableKeyguard 使能显示锁屏界面,如果你之前调用了disableKeyguard()方法取消锁屏界面,那么会马上显示锁屏界面。
    release 释放资源
    newKeyguardLock 生成一个新的 KeyguardLock, 并且设置 Tag
    getKeyguardLock 获取 KeyguardManager.KeyguardLock
    setKeyguardLock 设置 KeyguardManager.KeyguardLock
    方法 注释
    getSystemLanguage 获取系统语言
    getSystemPreferredLanguage 获取系统首选语言
    applyLanguage 修改系统语言 (App 多语言,单独改变 App 语言)
    getSupportLanguages 获取支持的语言
    putSupportLanguage 添加支持的语言
    removeSupportLanguage 移除支持的语言
    isSupportLanguage 是否支持此语言
    getSupportLanguage 获取支持语言
    方法 注释
    getTouchListener 获取 View 设置的 OnTouchListener
    getListenerInfo 获取 View ListenerInfo 对象(内部类)
    getListenerInfoListener 获取 View ListenerInfo 对象内部事件对象
    setOnClicks 设置点击事件
    方法 注释
    getLocation 获取位置, 需要先判断是否开启了定位
    isGpsEnabled 判断Gps是否可用
    isLocationEnabled 判断定位是否可用
    openGpsSettings 打开Gps设置界面
    register 注册 - 使用完记得调用{@link #unregister()}
    unregister 注销监听
    getAddress 根据经纬度获取地理位置
    getCountryName 根据经纬度获取所在国家
    getLocality 根据经纬度获取所在地
    getStreet 根据经纬度获取所在街道
    isBetterLocation 是否更好的位置
    isSameProvider 是否相同的提供者
    getLastKnownLocation 获取最后一次保留的坐标
    onLocationChanged 当坐标改变时触发此函数,如果Provider传进相同的坐标,它就不会被触发
    onStatusChanged provider的在可用、暂时不可用和无服务三个状态直接切换时触发此函数
    方法 注释
    getMetaData 获取 Application Meta Data
    getMetaDataInActivity 获取 Activity Meta Data
    getMetaDataInService 获取 Service Meta Data
    getMetaDataInReceiver 获取 Receiver Meta Data
    getMetaDataInProvider 获取 ContentProvider Meta Data
    getAppVersion 获取 App 版本信息
    getAppVersionCode 获取 App 版本号
    getAppVersionName 获取 App 版本信息
    方法 注释
    printMemoryInfo 返回内存信息
    getMemoryInfo 获取内存信息
    printMemoryInfo2 返回内存信息
    getAvailMemory 获取可用内存信息
    getTotalMemory 获取总内存大小
    getMemoryAvailable 获取可用内存大小
    getMemInfoIype 通过不同 type 获取对应的内存信息
    方法 注释
    getMobileDataEnabled 获取移动网络打开状态(默认属于未打开)
    setMobileDataEnabled 设置移动网络开关(无判断是否已开启移动网络) - 实际无效果, 非系统应用无权限
    isConnect 判断是否连接了网络
    getConnectType 获取连接的网络类型
    isConnWifi 判断是否连接Wifi(连接上、连接中)
    isConnMobileData 判断是否连接移动网络(连接上、连接中)
    isAvailable 判断网络是否可用
    isAvailableByPing 使用 ping ip 方式判断网络是否可用
    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 地址
    方法 注释
    getNotificationManager 获取通知栏管理类
    cancelAll 移除通知 - 移除所有通知(只是针对当前Context下的Notification)
    cancel 移除通知 - 移除标记为id的通知 (只是针对当前Context下的所有Notification)
    notify 进行通知
    createPendingIntent 获取跳转id
    createNotification 创建通知栏对象
    obtain 获取 Led 配置参数
    isEmpty 判断是否为 null
    方法 注释
    getRomType 获取 ROM 类型
    getBaseVersion 获取 Rom 版本, 如 MIUI 9 获取的是 9
    getVersion 获取 Rom 具体版本号, 如 MIUI 9 8.4.26 获取的是 8.4.26
    方法 注释
    getRootPath 获取 Android 系统根目录 - path /system
    getDataPath 获取 data 目录 - path /data
    getDownloadCachePath 获取下载缓存目录 - path data/cache
    getInternalAppDataPath 获取内存应用数据路径 - path /data/data/package
    getInternalAppCodeCacheDir 获取内存应用代码缓存路径 - path /data/data/package/code_cache
    getInternalAppDbsPath 获取内存应用数据库路径 - path /data/data/package/databases.
    getInternalAppDbPath 获取内存应用数据库路径 - path /data/data/package/databases/name.
    getInternalAppFilesPath 获取内存应用文件路径 - path/data/data/package/files.
    getInternalAppSpPath 获取内存应用 SP 路径 - path/data/data/package/shared_prefs.
    getInternalAppNoBackupFilesPath 获取内存应用未备份文件路径 - path/data/data/package/no_backup.
    getExternalStoragePath 获取外存路径 - path/storage/emulated/0.
    getExternalMusicPath 获取外存音乐路径 - path/storage/emulated/0/Music.
    getExternalPodcastsPath 获取外存播客路径 - path/storage/emulated/0/Podcasts.
    getExternalRingtonesPath 获取外存铃声路径 - path/storage/emulated/0/Ringtones.
    getExternalAlarmsPath 获取外存闹铃路径 - path/storage/emulated/0/Alarms.
    getExternalNotificationsPath 获取外存通知路径 - path/storage/emulated/0/Notifications.
    getExternalPicturesPath 获取外存图片路径 - path/storage/emulated/0/Pictures.
    getExternalMoviesPath 获取外存影片路径 - path/storage/emulated/0/Movies.
    getExternalDownloadsPath 获取外存下载路径 - path/storage/emulated/0/Download.
    getExternalDcimPath 获取外存数码相机图片路径 - path/storage/emulated/0/DCIM.
    getExternalDocumentsPath 获取外存文档路径 - path/storage/emulated/0/Documents.
    getExternalAppDataPath 获取外存应用数据路径 - path/storage/emulated/0/Android/data/package.
    getExternalAppCachePath 获取外存应用缓存路径 - path/storage/emulated/0/Android/data/package/cache.
    getExternalAppFilesPath 获取外存应用文件路径 - path/storage/emulated/0/Android/data/package/files.
    getExternalAppMusicPath 获取外存应用音乐路径 - path/storage/emulated/0/Android/data/package/files/Music.
    getExternalAppPodcastsPath 获取外存应用播客路径 - path/storage/emulated/0/Android/data/package/files/Podcasts.
    getExternalAppRingtonesPath 获取外存应用铃声路径 - path/storage/emulated/0/Android/data/package/files/Ringtones.
    getExternalAppAlarmsPath 获取外存应用闹铃路径 - path/storage/emulated/0/Android/data/package/files/Alarms.
    getExternalAppNotificationsPath 获取外存应用通知路径 - path/storage/emulated/0/Android/data/package/files/Notifications.
    getExternalAppPicturesPath 获取外存应用图片路径 - path/storage/emulated/0/Android/data/package/files/Pictures.
    getExternalAppMoviesPath 获取外存应用影片路径 - path/storage/emulated/0/Android/data/package/files/Movies.
    getExternalAppDownloadPath 获取外存应用下载路径 - path/storage/emulated/0/Android/data/package/files/Download.
    getExternalAppDcimPath 获取外存应用数码相机图片路径 - path/storage/emulated/0/Android/data/package/files/DCIM.
    getExternalAppDocumentsPath 获取外存应用文档路径 - path/storage/emulated/0/Android/data/package/files/Documents.
    getExternalAppObbPath 获取外存应用 OBB 路径 - path/storage/emulated/0/Android/obb/package.
    方法 注释
    isGranted 判断是否授予了权限
    shouldShowRequestPermissionRationale 是否拒绝了权限 - 拒绝过一次, 再次申请时, 弹出选择不再提醒并拒绝才会触发 true
    permission 申请权限初始化
    callBack 设置回调方法
    request 请求权限
    onRequestPermissionsResult 请求权限回调 - 需要在 onRequestPermissionsResult 回调里面调用
    onGranted 授权通过权限
    onDenied 授权未通过权限
    方法 注释
    isSimReady 判断是否装载sim卡
    getUserCountry 获取Sim卡所属地区,非国内地区暂不支持播放
    judgeArea 判断地区,是否属于国内
    isPhone 判断设备是否是手机
    getMEID 获取 MEID 移动设备识别码
    getIMEI 获取 IMEI 码
    getIMSI 获取 IMSI 码
    getIMSIIDName 获取IMSI处理过后的简称
    getPhoneType 获取移动终端类型
    isSimCardReady 判断 sim 卡是否准备好
    getSimOperatorName 获取 Sim 卡运营商名称 => 中国移动、如中国联通、中国电信
    getSimOperatorByMnc 获取 Sim 卡运营商名称 => 中国移动、如中国联通、中国电信
    getDeviceId 获取设备id
    getSerialNumber 返回设备序列化
    getAndroidId 获取Android id
    getUUID 获取设备唯一id
    getPhoneStatus 获取手机状态信息
    dial 跳至拨号界面
    call 拨打电话
    sendSms 跳至发送短信界面
    sendSmsSilent 发送短信
    getAllContactInfo 获取手机联系人
    getAllContactInfo2 获取手机联系人
    getContactNum 打开手机联系人界面点击联系人后便获取该号码
    getAllSMS 获取手机短信并保存到 xml 中
    getMtkTeleInfo 获取 MTK 神机的双卡 IMSI、IMSI 信息
    getMtkTeleInfo2 获取 MTK 神机的双卡 IMSI、IMSI 信息
    getQualcommTeleInfo 获取 高通 神机的双卡 IMSI、IMSI 信息
    getSpreadtrumTeleInfo 获取 展讯 神机的双卡 IMSI、IMSI 信息
    方法 注释
    startPolling 开启轮询
    stopPolling 停止轮询
    startPollingService 开启轮询服务
    stopPollingService 停止轮询服务
    方法 注释
    getInstance 获取 PowerManagerUtils 实例 ,单例模式
    isScreenOn 屏幕是否打开(亮屏)
    turnScreenOn 唤醒屏幕/点亮亮屏
    turnScreenOff 释放屏幕锁, 允许休眠时间自动黑屏
    getWakeLock 获取 PowerManager.WakeLock
    setWakeLock 设置 PowerManager.WakeLock
    getPowerManager 获取 PowerManager
    setPowerManager 设置 PowerManager
    setBright 设置屏幕常亮
    setWakeLockToBright 设置WakeLock 常亮
    方法 注释
    kill 销毁自身进程
    isCurProcess 判断是否当前进程
    getCurProcessName 获取当前进程的名字
    getProcessName 获取进程号对应的进程名
    getPid 根据包名获取进程id
    getRunningAppProcessInfo 根据 pid 获取进程信息
    getForegroundProcessName 获取前台线程包名
    getAllBackgroundProcesses 获取后台服务进程
    killAllBackgroundProcesses 杀死所有的后台服务进程
    killBackgroundProcesses 杀死后台服务进程
    方法 注释
    getView 获取 View
    getResources 获取 Resources
    getTheme 获取 Resources.Theme
    getAssets 获取 AssetManager
    getColorStateList 获取 ColorStateList
    getString 获取字符串
    getColor 获取 Color
    getDrawable 获取 Drawable
    getDimension 获取 Dimen 资源
    getResourceId 根据资源名获取资源id
    getLayoutId 获取 layout 布局文件 id
    getStringId 获取 string id
    getDrawableId 获取 drawable id
    getDrawableId2 获取 drawable id
    getMipmapId 获取 mipmap id
    getStyleId 获取 style id
    getStyleableId 获取 styleable id
    getAnimId 获取 anim id
    getId 获取 id
    getColorId 获取 color id
    readBytesFromAssets 获取 Assets 资源文件数据
    readStringFromAssets 读取字符串 来自 Assets文件
    readBytesFromRaw 从res/raw 中获取内容。
    readStringFromRaw 读取字符串 来自Raw 文件
    geFileToListFromAssets 获取 Assets 资源文件数据(返回List<String> 一行的全部内容属于一个索引)
    geFileToListFromRaw 从res/raw 中获取内容。(返回List<String>一行的全部内容属于一个索引)
    saveAssetsFormFile 从Assets 资源中获取内容并保存到本地
    saveRawFormFile 从res/raw 中获取内容并保存到本地

    相关文章

      网友评论

        本文标题:(持续更新, 目前含100+工具类) DevUtils 是一个

        本文链接:https://www.haomeiwen.com/subject/mmyrmqtx.html