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

DevUtils Github

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

DevUtils 是一个 Android 工具库, 主要根据不同功能模块,封装快捷使用的工具类及 API 方法调用。

该项目尽可能的便于开发人员,快捷、快速开发安全可靠的项目,以及内置部分常用的资源文件,如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() 进行初始化就行

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在文本变化后调用
方法注释
urlEncodeurl 编码 - UTF-8
urlDecodeurl 解码 - UTF-8
base64Encodebase64 编码 => 去除\n 替换 + 和 - 号
base64EncodeToStringbase64 编码
base64Decodebase64 解码
base64DecodeToStringbase64 解码
htmlEncodehtml 编码
htmlDecodehtml 解码
方法注释
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 格式字符串
fromJsonObject 转换 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传进相同的坐标,它就不会被触发
onStatusChangedprovider的在可用、暂时不可用和无服务三个状态直接切换时触发此函数
方法注释
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 一行的全部内容属于一个索引)
geFileToListFromRaw从res/raw 中获取内容。(返回List一行的全部内容属于一个索引)
saveAssetsFormFile从Assets 资源中获取内容并保存到本地
saveRawFormFile从res/raw 中获取内容并保存到本地
方法注释
getDisplayMetrics获取 DisplayMetrics
getScreenWidth获取屏幕的宽度(单位 px)
getScreenHeight获取屏幕的高度(单位 px)
getScreenWidthHeightToPoint通过 Context 获取屏幕宽度高度
getScreenWidthHeight通过 Context 获取屏幕宽度高度
getScreenSize获取屏幕分辨率
getScreenSizeOfDevice获取屏幕英寸 例5.5英寸
getDensity通过 Context 获取屏幕密度
getDensityDpi通过 Context 获取屏幕密度Dpi
getScaledDensity通过 Context 获取屏幕缩放密度
getXDpi获取 X轴 dpi
getYDpi获取 Y轴 dpi
getWidthDpi获取 宽度比例 dpi 基准
getHeightDpi获取 高度比例 dpi 基准
getScreenInfo获取屏幕信息
setFullScreen设置屏幕为全屏
setLandscape设置屏幕为横屏
setPortrait设置屏幕为竖屏
isLandscape判断是否横屏
isPortrait判断是否竖屏
getScreenRotation获取屏幕旋转角度
isScreenLock判断是否锁屏
isTablet判断是否是平板
getStatusHeight获取状态栏的高度(无关 android:theme 获取状态栏高度)
getStatusBarHeight获取应用区域 TitleBar 高度 (顶部灰色TitleBar高度,没有设置 android:theme 的 NoTitleBar 时会显示)
setSleepDuration设置进入休眠时长
getSleepDuration获取进入休眠时长
snapShotWithStatusBar获取当前屏幕截图,包含状态栏 (顶部灰色TitleBar高度,没有设置 android:theme 的 NoTitleBar 时会显示)
snapShotWithoutStatusBar获取当前屏幕截图,不包含状态栏 (如果 android:theme 全屏了,则截图无状态栏)
getNavigationBarHeight获取底部导航栏高度
checkDeviceHasNavigationBar检测是否具有底部导航栏
方法注释
isSDCardEnable判断SDCard是否正常挂载
getSDCardFile获取SD卡路径(File对象)
getSDCardPath获取SD卡路径(无添加 -> / -> File.separator)
isSDCardEnablePath判断 SD 卡是否可用
getSDCardPaths获取 SD 卡路径
getAllBlockSize返回对应路径的空间总大小
getAvailableBlocks返回对应路径的空闲空间(byte 字节大小)
getAlreadyBlock返回对应路径,已使用的空间大小
getBlockSizeInfos返回对应路径的空间大小信息
getSDTotalSize获取 SD 卡总大小
getSDAvailableSize获取 SD 卡剩余容量,即可用大小
getRomTotalSize获取机身内存总大小
getRomAvailableSize获取机身可用内存
getDiskCacheDir获取缓存地址
getCacheFile获取缓存资源地址
getCachePath获取缓存资源地址
方法注释
isServiceRunning判断服务是否运行
getAllRunningService获取所有运行的服务
startService启动服务
stopService停止服务
bindService绑定服务
unbindService解绑服务
方法注释
getDrawable获取 GradientDrawable
setDrawable设置 Drawable 背景
newBuilder创建新的 Shape Builder 对象
newBuilderToLeft创建新的 Shape Builder 对象
newBuilderToRight创建新的 Shape Builder 对象
newBuilderToGradient创建渐变的 Shape Builder 对象
build获取 Shape 工具类
setRadius设置圆角
setRadiusLeft设置圆角
setRadiusRight设置圆角
setCornerRadii内部处理方法
setColor设置背景色(填充铺满)
setStroke设置边框颜色
setSize设置大小
方法注释
execCmd是否是在 root 下执行命令
isSuccess判断是否执行成功
isSuccess2判断是否执行成功(判断 errorMsg)
isSuccess3判断是否执行成功(判断 successMsg)
isSuccess4判断是否执行成功(判断 successMsg) , 并且 successMsg 是否包含某个字符串
方法注释
hasShortcut检测是否存在桌面快捷方式
addShortcut为程序创建桌面快捷方式
delShortcut删除程序的快捷方式
方法注释
toHexString进行转换
signatureMD5返回 MD5
signatureSHA1返回 SHA1 加密字符串
signatureSHA256返回 SHA256 加密字符串
isDebuggable判断签名是debug签名还是release签名
getX509Certificate获取 App 证书对象
printSignatureName打印签名信息
getSignaturesFromApk从 Apk 中读取签名
getCertificateFromApk从 Apk 中读取签名
方法注释
dipConvertPx根据手机的分辨率从 dp 的单位 转成为 px(像素)
dipConvertPxf根据手机的分辨率从 dp 的单位 转成为 px(像素) - float
pxConvertDip根据手机的分辨率从 px(像素) 的单位 转成为 dp
pxConvertDipf根据手机的分辨率从 px(像素) 的单位 转成为 dp - float
pxConvertSp根据手机的分辨率从 px(像素) 的单位 转成为 sp
pxConvertSpf根据手机的分辨率从 px(像素) 的单位 转成为 sp - float
spConvertPx根据手机的分辨率从 sp 的单位 转成为 px
spConvertPxf根据手机的分辨率从 sp 的单位 转成为 px - float
dipConvertPx2根据手机的分辨率从 dp 的单位 转成为 px(像素) 第二种
dipConvertPx2f根据手机的分辨率从 dp 的单位 转成为 px(像素) 第二种 - float
spConvertPx2根据手机的分辨率从 sp 的单位 转成为 px 第二种
spConvertPx2f根据手机的分辨率从 sp 的单位 转成为 px 第二种 - float
applyDimension各种单位转换 - 该方法存在于 TypedValue
forceGetViewSize在 onCreate 中获取视图的尺寸 - 需回调 onGetSizeListener 接口,在 onGetSize 中获取 view 宽高
measureView测量视图尺寸
getMeasuredWidth获取测量视图宽度
getMeasuredHeight获取测量视图高度
onGetSize获取到 View 尺寸 通知
方法注释
with获取 SnackbarUtils 对象
getStyle获取样式
setStyle设置样式
getSnackbar获取 Snackbar
getSnackbarView获取 Snackbar View
getTextView获取 Snackbar TextView(snackbar_text)
getActionButton获取 Snackbar Action Button(snackbar_action)
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 的下方
方法注释
getColorStateList通过 Context 获取 ColorStateList
createColorStateList创建 颜色状态列表 => createColorStateList("#ffffffff", "#ff44e6ff")
newSelector创建 Drawable选择切换 list => view.setBackground(Drawable)
方法注释
getTextView获取TextView
getText获取文本
setBold设置是否加粗
setTextColor设置字体颜色
setTypeface设置字体
clearFlags清空 flags
setUnderlineText设置下划线
setStrikeThruText设置中划线
setText设置内容
setTexts设置多个 TextView 内容
setHtmlText设置 Html 内容
setHtmlTexts设置 多个 TextView Html 内容
getTextHeight获取字体高度
getTextTopOffsetHeight获取字体顶部偏移高度
getTextWidth计算字体宽度
getCenterRectY获取画布中间居中位置
reckonTextSize通过需要的高度, 计算字体大小
calcTextWidth计算第几位超过宽度
方法注释
getUriForFileToName返回处理后的Uri, 单独传递名字, 自动添加包名 ${applicationId}
getUriForFileReturn a content URI for a given file.
getFilePathByUri通过 Uri 获取 文件路径
方法注释
vibrate震动
cancel取消震动
方法注释
getContext获取 Context
getView获取 View
isEmpty判断View 是否为null
isVisibility判断View 是否显示
isVisibilitys判断 View 是否都显示显示
isVisibilityIN判断View 是否隐藏占位
isVisibilityGone判断View 是否隐藏
getVisibility获取显示的状态 (View.VISIBLE : View.GONE)
getVisibilityIN获取显示的状态 (View.VISIBLE : View.INVISIBLE)
setVisibility设置View显示状态
setVisibilitys设置View 显示的状态
toggleVisibilitys切换 View 显示的状态
reverseVisibilitys反转 View 显示的状态
toogleView切换View状态
setViewImageRes设置View 图片资源
findViewById初始化View
removeSelfFromParent把自身从父View中移除
isTouchInView判断触点是否落在该View上
requestLayoutParentView 改变请求
measureView测量 View
getViewWidth获取view的宽度
getViewHeight获取view的高度
getActivity获取 View 的 Context (Activity)
calcListViewItemHeight计算ListView Item 高度
calcGridViewItemHeight计算GridView Item 高度
getItemHeighet获取单独一个Item 高度

dev.utils.app.anim

方法注释
getRotateAnimation获取一个旋转动画
getRotateAnimationByCenter获取一个根据视图自身中心点旋转的动画
getAlphaAnimation获取一个透明度渐变动画
getHiddenAlphaAnimation获取一个由完全显示变为不可见的透明度渐变动画
getShowAlphaAnimation获取一个由不可见变为完全显示的透明度渐变动画
getLessenScaleAnimation获取一个缩小动画
getAmplificationAnimation获取一个放大动画
translate视图移动
shake视图摇晃
  • 视图动画工具箱 (AnimationUtils 基础上封装) ,提供简单的控制视图的动画的工具方法 -> ViewAnimationUtils.java
方法注释
invisibleViewByAlpha将给定视图渐渐隐去 (view.setVisibility(View.INVISIBLE))
goneViewByAlpha将给定视图渐渐隐去最后从界面中移除(view.setVisibility(View.GONE))
visibleViewByAlpha将给定视图渐渐显示出来(view.setVisibility(View.VISIBLE))
translate视图移动
shake视图摇晃

转载于:https://juejin.im/post/5c8b6307e51d45655e7960bc

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值