(持續更新, 目前含100+工具類) DevUtils 是一個 Android 工具庫

afkT發表於2019-03-15

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.5.0@aar'
}
複製程式碼

Documentation

Use

只需要在 Application 中呼叫 DevUtils.init() 進行初始化就行

DevUtils.openLog() 是開啟內部工具類 日誌輸出 DevLogger, 釋出版本則不呼叫此句

/**
 * detail: 全域性Application
 * Created by 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

  • 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

dev.utils.app

方法 註釋
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 許可權)
reboot2Recovery 重啟引導到 recovery (需要 root 許可權)
reboot2Bootloader 重啟引導到 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
getTheme 獲取 Resources.Theme
getAssets 獲取 AssetManager
getDrawable 獲取 Drawable
getColor 獲取 Color
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 許可權)
reboot2Recovery 重啟引導到 recovery (需要 root 許可權)
reboot2Bootloader 重啟引導到 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
方法 註釋
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 替換 + 和 - 號
base64Encode2String base64 編碼
base64Decode base64 解碼
base64DecodeToString base64 解碼
htmlEncode html 編碼
htmlDecode html 解碼
binEncode 返回二進位制編碼後的字串
binDecode 返回 UTF-8 字串的二進位制資料
方法 註釋
getErrorMsg 獲取錯誤資訊
getThrowableMsg 將異常棧資訊轉為字串
getThrowableNewLinesMsg 獲取錯誤資訊(有換行)
方法 註釋
init 初始化呼叫方法
saveErrorLog 儲存 App 錯誤日誌
saveLog 儲存 App 日誌
handlerVariable 處理可變引數
方法 註釋
getInstance 獲取 FlashlightUtils 例項 ,單例模式
register 註冊攝像頭
unregister 登出攝像頭
setFlashlightOn 開啟閃光燈
setFlashlightOff 關閉閃光燈
isFlashlightOn 是否開啟閃光燈
isFlashlightEnable 是否支援手機閃光燈
  • Handler 工具類, 預設開啟一個 Handler,方便在各個地方隨時執行主執行緒任務 -> HandlerUtils.java
方法 註釋
init 初始化操作
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 版本資訊
方法 註釋
printMemInfo 列印記憶體資訊
getMemoryInfo 獲取記憶體資訊
printMemoryInfo 列印記憶體資訊
getAvailMemory 獲取可用記憶體資訊
getTotalMemory 獲取總記憶體大小
getMemoryAvailable 獲取可用記憶體大小
getMemInfoIype 通過不同 type 獲取對應的記憶體資訊
方法 註釋
getMobileDataEnabled 獲取行動網路開啟狀態(預設屬於未開啟)
setMobileDataEnabled 設定行動網路開關(無判斷是否已開啟行動網路) - 實際無效果, 非系統應用無許可權
isConnect 判斷是否連線了網路
getConnectType 獲取連線的網路型別
isConnWifi 判斷是否連線Wifi(連線上、連線中)
isConnMobileData 判斷是否連線行動網路(連線上、連線中)
isAvailable 判斷網路是否可用
is4G 判斷是否4G網路
getWifiEnabled 判斷wifi是否開啟
isWifiAvailable 判斷wifi資料是否可用
getNetworkOperatorName 獲取網路運營商名稱 - 中國移動、如中國聯通、中國電信
getNetworkType 獲取當前網路型別
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
方法 註釋
isGranted 判斷是否授予了許可權
shouldShowRequestPermissionRationale 是否拒絕了許可權 - 拒絕過一次, 再次申請時, 彈出選擇不再提醒並拒絕才會觸發 true
permission 申請許可權初始化
callBack 設定回撥方法
request 請求許可權
onRequestPermissionsResult 請求許可權回撥 - 需要在 onRequestPermissionsResult 回撥裡面呼叫
onGranted 授權通過許可權
onDenied 授權未通過許可權
方法 註釋
kill 銷燬自身程式
isCurProcess 判斷是否當前程式
getCurProcessName 獲取當前程式的名字
getProcessName 獲取程式號對應的程式名
getPid 根據包名獲取程式id
getRunningAppProcessInfo 根據 pid 獲取程式資訊
getForegroundProcessName 獲取前臺執行緒包名
getAllBackgroundProcesses 獲取後臺服務程式
killAllBackgroundProcesses 殺死所有的後臺服務程式
killBackgroundProcesses 殺死後臺服務程式
方法 註釋
getString 獲取字串
getColor 獲取 Color
getDrawable 獲取 Drawable
getDimension 獲取 Dimen 資源
getResourceId 根據資源名獲取資源id
getDrawableId2 獲取 drawable id
getLayoutId 獲取 layout 佈局檔案 id
getStringId 獲取 string id
getDrawableId 獲取 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 中獲取內容並儲存到本地
方法 註釋
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 設定內容
setHtmlText 設定 Html 內容
getTextHeight 獲取字型高度
getTextTopOffsetHeight 獲取字型頂部偏移高度
getTextWidth 計算字型寬度
getCenterRectY 獲取畫布中間居中位置
reckonTextSize 通過需要的高度, 計算字型大小
calcTextWidth 計算第幾位超過寬度
方法 註釋
getUriForFileToName 返回處理後的Uri, 單獨傳遞名字, 自動新增包名 ${applicationId}
getUriForFile Return 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 顯示的狀態
toogleView 切換View狀態
setViewImageRes 設定View 圖片資源
findViewById 初始化View
removeSelfFromParent 把自身從父View中移除
isTouchInView 判斷觸點是否落在該View上
requestLayoutParent View 改變請求
measureView 測量 View
getViewWidth 獲取view的寬度
getViewHeight 獲取view的高度
getActivity 獲取 View 的 Context
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 檢視搖晃

dev.utils.app.assist

方法 註釋
shutdownNow 立即關閉執行緒池任務
execute 將任務投入執行緒池執行
doInBackground 後臺執行
onPostExecute 將子執行緒結果傳遞到UI執行緒
onCanceled 取消任務
abort 中止任務
方法 註釋
isPlayBeep 判斷是否允許播放聲音
isVibrate 獲取是否允許震動
setVibrate 設定是否允許震動
setMediaPlayer 設定播放資源物件
playBeepSoundAndVibrate 進行播放聲音, 並且震動
close 關閉震動、提示聲, 並釋放資源
buildMediaPlayer 建立 MediaPlayer 物件
方法 註釋
start 開始計時任務
onPause 暫停檢測
onResume 回到 Activity/xx 處理
onDestroy 頁面銷燬處理
方法 註釋
start 開始監聽
stop 停止監聽
isPortrait 是否豎屏
isAllowChange 是否允許切屏

dev.utils.app.assist.manager

方法 註釋
getInstance 獲取 ActivityManager 例項 ,單例模式
getActivity 通過 Context 獲取Activity
isFinishing 判斷頁面是否關閉
isFinishingCtx 判斷頁面是否關閉
getActivityStacks 獲取 Activity 棧
addActivity 儲存 Activity
removeActivity 移除 Activity
currentActivity 獲取最後一個(當前)Activity
finishActivity 結束最後一個(當前)Activity
existActivitys 檢測是否包含指定的 Activity
finishAllActivityToIgnore 結束全部Activity 除忽略的頁面外
finishAllActivity 結束所有Activity
appExit 退出應用程式
restartApplication 重啟 App
方法 註釋
gc 回收資源
timerSize 獲取全部任務總數
getTimer 獲取屬於對應字串標記的定時器任務(優先獲取符合的)
closeAll 關閉全部任務
closeInfiniteTask 關閉所有無限迴圈的任務
closeMark 關閉所有符合對應的字串標記的定時器任務
createTimer 建立定時器 => 立即執行,無限迴圈,通知預設what
getMarkId 獲取標記id
getMarkStr 獲取標記字串
setMarkId 設定標記id
setMarkStr 設定標記字串
startTimer 執行定時器
closeTimer 關閉定時器
isRunTimer 判斷是否執行中
getTriggerNumber 獲取已經觸發的次數
getTriggerLimit 獲取允許觸發的上限次數
isTriggerEnd 是否觸發結束(到達最大次數)
isInfinite 是否無限迴圈
setHandler 設定通知的Handler
setNotifyWhat 設定通知的What
setNotifyObject 設定通知的Obj
setTime 設定時間
setTriggerLimit 設定觸發次數上限

dev.utils.app.cache

方法 註釋
getCacheDir 獲取快取地址
get 預設快取地址
put 儲存 String 資料到快取中
getAsString 讀取 String 資料
getAsJSONObject 讀取 JSONObject 資料
getAsJSONArray 讀取 JSONArray 資料
getAsBinary 獲取 byte[] 資料
getAsObject 讀取 Serializable 資料
getAsBitmap 讀取 bitmap 資料
getAsDrawable 讀取 Drawable 資料
file 獲取快取檔案
remove 移除某個key
clear 清除所有資料

dev.utils.app.camera1

方法 註釋
setFocusModes 設定對焦模式
isAutoFocus 是否允許自動對焦
setAutoFocus 設定是否開啟自動對焦
onAutoFocus 對焦回撥 {@link Camera.AutoFocusCallback} 重寫方法
start 開始對焦
stop 停止對焦
方法 註釋
openDriver 開啟攝像頭程式
closeDriver 關閉相機驅動程
startPreview 開始將Camera畫面預覽到手機上
stopPreview 停止 Camera 畫面預覽
getCameraResolution 獲取相機解析度
getPreviewSize 獲取預覽大小
getCameraSizeAssist 獲取 Camera.Size 計算輔助類
getCamera 獲取攝像頭
setCamera 設定攝像頭
setPreviewNotify 設定預覽回撥
setAutoFocus 設定是否開啟自動對焦
isPreviewing 是否預覽中
setAutoInterval 設定自動對焦時間間隔
setFlashlightOn 開啟閃光燈
setFlashlightOff 關閉閃光燈
isFlashlightOn 是否開啟閃光燈
isFlashlightEnable 是否支援手機閃光燈
stopPreviewNotify 停止預覽通知
startPreviewNotify 開始預覽通知
方法 註釋
getCamera 獲取攝像頭
setPreviewSize 設定預覽大小
getPreviewSize 根據手機支援的預覽解析度計算,設定預覽尺寸
setPictureSize 設定拍照圖片大小
getPictureSize 根據手機支援的拍照解析度計算
getVideoSize 根據手機支援的視訊錄製解析度計算
方法 註釋
isSupportReverse 判斷是否支援反轉攝像頭(是否存在前置攝像頭)
checkCameraFacing 檢查是否有攝像頭
isFrontCamera 判斷是否使用前置攝像頭
isBackCamera 判斷是否使用後置攝像頭
isUseCameraFacing 判斷使用的視像頭
freeCameraResource 釋放攝像頭資源
initCamera 初始化攝像頭
open 開啟攝像頭

dev.utils.app.image

方法 註釋
cropBitmap 裁剪圖片(預設比例16:9)
方法 註釋
calculateInSampleSize 圖片壓縮處理(使用Options的方法)
getBitmapFromResource 獲取一個指定大小的bitmap
getBitmapFromFile 獲取一個指定大小的bitmap
getBitmapFromByteArray 獲取一個指定大小的bitmap
getBytesFromStream Stream 轉換成 byte[]
getBitmapFromStream 獲取一個指定大小的bitmap
combineImages 合併Bitmap
combineImagesToSameSize 合併Bitmap
zoom 放大縮小圖片
getRoundedCornerBitmap 獲取圓角圖片的方法
createReflectionBitmap 獲取帶倒影的圖片方法
compressImage 壓縮圖片大小
convertGreyImg 將彩色圖轉換為灰度圖
getRoundBitmap 轉換圖片成圓形
createThumbnailBitmap 建立圖片縮圖
createWatermarkBitmap 生成水印圖片 水印在右下角
codec 重新編碼Bitmap
compress 圖片壓縮方法:(使用compress的方法)
scale 圖片的縮放方法
rotate 旋轉圖片
reverseByHorizontal 水平翻轉處理
reverseByVertical 垂直翻轉處理
adjustTone 更改圖片色系,變亮或變暗
convertToBlackWhite 將彩色圖轉換為黑白圖
getImageDegree 讀取圖片屬性 圖片被旋轉的角度
saturation 飽和度處理
lum 亮度處理
hue 色相處理
lumAndHueAndSaturation 亮度、色相、飽和度處理
nostalgic 懷舊效果處理
soften 柔化效果處理
sunshine 光照效果處理
film 底片效果處理
sharpen 銳化效果處理
emboss 浮雕效果處理
yuvLandscapeToPortrait 將YUV格式的圖片的源資料從橫屏模式轉為豎屏模式,注意:將源圖片的寬高互換一下就是新圖片的寬高
safeDecodeStream 比較安全的 解碼(decodeStream) 方法
方法 註釋
intToDrawable 將10進位制顏色(Int)轉換為Drawable物件
stringToDrawable 將16進位制顏色(String)轉化為Drawable物件
tintIcon 圖片著色
tint9PatchDrawableFrame .9 圖片著色
setBackground 設定背景
getDrawable 獲取 Drawable
getBitmapFromResources 通過Resources獲取Bitmap
getDrawableFromResources 通過Resources獲取Drawable
getSDCardBitmapStream 獲取本地SDCard 圖片
getSDCardBitmapFile 獲取本地SDCard 圖片
getBitmap 獲取Bitmap
bitmapToByte Bitmay 轉換成byte陣列
drawableToByte Drawable 轉換成 byte陣列
drawableToByte2 Drawable 轉換成 byte陣列
byteToBitmap byte 陣列轉換為Bitmap
drawableToBitmap Drawable 轉換成 Bitmap
bitmapToDrawable Bitmap 轉換成 Drawable
byteToDrawable byte陣列轉換成Drawable
drawable2Bitmap Drawable 轉換 Bitmap
drawable3Bitmap Drawable 轉換 Bitmap
saveBitmapToSDCardJPEG 儲存圖片到SD卡 - JPEG
saveBitmapToSDCardPNG 儲存圖片到SD卡 - PNG
saveBitmapToSDCard 儲存圖片到SD卡 - PNG
getBitmapFromDrawable 將Drawable轉化為Bitmap
bitmapToViewBackGround 通過View, 獲取背景轉換Bitmap
getBitmapFromView 通過View, 獲取Bitmap -> 繪製整個View
getBitmapFromView2 把一個View的物件轉換成bitmap
reckonVideoWidthHeight 計算視訊寬高大小,視訊比例xxx*xxx按螢幕比例放大或者縮小
caculateInSampleSize 根據需求的寬和高以及圖片實際的寬和高計算SampleSize
getImageViewSize 根據ImageView獲適當的壓縮的寬和高
getImageWidthHeight 獲取圖片寬度高度(不載入解析圖片)
方法 註釋
blur 對圖片進行毛玻璃化
方法 註釋
saveBmpImg 儲存Bmp圖片
方法 註釋
scale 縮放處理
scaleByWidth 縮放處理
scaleByHeight 縮放處理
reverseByHorizontal 水平翻轉處理
reverseByVertical 垂直翻轉處理
drawableToBitmap 將給定資源ID的Drawable轉換成Bitmap
roundCorner 圓角處理
reflection 倒影處理
rotate 旋轉處理
saturation 飽和度處理
lum 亮度處理
hue 色相處理
lumAndHueAndSaturation 亮度、色相、飽和度處理
nostalgic 懷舊效果處理
blur 模糊效果處理
soften 柔化效果處理
sunshine 光照效果處理
film 底片效果處理
sharpen 銳化效果處理
emboss 浮雕效果處理
方法 註釋
getBitmap 獲取 bitmap
scale 縮放圖片
clip 裁剪圖片
skew 傾斜圖片
rotate 旋轉圖片
getRotateDegree 獲取圖片旋轉角度 - 返回 -1 表示異常
toRound 轉為圓形圖片
toRoundCorner 轉為圓角圖片
addCornerBorder 新增圓角邊框
addCircleBorder 新增圓形邊框
addReflection 新增倒影
addTextWatermark 新增文字水印
addImageWatermark 新增圖片水印
toAlpha 轉為 alpha 點陣圖
toGray 轉為灰度圖片
fastBlur 快速模糊 - 先縮小原圖,對小圖進行模糊,再放大回原先尺寸
renderScriptBlur renderScript 模糊圖片 - API 大於 17
stackBlur stack 模糊圖片
save 儲存圖片
isImage 根據檔名判斷檔案是否為圖片
getImageType 獲取圖片型別
compressByScale 按縮放壓縮
compressByQuality 按質量壓縮
compressBySampleSize 按取樣大小壓縮
方法 註釋
blur RenderScript 實現圖片模糊

dev.utils.app.info

方法 註釋
obtain 獲取 AppInfoBean
getAppPackName 獲取 App 包名
getAppName 獲取 App 名
getAppIcon 獲取 App 圖示
getAppType 獲取 App 型別
getVersionCode 獲取 versionCode
getVersionName 獲取 versionName
getFirstInstallTime 獲取 App 首次安裝時間
getLastUpdateTime 獲取 App 最後更新時間
getSourceDir 獲取 Apk 地址
getApkSize 獲取 Apk 大小
isSystemApp 是否系統程式
isSystemUpdateApp 是否系統程式被手動更新後,也成為第三方應用程式
方法 註釋
getPackageInfoToFile 通過 Apk 路徑 初始化 PackageInfo
getPackageInfoToPath 通過 Apk 路徑 初始化 PackageInfo
getPackageInfo 獲取當前應用 PackageInfo
getAppInfoBeanToFile 通過 Apk 路徑 獲取 AppInfoBean
getAppInfoBeanToPath 通過 Apk 路徑 獲取 AppInfoBean
getAppInfoBean 獲取當前應用 AppInfoBean
getApkInfoItem 獲取 Apk 詳細資訊
getAppInfoItem 獲取 App 詳細資訊
getAppLists 獲取全部 App 列表
getApkPermission 獲取 Apk 註冊的許可權
printApkPermission 列印 Apk 註冊的許可權

dev.utils.app.logger

方法 註釋
other 使用單次其他日誌配置
getLogConfig 獲取日誌配置資訊
init 初始化日誌配置資訊(可以不呼叫,使用了 App 預設配置)
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格式資料,並列印
方法 註釋
init 初始化呼叫方法(獲取版本號)
getReleaseLogConfig 獲取釋出 Log 配置(列印執行緒資訊,顯示方法總數3,從0開始,不進行排序, 預設屬於ERROR級別日誌)
getDebugLogConfig 獲取除錯 Log 配置(列印執行緒資訊,顯示方法總數3,從0開始,不進行排序, 預設屬於ERROR級別日誌)
getSortLogConfig 獲取 Log 配置(列印執行緒資訊,顯示方法總數3,從0開始,並且美化日誌資訊, 預設屬於DEBUG級別日誌)
getLogConfig 獲取 Log 配置
saveErrorLog 儲存 App 錯誤日誌
saveLog 儲存 App 日誌
saveLogHeadBottom 儲存 App 日誌 - 包含頭部、底部資訊

dev.utils.app.player

方法 註釋
getInstance 獲取 DevMediaManager 例項 ,單例模式
setAudioStreamType 設定流型別
playPrepareRaw 播放 Raw 資源
playPrepareAssets 播放 Assets 資源
playPrepare 預載入播放 - (file-path or http/rtsp URL) http資源, 本地資源
isPlaying 是否播放中(判斷null)
pause 暫停操作(判斷null)
stop 停止操作(判斷null) - 銷燬MediaPlayer
isIgnoreWhat 是否忽略錯誤型別
onError 播放出錯回撥
onVideoSizeChanged 視訊大小改變回撥
onPrepared 使用 mMediaPlayer.prepareAsync(); 非同步播放準備成功回撥
onCompletion 視訊播放結束回撥
onBufferingUpdate MediaPlayer 緩衝更新回撥
onSeekComplete 滑動載入完成回撥
setMeidaListener 設定MediaPlayer回撥
isNullMediaPlayer 判斷 MediaPlayer 是否為null
isNotNullMediaPlayer 判斷 MediaPlayer 是否不為null
getMediaPlayer 獲取 MediaPlayer 物件
setMediaPlayer 設定 MediaPlayer 物件
setTAG 設定Tag列印
getVolume 獲取播放音量
setVolume 設定播放音量
getPlayRawId 獲取播放的資源id
getPlayUri 獲取當前播放的地址
getVideoWidth 獲取視訊寬度
getVideoHeight 獲取視訊高度
getCurrentPosition 獲取當前播放時間
getDuration 獲取資源總時間
getPlayPercent 獲取播放進度百分比
isLooping 是否迴圈播放 - 預設不迴圈
setMediaConfig 設定播放配置 uri等
方法 註釋
surfaceChanged surface 改變通知
surfaceCreated surface 建立
surfaceDestroyed surface 銷燬
onPrepared 準備完成回撥
onCompletion 播放完成/結束
onBufferingUpdate 快取進度
onSeekComplete 滑動進度載入成功
onError 異常回撥
onVideoSizeChanged 視訊大小改變通知
setMediaListener 設定播放監聽事件
pausePlayer 暫停播放
stopPlayer 停止播放
startPlayer 開始播放
getSurfaceview 獲取顯示的SurfaceView
isPlaying 是否播放中
isAutoPlay 判斷是否自動播放
setAutoPlay 設定自動播放
getPlayUri 獲取當前播放的地址
getVideoWidth 獲取視訊寬度
getVideoHeight 獲取視訊高度
getCurrentPosition 獲取當前播放時間
getDuration 獲取資源總時間
getPlayPercent 獲取播放進度百分比

dev.utils.app.share

方法 註釋
init 初始化操作
put 儲存一個資料
putAll 儲存一個Map集合(只能是 Integer,Long,Boolean,Float,String,Set)
get 根據key取出一個資料
getAll 取出全部資料
remove 移除一個資料
removeAll 移除一個集合的資料
contains 是否存在key
clear 清除全部資料
getInt 獲取int型別的資料
getFloat 獲取Float型別的資料
getLong 獲取long型別的資料
getBoolean 獲取boolean型別的資料
getString 獲取String型別的資料
getSet 獲取Set型別的資料

dev.utils.app.toast

方法 註釋
reset 重置預設引數
setToastFilter 設定 Toast 過濾器
setIsHandler 設定是否使用 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
方法 註釋
reset 重置預設引數
setToastFilter 設定 Toast 過濾器
setIsHandler 設定是否使用 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
方法 註釋
reset 重置預設引數
setIsHandler 設定是否使用 Handler 顯示 Toast
setNullText 設定 Text 為 null 的文字
setTextLength 設定 Toast 文案長度轉換 顯示時間
init Application 初始化呼叫 (必須呼叫 -> 內部已經呼叫)
style 使用單次 Toast 樣式配置
defaultStyle 使用預設 Toast 樣式
getToastStyle 獲取 Toast 樣式配置
initStyle 初始化 Toast 樣式配置(非單次,一直持續)
initToastFilter 初始化 Toast 過濾器
setView 設定 Toast 顯示的View
show 顯示 Toast
cancel 取消當前顯示的 Toast

dev.utils.app.wifi

方法 註釋
createWifiConfigToAp 建立Wifi配置資訊(無其他操作,單獨返回WifiConfig) => Wifi熱點 (就支援 無密碼/WPA2 PSK)
stratWifiAp 開啟Wifi熱點
closeWifiAp 關閉Wifi熱點
getWifiApState 獲取Wifi熱點狀態
getWifiApConfiguration 獲取Wifi熱點配置資訊
setWifiApConfiguration 設定Wifi熱點配置資訊
isOpenWifiAp 判斷是否開啟Wifi熱點
closeWifiApCheck 關閉Wifi熱點(判斷當前狀態)
isConnectHot 是否有連線熱點
getHotspotServiceIp 獲取熱點主機ip地址
getHotspotAllotIp 獲取連線上的子閘道器熱點IP(一個)
getHotspotSplitIpMask 獲取熱點拼接後的ip閘道器掩碼
getApWifiSSID 獲取Wifi 熱點名
getApWifiPwd 獲取Wifi 熱點密碼
setOnWifiAPListener 設定 Wifi 熱點監聽
onStarted 開啟熱點觸發
onStopped 關閉熱點回撥
onFailed 失敗回撥
方法 註釋
getWifiManager 獲取wifi管理物件
isOpenWifi 判斷是否開啟wifi
openWifi 開啟WIFI
closeWifi 關閉WIFI
toggleWifiEnabled 自動切換wifi開關狀態
getWifiState 獲取當前WIFI連線狀態
startScan 開始掃描wifi
getConfiguration 獲取已配置的網路
getWifiList 獲取網路列表
getWifiInfo 獲取WifiInfo物件
getMacAddress 獲取MAC地址
getBSSID 獲取接入點的BSSID
getIPAddress 獲取IP地址
getNetworkId 獲取連線的ID
getSSID 獲取SSID
formatSSID 判斷是否存在"ssid",存在則裁剪返回
getPassword 獲取密碼(經過處理)
isHexWepKey 判斷是否 wep 加密
getWifiType 獲取加密型別(int常量) - 判斷String
getWifiTypeInt 獲取加密型別(int常量) - 判斷int(String)
getWifiTypeStr 獲取加密型別(String)
isConnNull 判斷是否連線為null - unknown ssid
isConnectAphot 判斷是否連線上Wifi(非連線中)
getSecurity 獲取Wifi配置,加密型別
isExsitsPwd 獲知Wifi配置,是否屬於密碼加密型別
isExsits 檢視以前是否也配置過這個網路
delWifiConfig 刪除指定的 Wifi(SSID) 配置資訊
quickConnWifi 快速連線Wifi(不使用靜態ip方式)
createWifiConfig 建立Wifi配置資訊(無其他操作,單獨返回WifiConfig)
removeWifiConfig 移除某個Wifi配置資訊
disconnectWifi 斷開指定ID的網路

dev.utils.common

方法 註釋
randomUUID 獲取隨機唯一數
randomUUIDToHashCode 獲取隨機唯一數 HashCode
getRandomUUID 獲取隨機數 唯一id
whileMD5 迴圈MD5 加密處理
方法 註釋
add 提供精確的加法運算
substract 提供精確的減法運算
multiply 提供精確的乘法運算
divide 提供(相對)精確的除法運算,當發生除不盡的情況時,
round 提供精確的小數位四捨五入處理
remainder 取餘數
formatMoney 金額分割,四捨五入金額
formatMoney1 四捨五入金額
compareBigDecimal 比較大小
adjustDouble 獲取自己想要的資料格式
  • 位元組工具類,提供一些有關位元組的便捷方法 -> ByteUtils.java
方法 註釋
byteJiaMi (01)、位移加密、解密,調同一個方法
hexStrToByteArray 字串轉陣列
cutOut (02)、從bytes上擷取一段
byteToBit 將位元組轉換為二進位制字串
bits2Bytes 二進位制字串, 轉換成byte陣列
getHex 位元組陣列轉換成16進位制字串
subBytes 從一個byte[]陣列中擷取一部分
byteToObject byte[] 轉為 物件
objectToByte 物件 轉為 byte[]
方法 註釋
isBaseDataType 判斷類是否是基礎資料型別
newInstance 根據類獲取物件:不再必須一個無參構造
getDefaultPrimiticeValue 判斷 Class 是否為原始型別(boolean、char、byte、short、int、long、float、double)
isCollection 判斷是否集合型別
isArray 是否陣列型別
方法 註釋
deepClone 進行克隆
方法 註釋
closeIO 關閉 IO
closeIOQuietly 安靜關閉 IO
方法 註釋
percent 計算百分比值
clamp 返回的 value 介於 max、min之間,若 value 小於min,返回min,若大於max,返回max
alpha 返回一個顏色中的透明度值(返回10進位制)
alphaPercent 返回一個顏色中的透明度百分比值
red 返回一個顏色中紅色的色值(返回10進位制)
redPercent 返回一個顏色中紅色的百分比值
green 返回一個顏色中綠色的色值(返回10進位制)
greenPercent 返回一個顏色中綠色的百分比值
blue 返回一個顏色中藍色的色值(返回10進位制)
bluePercent 返回一個顏色中藍色的百分比值
rgb 根據對應的 red、green、blue 生成一個顏色值
argb 根據對應的 alpha, red、green、blue 生成一個顏色值 (含透明度)
isRGB 判斷顏色 RGB 是否有效
isARGB 判斷顏色 ARGB 是否有效
setAlpha 設定透明度
setRed 改變顏色值中的紅色色值
setGreen 改變顏色值中的綠色色值
setBlue 改變顏色值中的藍色色值
parseColor 解析顏色字串, 返回對應的顏色值
int2RgbString 顏色值 轉換 RGB顏色 字串
int2ArgbString 顏色值 轉換 ARGB顏色 字串
getRandomColor 獲取隨機顏色值
judgeColorString 判斷是否為ARGB格式的十六進位制顏色,例如:FF990587
setDark 顏色加深(單獨修改 RGB值, 不變動透明度)
setLight 顏色變淺, 變亮(單獨修改 RGB值, 不變動透明度)
setAlphaDark 設定透明度加深
setAlphaLight 設定透明度變淺
方法 註釋
toString char 陣列 轉 String
toInt 字串 轉 int
toBoolean 字串 轉 boolean
toFloat 字串 轉 float
toDouble 字串 轉 double
toLong 字串 轉 long
toChar 字串 獲取 char(預設第一位)
toCharInt char 轉換 unicode 編碼
toCharArys 字串 獲取 char陣列
toByteArys 字串 獲取 byte陣列
toHexString 一個 int 引數的字串表示形式在基數為16的無符號 int
parseInt 字串轉換對應的進位制
hexString2Bytes 十六進位制字串 轉換byte陣列
bytes2Bits 把 bytes 資料, 轉換成二進位制資料
bits2Bytes 二進位制字串, 轉換成byte陣列
bytes2Chars byte 陣列 轉換 char 陣列, 並且進行補碼
chars2Bytes char 陣列 轉換 byte 陣列
方法 註釋
bd09ToGcj02 BD09 座標轉 GCJ02 座標
gcj02ToBd09 GCJ02 座標轉 BD09 座標
gcj02ToWGS84 GCJ02 座標轉 WGS84 座標
wgs84ToGcj02 WGS84 座標轉 GCJ02 座標
bd09ToWGS84 BD09 座標轉 WGS84 座標
wgs84ToBd09 WGS84 座標轉 BD09 座標
方法 註釋
getDateNow 獲取當前日期的字串 - "yyyy-MM-dd HH:mm:ss"
formatTime 將時間戳轉換日期字串
formatDate 將Date型別轉換日期字串
parseDate 將時間戳轉換成Date型別
parseLong 解析時間字串轉換為long毫秒 - 預設表示time 屬於 yyyy-MM-dd HH:mm:ss 格式
parseToString 轉換時間為指定字串
getTimeDiffMinute 獲取時間差 - 分鐘
getTimeDiffHour 獲取時間差 - 小時
getTimeDiffDay 獲取時間差 - 天
getTimeDiff 獲取時間差 - (傳入時間 - 當前時間)
getYear 獲取年
getMonth 獲取月 (0 - 11) + 1
getDay 獲取日
getWeek 獲取日期是星期幾
get24Hour 獲取時 - 24
get12Hour 獲取時 - 12
getMinute 獲取分
getSecond 獲取秒
convertTime 轉換時間處理, 小於10, 則自動補充 0x
isLeapYear 判斷是否閏年
getMonthDayNumberAll 根據年份、月份,獲取對應的天數 (完整天數, 無判斷是否屬於未來日期)
getYearMonthNumber 根據年份,獲取對應的月份
getMonthDayNumber 根據年份、月份,獲取對應的天數
getArrayToHH 生成 HH 按時間排序陣列
getListToHH 生成 HH 按時間排序集合
getArrayToMM 生成 MM 按時間排序陣列
getListToMM 生成 MM 按時間排序集合
getArrayToHHMM 生成 HH:mm 按間隔時間排序陣列
getListToHHMM 生成 HH:mm 按間隔時間排序集合
getListToHHMMPosition 獲取 HH:mm 按間隔時間排序的集合中, 指定時間所在索引
secToTimeRetain 傳入時間,獲取時間(00:00:00 格式) - 不處理大於一天
convertTimeArys 傳入時間,時間引數(小時、分鐘、秒)
millis2FitTimeSpan 轉換時間
millis2TimeArys 轉換時間為陣列
isInTimeHHmm 判斷時間是否在[startTime, endTime]區間,注意時間格式要一致
isInTimeHHmmss 判斷時間是否在[startTime, endTime]區間,注意時間格式要一致
isInTime 判斷時間是否在[startTime, endTime]區間,注意時間格式要一致
isInDate 判斷時間是否在[startTime, endTime]區間,注意時間格式要一致
getEndTimeDiffHHmm 獲取指定時間距離該時間第二天的指定時段的時間 (判斷凌晨情況)
getEndTimeDiff 獲取指定時間距離該時間第二天的指定時段的時間差 (判斷凌晨情況)
方法 註釋
percent 計算百分比值 (最大 100%)
percent2 計算百分比值 (可超出 100%)
clamp 返回的 value 介於 max、min之間,若 value 小於min,返回min,若大於max,返回max
getFormatString 獲取格式化字串
getFormatString2 獲取格式化字串
isHttpRes 判斷是否網路資源
isSpace 判斷字串是否為 null 或全為空白字元
isEmpty 判斷是否為null
isTrimEmpty 判斷字串是否為 null 或全為空格
isEmptyObjs 判讀是否為null to 可變陣列
length 獲取長度,如果字串為null,則返回0
lengthObjs 獲取可變陣列長度
lengthObjsDf 獲取可變陣列長度
isLength 字串長度匹配
equals 判斷兩字串是否相等
isEquals 判斷多個字串是否相等, 只有全相等才返回true - 對比大小寫
isOrEquals 判斷多個字串,只要有一個符合條件,則通過
isContains 判斷一堆值中,是否存在符合該條件的(包含)
isStartsWith 判斷內容, 是否屬於特定字串陣列開頭 - 對比大小寫
isEndsWith 判斷內容, 是否屬於特定字串陣列結尾 - 對比大小寫
toClearSpace 清空全部空格,並返回處理後的字串
toClearSpaceTrim 清空前後空格,並返回處理後的字串
toCheckValue 檢查字串,如果為null,返回 ""
toCheckValues 檢查多個值,並返回第一個非null and "" 的字串,如果都不符合條件,則返回預設值
toCheckValuesSpace 檢查多個值,並返回第一個非null and "" and 全部不是屬於空格 的字串,如果都不符合條件,則返回預設值
subEllipsize 裁減超出的內容, 並且追加符號(如 ...)
subSymbolHide 裁剪符號處理
converSymbolHide 轉換符號處理
toReplaceSEWith 替換(刪除 - 替換成"") 字串中符合 特定標記字元的 startsWith - endsWith
toClearSEWiths (這個方法功能主要把字元符合標記的 頭部和尾部都替換成 "")
substring 裁剪字串
toReplaceStartsWith 替換開頭字串
toClearStartsWith 清空屬於特定字串開頭的欄位
toReplaceEndsWith 替換結尾字串
toClearEndsWith 清空屬於特定字串結尾的欄位
replaceStrs 替換字串
replaceStr 替換字串
replaceStrToNull 替換字串
方法 註釋
isSerializable 判斷是否序列化
set 設定域的值
get 獲取域的值
isLong 是否 long 型別
isInteger 是否 Integer 型別
getGenericType 獲取域的泛型型別,如果不帶泛型返回null
getComponentType 獲取陣列的型別
getAllDeclaredFields 獲取全部Field,包括父類
isInvalid 是靜態常量或者內部結構屬性
方法 註釋
setBufferSize Set the buffer's size. - Default size equals 8192 bytes.
writeFileFromIS Write file from input stream.
writeFileFromBytesByStream Write file from bytes by stream.
writeFileFromBytesByChannel Write file from bytes by channel.
writeFileFromBytesByMap Write file from bytes by map.
writeFileFromString Write file from string.
readFile2List Return the lines in file.
readFile2String Return the string in file.
readFile2BytesByStream Return the bytes in file by stream.
readFile2BytesByChannel Return the bytes in file by channel.
readFile2BytesByMap Return the bytes in file by map.
方法 註釋
getFile 獲取檔案 - to getFileByPath
getFileByPath 獲取檔案
getFileCreateFolder 獲取路徑, 並且進行建立目錄
createFolder 判斷某個資料夾是否建立,未建立則建立(純路徑 - 無檔名)
createFolderByPath 建立資料夾目錄 - 可以傳入檔名
createFolderByPaths 建立多個資料夾, 如果不存在則建立
createOrExistsDir 判斷目錄是否存在,不存在則判斷是否建立成功
createOrExistsFile 判斷檔案是否存在,不存在則判斷是否建立成功
createFileByDeleteOldFile 判斷檔案是否存在,存在則在建立之前刪除
getPath 獲取檔案路徑
getAbsolutePath 獲取檔案絕對路徑
getName 獲取檔名
getFileSuffix 獲取檔案字尾名(無.,單獨字尾)
getFileNotSuffix 獲取檔名(無字尾)
getFileNotSuffixToPath 獲取檔名(無字尾)
getFileNameNoExtension 獲取全路徑中的不帶擴充名的檔名
getFileExtension 獲取全路徑中的檔案擴充名
isFileExists 檢查是否存在某個檔案
isFile 判斷是否檔案
isDir 判斷是否資料夾
isHide 判斷是否隱藏檔案
getFileLastModified 獲取檔案最後修改的毫秒時間戳
getFileCharsetSimple 簡單獲取檔案編碼格式
getFileLines 獲取檔案行數
getFileSize 獲取檔案大小
getDirSize 獲取目錄大小
getFileLength 獲取檔案大小
getDirLength 獲取目錄長度
getFileLengthNetwork 獲取檔案長度 - 網路資源
getFileName 獲取全路徑中的檔名
getDirName 獲取全路徑中的最長目錄
rename 重新命名檔案 - 同個目錄下, 修改檔名
formatFileSize 傳入檔案路徑, 返回對應的檔案大小
formatByteMemorySize 位元組數轉合適記憶體大小 保留 3 位小數 (%.位數f)
getFileMD5ToString 獲取檔案的 MD5 校驗碼
getFileMD5 獲取檔案的 MD5 校驗碼
getFileMD5ToString2 獲取檔案MD5值 - 小寫
deleteFile 刪除檔案
deleteFiles 刪除多個檔案
deleteFolder 刪除資料夾
saveFile 儲存檔案
appendFile 追加檔案:使用FileWriter
readFileBytes 讀取檔案
readFile 讀取檔案
copyFile 複製單個檔案
copyFolder 複製資料夾
moveFile 移動(剪下)檔案
moveFolder 移動(剪下)資料夾
copyDir 複製目錄
moveDir 移動目錄
deleteDir 刪除目錄
deleteAllInDir 刪除目錄下所有東西
deleteFilesInDir 刪除目錄下所有檔案
deleteFilesInDirWithFilter 刪除目錄下所有過濾的檔案
listFilesInDir 獲取目錄下所有檔案 - 不遞迴進子目錄
listFilesInDirWithFilter 獲取目錄下所有過濾的檔案 - 不遞迴進子目錄
onReplace 是否覆蓋/替換檔案
方法 註釋
encodeHex 將位元組陣列轉換為十六進位制字元陣列
encodeHexStr 將位元組陣列轉換為十六進位制字串
decodeHex 將十六進位制字元陣列轉換為位元組陣列
方法 註釋
splitParams 拆分引數
joinReqParams 拼接請求引數 - value => String
joinReqParamsObj 拼接請求引數 - value => Object
toStringMap toString 快捷方法, 拼接列印 String
toConvertObjToMS 進行轉換物件處理(請求傳送物件)
toConvertObjToMO 進行轉換物件處理(請求傳送物件)
urlEncode url編碼 - utf-8
方法 註釋
doGetAsyn 非同步的Get請求
doPostAsyn 非同步的Post請求
request 傳送請求
getNetTime 獲取網路時間 - 預設使用百度連結
onResponse 請求響應回撥
onFail 請求失敗
方法 註釋
isEmpty 判斷物件是否為空
isNotEmpty 判斷物件是否非空
equals 判斷物件是否相等
requireNonNull 檢查物件非空
getOrDefault 獲取非空或預設物件
hashCode 獲取物件雜湊值
getObjectTag 獲取一個物件的獨一無二的標記
converObj 獲取轉換物件
方法 註釋
converHideMobile 轉換手機號
timeRecord 耗時時間記錄
getFormatString 獲取格式化字串(可變引數)
getFormatString2 獲取格式化字串(可變引數)
getOperateTime 獲取操作時間
sleepOperate 堵塞操作
方法 註釋
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 陣列
方法 註釋
getProperty 獲取某個物件的公共屬性
getStaticProperty 獲取某類的靜態公共屬性
invokeMethod 執行某物件方法
invokeStaticMethod 執行某類的靜態方法
newInstance 新建例項
isInstance 是不是某個類的例項
getByArray 獲取陣列中的某個元素
getDeclaredField 通過反射獲取全部欄位
getDeclaredFieldParentObj 獲取父類中的變數物件
getDeclaredFieldParent 迴圈向上轉型, 獲取物件的 DeclaredField
setFieldMethod 設定反射的方法
setFieldValue 設定反射的欄位
方法 註釋
reflect 設定要反射的類
newInstance 例項化反射物件
field 設定反射的欄位
getObject 獲取Object 物件
setEnumVal 設定列舉值
getDeclaredField 通過反射獲取全部欄位
getDeclaredFieldBase 迴圈向上轉型, 獲取物件的 DeclaredField
method 設定反射的方法
proxy 根據類, 代理建立並返回物件
type 獲取型別
get 獲取反射想要獲取的
hashCode 獲取 HashCode
equals 判斷反射的兩個物件是否一樣
toString 獲取反射獲取的物件 toString
方法 註釋
calcScaleToWidth 計算縮放比例 - 根據寬度比例轉換高度
calcScaleToHeight 計算縮放比例 - 根據高度比例轉換寬度
calcWidthHeightToScale 通過寬度,高度,根據對應的比例 -> 轉換成對應的比例寬度高度 - 智慧轉換
calcWidthToScale 以寬度為基準 -> 轉換對應比例的高度
calcHeightToScale 以高度為基準 -> 轉換對應比例的寬度
方法 註釋
newInstance 實現例項抽象方法
getInstance 獲取例項方法
方法 註釋
input2OutputStream Input stream to output stream.
output2InputStream Output stream to input stream.
inputStream2Bytes Input stream to bytes.
bytes2InputStream Bytes to input stream.
outputStream2Bytes Output stream to bytes.
bytes2OutputStream Bytes to output stream.
inputStream2String Input stream to string.
string2InputStream String to input stream.
outputStream2String Output stream to string.
string2OutputStream String to output stream.
方法 註釋
length 獲取長度,如果字串為null,則返回0
isEmpty 判斷是否為null
toClearSpace 清空全部空格,並返回處理後的字串
toClearSpaceTrim 清空前後空格,並返回處理後的字串
toGBKEncode 字串進行 GBK 編碼
toGBK2312Encode 字串進行 GBK2312 編碼
toUTF8Encode 字串進行 UTF-8 編碼
toStrEncode 進行字串編碼
toUrlEncode 進行 URL 編碼,預設UTF-8
toASCII 將字串轉移為ASCII碼
toUnicode 將字串轉移為Unicode碼
toUnicodeString 將字串轉移為Unicode碼
toDBC 轉化為半形字元
toSBC 轉化為全形字元 如: a => a A => A
byteArrayToHexString byte[]陣列轉換為16進位制的字串
toHexString 進行轉換
hexStringToByteArray 16進製表示的字串轉換為位元組陣列
checkCheseToString 檢測String是否全是中文
isChinese 判定輸入漢字
upperFirstLetter 首字母大寫
lowerFirstLetter 首字母小寫
reverse 反轉字串
concat 字串連線,將引數列表拼接為一個字串
concatSpiltWith 字串連線,將引數列表拼接為一個字串
underScoreCase2CamelCase 下劃線命名轉為駝峰命名
camelCase2UnderScoreCase 駝峰命名法轉為下劃線命名
sqliteEscape 資料庫字元轉義
方法 註釋
zipFiles 批量壓縮檔案
zipFile 壓縮檔案
unzipFile 解壓檔案
unzipFileByKeyword 解壓帶有關鍵字的檔案
getFilesPath 獲取壓縮檔案中的檔案路徑連結串列
getComments 獲取壓縮檔案中的註釋連結串列

dev.utils.common.assist

方法 註釋
add 新增一個數字
clear 清除全部
size 返回參與均值計算的數字個數
getAverage 獲取平均數
print 列印數字列
方法 註釋
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
方法 註釋
start 一個計時開始
end 一個計時結束
endAndRestart 一個計時結束,並且啟動下次計時。
average 求全部計時均值
print 列印全部時間值
clear 清除資料
方法 註釋
start 開始計時
durationRestart 獲取持續的時間並重新啟動。
duration 獲取持續的時間
getStartTime 獲取開始時間
方法 註釋
getKeepTimeMillis 獲取預計堵塞時間
setKeepTimeMillis 設定預計堵塞時間
startNow 開始計時
waitForEnd 設定等待一段時間後, 通知方法
onEnd 結束觸發通知方法

dev.utils.common.assist.search

方法 註釋
setSearchHandler 設定搜尋處理介面
getQueueSameTimeNumber 獲取任務佇列同時進行數量
setQueueSameTimeNumber 任務佇列同時進行數量
isRunning 是否搜尋中
stop 停止搜尋
isStop 是否停止搜尋
getStartTime 獲取開始搜尋時間
getEndTime 獲取結束搜尋時間
getDelayTime 獲取延遲校驗時間
setDelayTime 設定延遲校驗時間
query 查詢
isHandlerFile 判斷是否處理該檔案
isAddToList 是否新增到集合
OnEndListener 搜尋結束監聽
方法 註釋
setSearchHandler 設定搜尋處理介面
isRunning 是否搜尋中
stop 停止搜尋
isStop 是否停止搜尋
getStartTime 獲取開始搜尋時間
getEndTime 獲取結束搜尋時間
query 查詢
isHandlerFile 判斷是否處理該檔案
isAddToList 是否新增到集合
OnEndListener 搜尋結束監聽

dev.utils.common.cipher

方法 註釋
decrypt 解碼
encrypt 編碼
方法 註釋
encrypt 加密工具類
decrypt 解密方法
方法 註釋
decrypt 解密/解碼方法
方法 註釋
encrypt 加密/編碼方法

dev.utils.common.encrypt

  • AES對稱加密(Advanced Encryption Standard,高階資料加密標準,AES演算法可以有效抵制針對DES的攻擊演算法,對稱加密演算法) -> AESUtils.java
方法 註釋
initKey 生成金鑰
encrypt AES 加密
decrypt AES 解密
方法 註釋
getCRC32 獲取 CRC32 值(返回Long,一定機率上唯一)
getCRC32Str 獲取 CRC32 值(做了處理,返回String)
getFileCrc32 獲取檔案CRC32 值
  • DES對稱加密(Data Encryption Standard,資料加密標準,對稱加密演算法) -> DESUtils.java
方法 註釋
getDESKey 返回可逆演算法DES的金鑰
encrypt DES 加密
decrypt DES 解密
方法 註釋
encryptMD2ToString MD2 加密
encryptMD2 MD2 加密
encryptMD5ToString MD5 加密
encryptMD5 MD5 加密
encryptMD5File2String MD5 加密檔案
encryptMD5File MD5 加密檔案
encryptSHA1ToString SHA1 加密
encryptSHA1 SHA1 加密
encryptSHA224ToString SHA224 加密
encryptSHA224 SHA224 加密
encryptSHA256ToString SHA256 加密
encryptSHA256 SHA256 加密
encryptSHA384ToString SHA384 加密
encryptSHA384 SHA384 加密
encryptSHA512ToString SHA512 加密
encryptSHA512 SHA512 加密
encryptHmacMD5ToString HmacMD5 加密
encryptHmacMD5 HmacMD5 加密
encryptHmacSHA1ToString HmacSHA1 加密
encryptHmacSHA1 HmacSHA1 加密
encryptHmacSHA224ToString HmacSHA224 加密
encryptHmacSHA224 HmacSHA224 加密
encryptHmacSHA256ToString HmacSHA256 加密
encryptHmacSHA256 HmacSHA256 加密
encryptHmacSHA384ToString HmacSHA384 加密
encryptHmacSHA384 HmacSHA384 加密
encryptHmacSHA512ToString HmacSHA512 加密
encryptHmacSHA512 HmacSHA512 加密
encryptDES2Base64 DES 加密
encryptDES2HexString DES 加密
encryptDES DES 加密
decryptBase64DES DES 解密
decryptHexStringDES DES 解密
decryptDES DES 解密
encrypt3DES2Base64 3DES 加密
encrypt3DES2HexString 3DES 加密
encrypt3DES 3DES 加密
decryptBase64_3DES 3DES 解密
decryptHexString3DES 3DES 解密
decrypt3DES 3DES 解密
encryptAES2Base64 AES 加密
encryptAES2HexString AES 加密
encryptAES AES 加密
decryptBase64AES AES 解密
decryptHexStringAES AES 解密
decryptAES AES 解密
encryptRSA2Base64 RSA 加密
encryptRSA2HexString RSA 加密
encryptRSA RSA 加密
decryptBase64RSA RSA 解密
decryptHexStringRSA RSA 解密
decryptRSA RSA 解密
方法 註釋
escape 編碼
unescape 解碼 說明:本方法保證 不論引數s是否經過escape()編碼,均能獲取正確的“解碼”結果
  • MD5加密 不可逆(Message Digest,訊息摘要演算法) -> MD5Utils.java
方法 註釋
md5 加密內容 - 32位大小MD5 - 小寫
md5Upper 加密內容 - 32位大小MD5 - 大寫
toHexString 進行轉換
getFileMD5 獲取檔案MD5值 - 小寫
方法 註釋
sha1 加密內容 SHA1
sha224 加密內容 SHA224
sha256 加密內容 SHA256
sha384 加密內容 SHA384
sha512 加密內容 SHA512
getFileSHA1 獲取檔案 Sha1 值
getFileSHA256 獲取檔案 Sha256 值
  • 3DES對稱加密(Triple DES、DESede,進行了三重DES加密的演算法,對稱加密演算法) -> TripleDESUtils.java
方法 註釋
initKey 生成金鑰
encrypt 3DES 加密
decrypt 3DES 解密
方法 註釋
encryptAsFix 固定 key 的方式加密
encrypt 非固定 key 的方式加密
decrypt 解密

dev.utils.common.random

方法 註釋
next 獲取隨機索引(對應機率索引)

dev.utils.common.thread

方法 註釋
getInstance 獲取 DevThreadManager 例項 ,單例模式
initConfig 初始化配置資訊
putConfig 新增配置資訊
removeConfig 移除配置資訊
方法 註釋
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

方法 註釋
checkBankCard 校驗銀行卡卡號 是否合法
getBankCardCheckCode 從不含校驗位的銀行卡卡號採用 Luhm 校驗演算法獲取校驗位
getNameOfBank 通過銀行卡 的前六位確定 判斷銀行開戶行及卡種
方法 註釋
getPowerSum 將身份證的每位和對應位的加權因子相乘之後,再獲取和值
getCheckCode18 將power和值與1 1取模獲取餘數進行校驗碼判斷
converCharToInt 將字元陣列轉換成數字陣列
validateIdCard18 身份證校驗規則,驗證18位身份編碼是否合法
validateIdCard15 身份證校驗規則,驗證15位身份編碼是否合法
convert15CardTo18 將15位身份證號碼轉換為18位
validateTWCard 驗證臺灣身份證號碼
validateHKCard 驗證香港身份證號碼(存在Bug,部份特殊身份證無法檢查)
validateIdCard10 判斷 10 位數的身份證號, 是否合法
validateCard 驗證身份證是否合法
getAgeByIdCard 根據身份編號獲取年齡
getBirthByIdCard 根據身份編號獲取生日
getBirthdayByIdCard 根據身份編號獲取生日
getYearByIdCard 根據身份編號獲取生日年
getMonthByIdCard 根據身份編號獲取生日月
getDateByIdCard 根據身份編號獲取生日天
getGenderByIdCard 根據身份編號獲取性別
getProvinceByIdCard 根據身份編號獲取戶籍省份
方法 註釋
isEmpty 判斷是否為null
isNumber 檢驗數字
isLetter 判斷字串是不是全是字母
isNumberLetter 判斷字串是不是隻含字母和數字
isSpec 檢驗特殊符號
isWx 檢驗微訊號
isRealName 檢驗真實姓名
isNickName 校驗暱稱
isUserName 校驗使用者名稱
isPassword 校驗密碼
isEmail 校驗郵箱
isUrl 校驗URL
isIPAddress 校驗IP地址
isIP IP地址校驗
isChinese 校驗漢字(無符號,純漢字)
isChineseAll 判斷字串是不是全是中文
isContainChinese 判斷字串中包含中文、包括中文字元標點等
方法 註釋
isEmpty 判斷是否為null
isIDCard 校驗身份證
isHKIDCard 校驗身份證 -> 香港
isAMIDCard 校驗身份證 -> 澳門
isTWIDCard 校驗身份證 -> 臺灣
方法 註釋
isEmpty 判斷是否為null
isPhoneCheck 中國手機號格式驗證,在輸入可以呼叫該方法,點選傳送驗證碼,使用 isPhone
isPhone 是否中國手機號
isPhoneToChinaTelecom 是否中國電信手機號碼
isPhoneToChinaUnicom 是否中國聯通手機號碼
isPhoneToChinaMobile 是否中國移動手機號碼
isPhoneToHkMobile 判斷是否香港手機號
isPhoneCallNum 驗證電話號碼的格式

相關文章