日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android 超级工具类

發布時間:2023/12/20 Android 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android 超级工具类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

AndroidUtilCode 一個強大的工具類https://github.com/Blankj/AndroidUtilCode/blob/master/lib/utilcode/README-CN.md

Download

Gradle:

implementation 'com.blankj:utilcode:1.25.9'// if u use AndroidX, use the following implementation 'com.blankj:utilcodex:1.25.9'

APIs

  • Activity 相關 -> [ActivityUtils.java][activity.java] -> [Demo][activity.demo]

getActivityByView : 根據視圖獲取 Activity getActivityByContext : 根據上下文獲取 Activity isActivityExists : 判斷 Activity 是否存在 startActivity : 啟動 Activity startActivityForResult : 啟動 Activity 為返回結果 startActivities : 啟動多個 Activity startHomeActivity : 回到桌面 getActivityList : 獲取 Activity 棧鏈表 getLauncherActivity : 獲取啟動項 Activity getMainActivities : 獲取主的 Activity 們 getTopActivity : 獲取棧頂 Activity isActivityAlive : 判斷 Activity 是否存活 isActivityExistsInStack : 判斷 Activity 是否存在棧中 finishActivity : 結束 Activity finishToActivity : 結束到指定 Activity finishOtherActivities : 結束所有其他類型的 Activity finishAllActivities : 結束所有 Activity finishAllActivitiesExceptNewest: 結束除最新之外的所有 Activity
  • AdaptScreen 相關 -> [AdaptScreenUtils.java][adaptScreen.java] -> [Demo][adaptScreen.demo]

adaptWidth : 適配寬度 adaptHeight: 適配高度 closeAdapt : 關閉適配(pt 等同于 dp) pt2Px : pt 轉 px px2Pt : px 轉 pt
  • Api 相關 -> [ApiUtils.java][api.java] -> [README][api.readme]

getApi: 獲取 api 的實例
  • App 相關 -> [AppUtils.java][app.java] -> [Demo][app.demo]

registerAppStatusChangedListener : 注冊 App 前后臺切換監聽器 unregisterAppStatusChangedListener: 注銷 App 前后臺切換監聽器 installApp : 安裝 App(支持 8.0) uninstallApp : 卸載 App isAppInstalled : 判斷 App 是否安裝 isAppRoot : 判斷 App 是否有 root 權限 isAppDebug : 判斷 App 是否是 Debug 版本 isAppSystem : 判斷 App 是否是系統應用 isAppForeground : 判斷 App 是否處于前臺 isAppRunning : 判斷 App 是否運行 launchApp : 打開 App relaunchApp : 重啟 App launchAppDetailsSettings : 打開 App 具體設置 exitApp : 關閉應用 getAppIcon : 獲取 App 圖標 getAppPackageName : 獲取 App 包名 getAppName : 獲取 App 名稱 getAppPath : 獲取 App 路徑 getAppVersionName : 獲取 App 版本號 getAppVersionCode : 獲取 App 版本碼 getAppSignature : 獲取 App 簽名 getAppSignatureSHA1 : 獲取應用簽名的的 SHA1 值 getAppSignatureSHA256 : 獲取應用簽名的的 SHA256 值 getAppSignatureMD5 : 獲取應用簽名的的 MD5 值 getAppInfo : 獲取 App 信息 getAppsInfo : 獲取所有已安裝 App 信息 getApkInfo : 獲取 Apk 信息
  • 數組相關 -> [ArrayUtils.java][array.java] -> [Test][array.test]

newArray : 新建數組 newLongArray : 新建長整型數組 newIntArray : 新建整型數組 newShortArray : 新建 short 數組 newCharArray : 新建字符數組 newByteArray : 新建字節數組 newDoubleArray : 新建雙精度數組 newFloatArray : 新建浮點數數組 newBooleanArray : 新建 boolean 數組 isEmpty : 判斷數組是否為空 getLength : 獲取數組長度 isSameLength : 判斷兩數組長度是否相等 get : 獲取數組的索引值 set : 設置數組的索引值 equals : 判斷數組是否相等 reverse : 逆序數組 copy : 拷貝數組 subArray : 截取數組 add : 增加數組 remove : 移除指定的索引 removeElement : 移除指定的元素 indexOf : 查找第一個元素的索引 lastIndexOf : 查找最后一個元素的索引 contains : 判斷是否包含該元素 toPrimitive : 裝箱數組轉基本類型數組 toObject : 基本類型數組轉裝箱數組 asList : 轉為鏈表 asUnmodifiableList: 轉為不可變鏈表 asArrayList : 轉為數組鏈表 asLinkedList : 轉為雙向鏈表 sort : 排序 forAllDo : 對所有元素做操作 toString : 數組轉為字符串
  • 欄相關 -> BarUtils.java -> Demo

getStatusBarHeight : 獲取狀態欄高度(px) setStatusBarVisibility : 設置狀態欄是否可見 isStatusBarVisible : 判斷狀態欄是否可見 setStatusBarLightMode : 設置狀態欄是否為淺色模式 addMarginTopEqualStatusBarHeight : 為 view 增加 MarginTop 為狀態欄高度 subtractMarginTopEqualStatusBarHeight: 為 view 減少 MarginTop 為狀態欄高度 setStatusBarColor : 設置狀態欄顏色 setStatusBarColor4Drawer : 為 DrawerLayout 設置狀態欄顏色 getActionBarHeight : 獲取 ActionBar 高度 setNotificationBarVisibility : 設置通知欄是否可見 getNavBarHeight : 獲取導航欄高度 setNavBarVisibility : 設置導航欄是否可見 isNavBarVisible : 判斷導航欄是否可見 setNavBarColor : 設置導航欄顏色 getNavBarColor : 獲取導航欄顏色 isSupportNavBar : 判斷是否支持導航欄
  • 亮度相關 -> BrightnessUtils.java -> Demo

isAutoBrightnessEnabled : 判斷是否開啟自動調節亮度 setAutoBrightnessEnabled: 設置是否開啟自動調節亮度 getBrightness : 獲取屏幕亮度 setBrightness : 設置屏幕亮度 setWindowBrightness : 設置窗口亮度 getWindowBrightness : 獲取窗口亮度
  • Bus 相關 -> BusUtils.java -> README

register : 注冊 unregister : 注銷 post : 發送 postSticky : 發送粘性 removeSticky: 移除粘性 toString_ : 查看插入的信息
  • 磁盤緩存相關 -> CacheDiskStaticUtils.java -> Test

setDefaultCacheDiskUtils: 設置默認磁盤緩存實例 put : 緩存中寫入數據 getBytes : 緩存中讀取字節數組 getString : 緩存中讀取 String getJSONObject : 緩存中讀取 JSONObject getJSONArray : 緩存中讀取 JSONArray getBitmap : 緩存中讀取 Bitmap getDrawable : 緩存中讀取 Drawable getParcelable : 緩存中讀取 Parcelable getSerializable : 緩存中讀取 Serializable getCacheSize : 獲取緩存大小 getCacheCount : 獲取緩存個數 remove : 根據鍵值移除緩存 clear : 清除所有緩存
  • 磁盤緩存相關 -> CacheDiskUtils.java -> Test

getInstance : 獲取緩存實例 Instance.put : 緩存中寫入數據 Instance.getBytes : 緩存中讀取字節數組 Instance.getString : 緩存中讀取 String Instance.getJSONObject : 緩存中讀取 JSONObject Instance.getJSONArray : 緩存中讀取 JSONArray Instance.getBitmap : 緩存中讀取 Bitmap Instance.getDrawable : 緩存中讀取 Drawable Instance.getParcelable : 緩存中讀取 Parcelable Instance.getSerializable: 緩存中讀取 Serializable Instance.getCacheSize : 獲取緩存大小 Instance.getCacheCount : 獲取緩存個數 Instance.remove : 根據鍵值移除緩存 Instance.clear : 清除所有緩存
  • 二級緩存相關 -> CacheDoubleStaticUtils.java -> Test

setDefaultCacheDoubleUtils: 設置默認二級緩存實例 put : 緩存中寫入數據 getBytes : 緩存中讀取字節數組 getString : 緩存中讀取 String getJSONObject : 緩存中讀取 JSONObject getJSONArray : 緩存中讀取 JSONArray getBitmap : 緩存中讀取 Bitmap getDrawable : 緩存中讀取 Drawable getParcelable : 緩存中讀取 Parcelable getSerializable : 緩存中讀取 Serializable getCacheDiskSize : 獲取磁盤緩存大小 getCacheDiskCount : 獲取磁盤緩存個數 getCacheMemoryCount : 獲取內存緩存個數 remove : 根據鍵值移除緩存 clear : 清除所有緩存
  • 二級緩存相關 -> CacheDoubleUtils.java -> Test

getInstance : 獲取緩存實例 Instance.put : 緩存中寫入數據 Instance.getBytes : 緩存中讀取字節數組 Instance.getString : 緩存中讀取 String Instance.getJSONObject : 緩存中讀取 JSONObject Instance.getJSONArray : 緩存中讀取 JSONArray Instance.getBitmap : 緩存中讀取 Bitmap Instance.getDrawable : 緩存中讀取 Drawable Instance.getParcelable : 緩存中讀取 Parcelable Instance.getSerializable : 緩存中讀取 Serializable Instance.getCacheDiskSize : 獲取磁盤緩存大小 Instance.getCacheDiskCount : 獲取磁盤緩存個數 Instance.getCacheMemoryCount: 獲取內存緩存個數 Instance.remove : 根據鍵值移除緩存 Instance.clear : 清除所有緩存
  • 內存緩存相關 -> CacheMemoryStaticUtils.java -> Test

setDefaultCacheMemoryUtils: 設置默認內存緩存實例 put : 緩存中寫入數據 get : 緩存中讀取字節數組 getCacheCount : 獲取緩存個數 remove : 根據鍵值移除緩存 clear : 清除所有緩存
  • 內存緩存相關 -> CacheMemoryUtils.java -> Test

getInstance : 獲取緩存實例 Instance.put : 緩存中寫入數據 Instance.get : 緩存中讀取字節數組 Instance.getCacheCount: 獲取緩存個數 Instance.remove : 根據鍵值移除緩存 Instance.clear : 清除所有緩存
  • 清除相關 -> CleanUtils.java -> Demo

cleanInternalCache : 清除內部緩存 cleanInternalFiles : 清除內部文件 cleanInternalDbs : 清除內部數據庫 cleanInternalDbByName: 根據名稱清除數據庫 cleanInternalSp : 清除內部 SP cleanExternalCache : 清除外部緩存 cleanCustomDir : 清除自定義目錄下的文件
  • 點擊相關 -> ClickUtils.java -> Demo

applyScale : 應用點擊縮放 applySingleDebouncing : 對單視圖應用防抖點擊 applyGlobalDebouncing : 對所有設置 GlobalDebouncing 的視圖應用防抖點擊 ClickUtils#OnDebouncingClickListener: 防抖點擊監聽器 ClickUtils#OnMultiClickListener : 連續點擊監聽器
  • 克隆相關 -> CloneUtils.java -> Test

deepClone: 深度克隆
  • 關閉相關 -> CloseUtils.java

closeIO : 關閉 IO closeIOQuietly: 安靜關閉 IO
  • 集合相關 -> CollectionUtils.java -> Test

newUnmodifiableList[NotNull]: 新建只讀[非空]鏈表 newArrayList[NotNull] : 新建數組型[非空]鏈表 newLinkedList[NotNull] : 新建指針型[非空]鏈表 newHashSet[NotNull] : 新建哈希[非空]集合 newTreeSet[NotNull] : 新建有序[非空]集合 newSynchronizedCollection : 新建同步集合 newUnmodifiableCollection : 新建只讀集合 union : 獲取并集 intersection : 獲取交集 disjunction : 獲取并集減交集 subtract : 獲取差集 containsAny : 判斷是否有交集 getCardinalityMap : 獲取集合中所有元素的基數 isSubCollection : 是否子集 isProperSubCollection : 是否真子集 isEqualCollection : 判斷集合是否相等 cardinality : 獲取集合中元素的基數 find : 查找第一個符合條件的元素 forAllDo : 對所有元素做操作 filter : 刪除原集合中不符合條件的元素 select : 查找出所有符合條件的元素并返回新集合 selectRejected : 查找出所有不符合條件的元素并返回新集合 transform : 對原集合進行轉變 collect : 轉變為新的集合 countMatches : 查找到匹配的元素個數 exists : 判斷集合是否存在符合條件的元素 addIgnoreNull : 新增元素如果不為空 addAll : 新增多個元素 get : 獲取集合元素 size : 獲取集合個數 sizeIsEmpty : 判斷個數是否為零 isEmpty : 判斷是否為空 isNotEmpty : 判斷是否非空 retainAll : 保留元素 removeAll : 刪除下來 toString : 集合轉為字符串
  • 顏色相關 -> ColorUtils.java

getColor : 獲取顏色 setAlphaComponent: 設置顏色透明度值 setRedComponent : 設置顏色紅色值 setGreenComponent: 設置顏色綠色值 setBlueComponent : 設置顏色藍色值 string2Int : 顏色串轉顏色值 int2RgbString : 顏色值轉 RGB 串 int2ArgbString : 顏色值轉 ARGB 串 getRandomColor : 獲取隨機色
  • 轉換相關 -> ConvertUtils.java -> Test

bytes2Bits, bits2Bytes : bytes 與 bits 互轉 bytes2Chars, chars2Bytes : bytes 與 chars 互轉 bytes2HexString, hexString2Bytes : bytes 與 hexString 互轉 memorySize2Byte, byte2MemorySize : 以 unit 為單位的內存大小與字節數互轉 byte2FitMemorySize : 字節數轉合適內存大小 timeSpan2Millis, millis2TimeSpan : 以 unit 為單位的時間長度與毫秒時間戳互轉 millis2FitTimeSpan : 毫秒時間戳轉合適時間長度 input2OutputStream, output2InputStream : inputStream 與 outputStream 互轉 inputStream2Bytes, bytes2InputStream : inputStream 與 bytes 互轉 outputStream2Bytes, bytes2OutputStream : outputStream 與 bytes 互轉 inputStream2String, string2InputStream : inputStream 與 string 按編碼互轉 outputStream2String, string2OutputStream: outputStream 與 string 按編碼互轉 bitmap2Bytes, bytes2Bitmap : bitmap 與 bytes 互轉 drawable2Bitmap, bitmap2Drawable : drawable 與 bitmap 互轉 drawable2Bytes, bytes2Drawable : drawable 與 bytes 互轉 view2Bitmap : view 轉 Bitmap dp2px, px2dp : dp 與 px 互轉 sp2px, px2sp : sp 與 px 互轉
  • 崩潰相關 -> CrashUtils.java

init: 初始化
  • 設備相關 -> DeviceUtils.java -> Demo

isDeviceRooted : 判斷設備是否 rooted isAdbEnabled : 判斷設備 ADB 是否可用 getSDKVersionName: 獲取設備系統版本號 getSDKVersionCode: 獲取設備系統版本碼 getAndroidID : 獲取設備 AndroidID getMacAddress : 獲取設備 MAC 地址 getManufacturer : 獲取設備廠商 getModel : 獲取設備型號 getABIs : 獲取設備 ABIs isTablet : 判斷是否是平板 isEmulator : 判斷是否是模擬器 getUniqueDeviceId: 獲取唯一設備 ID isSameDevice : 判斷是否同一設備
  • 閃光燈相關 -> FlashlightUtils.java -> Demo

isFlashlightEnable : 判斷設備是否支持閃光燈 isFlashlightOn : 判斷閃光燈是否打開 setFlashlightStatus: 設置閃光燈狀態 destroy : 銷毀
  • 編碼解碼相關 -> EncodeUtils.java -> Test

urlEncode : URL 編碼 urlDecode : URL 解碼 base64Encode : Base64 編碼 base64Encode2String: Base64 編碼 base64Decode : Base64 解碼 htmlEncode : Html 編碼 htmlDecode : Html 解碼
  • 加密解密相關 -> EncryptUtils.java -> Test

encryptMD2, encryptMD2ToString : MD2 加密 encryptMD5, encryptMD5ToString : MD5 加密 encryptMD5File, encryptMD5File2String : MD5 加密文件 encryptSHA1, encryptSHA1ToString : SHA1 加密 encryptSHA224, encryptSHA224ToString : SHA224 加密 encryptSHA256, encryptSHA256ToString : SHA256 加密 encryptSHA384, encryptSHA384ToString : SHA384 加密 encryptSHA512, encryptSHA512ToString : SHA512 加密 encryptHmacMD5, encryptHmacMD5ToString : HmacMD5 加密 encryptHmacSHA1, encryptHmacSHA1ToString : HmacSHA1 加密 encryptHmacSHA224, encryptHmacSHA224ToString : HmacSHA224 加密 encryptHmacSHA256, encryptHmacSHA256ToString : HmacSHA256 加密 encryptHmacSHA384, encryptHmacSHA384ToString : HmacSHA384 加密 encryptHmacSHA512, encryptHmacSHA512ToString : HmacSHA512 加密 encryptDES, encryptDES2HexString, encryptDES2Base64 : DES 加密 decryptDES, decryptHexStringDES, decryptBase64DES : DES 解密 encrypt3DES, encrypt3DES2HexString, encrypt3DES2Base64: 3DES 加密 decrypt3DES, decryptHexString3DES, decryptBase64_3DES : 3DES 解密 encryptAES, encryptAES2HexString, encryptAES2Base64 : AES 加密 decryptAES, decryptHexStringAES, decryptBase64AES : AES 解密 encryptRSA, encryptRSA2HexString, encryptRSA2Base64 : RSA 加密 decryptRSA, decryptHexStringRSA, decryptBase64RSA : RSA 解密
  • 文件相關 -> FileIOUtils.java -> Test

writeFileFromIS : 將輸入流寫入文件 writeFileFromBytesByStream : 將字節數組寫入文件 writeFileFromBytesByChannel: 將字節數組寫入文件 writeFileFromBytesByMap : 將字節數組寫入文件 writeFileFromString : 將字符串寫入文件 readFile2List : 讀取文件到字符串鏈表中 readFile2String : 讀取文件到字符串中 readFile2BytesByStream : 讀取文件到字節數組中 readFile2BytesByChannel : 讀取文件到字節數組中 readFile2BytesByMap : 讀取文件到字節數組中 setBufferSize : 設置緩沖區尺寸
  • 文件相關 -> FileUtils.java -> Test

getFileByPath : 根據文件路徑獲取文件 isFileExists : 判斷文件是否存在 rename : 重命名文件 isDir : 判斷是否是目錄 isFile : 判斷是否是文件 createOrExistsDir : 判斷目錄是否存在,不存在則判斷是否創建成功 createOrExistsFile : 判斷文件是否存在,不存在則判斷是否創建成功 createFileByDeleteOldFile : 判斷文件是否存在,存在則在創建之前刪除 copyDir : 復制目錄 copyFile : 復制文件 moveDir : 移動目錄 moveFile : 移動文件 delete : 刪除文件或目錄 deleteDir : 刪除目錄 deleteFile : 刪除文件 deleteAllInDir : 刪除目錄下所有東西 deleteFilesInDir : 刪除目錄下所有文件 deleteFilesInDirWithFilter: 刪除目錄下所有過濾的文件 listFilesInDir : 獲取目錄下所有文件 listFilesInDirWithFilter : 獲取目錄下所有過濾的文件 getFileLastModified : 獲取文件最后修改的毫秒時間戳 getFileCharsetSimple : 簡單獲取文件編碼格式 getFileLines : 獲取文件行數 getDirSize : 獲取目錄大小 getFileSize : 獲取文件大小 getDirLength : 獲取目錄長度 getFileLength : 獲取文件長度 getFileMD5 : 獲取文件的 MD5 校驗碼 getFileMD5ToString : 獲取文件的 MD5 校驗碼 getDirName : 根據全路徑獲取最長目錄 getFileName : 根據全路徑獲取文件名 getFileNameNoExtension : 根據全路徑獲取文件名不帶拓展名 getFileExtension : 根據全路徑獲取文件拓展名 notifySystemToScan : 通知系統掃描文件
  • Fragment 相關 -> FragmentUtils.java -> Demo

add : 新增 fragment show : 顯示 fragment hide : 隱藏 fragment showHide : 先顯示后隱藏 fragment replace : 替換 fragment pop : 出棧 fragment popTo : 出棧到指定 fragment popAll : 出棧所有 fragment remove : 移除 fragment removeTo : 移除到指定 fragment removeAll : 移除所有 fragment getTop : 獲取頂部 fragment getTopInStack : 獲取棧中頂部 fragment getTopShow : 獲取頂部可見 fragment getTopShowInStack : 獲取棧中頂部可見 fragment getFragments : 獲取同級別的 fragment getFragmentsInStack : 獲取同級別棧中的 fragment getAllFragments : 獲取所有 fragment getAllFragmentsInStack: 獲取棧中所有 fragment findFragment : 查找 fragment dispatchBackPress : 處理 fragment 回退鍵 setBackgroundColor : 設置背景色 setBackgroundResource : 設置背景資源 setBackground : 設置背景
  • Gson 相關 -> GsonUtils.java -> Test

getGson : 獲取 Gson 對象 toJson : 對象轉 Json 串 fromJson : Json 串轉對象 getListType : 獲取鏈表類型 getSetType : 獲取集合類型 getMapType : 獲取字典類型 getArrayType: 獲取數組類型 getType : 獲取類型
  • 圖片相關 -> ImageUtils.java -> Demo

bitmap2Bytes, bytes2Bitmap : bitmap 與 bytes 互轉 drawable2Bitmap, bitmap2Drawable: drawable 與 bitmap 互轉 drawable2Bytes, bytes2Drawable : drawable 與 bytes 互轉 view2Bitmap : view 轉 bitmap getBitmap : 獲取 bitmap scale : 縮放圖片 clip : 裁剪圖片 skew : 傾斜圖片 rotate : 旋轉圖片 getRotateDegree : 獲取圖片旋轉角度 toRound : 轉為圓形圖片 toRoundCorner : 轉為圓角圖片 addCornerBorder : 添加圓角邊框 addCircleBorder : 添加圓形邊框 addReflection : 添加倒影 addTextWatermark : 添加文字水印 addImageWatermark : 添加圖片水印 toAlpha : 轉為 alpha 位圖 toGray : 轉為灰度圖片 fastBlur : 快速模糊 renderScriptBlur : renderScript 模糊圖片 stackBlur : stack 模糊圖片 save : 保存圖片 isImage : 根據文件名判斷文件是否為圖片 getImageType : 獲取圖片類型 compressByScale : 按縮放壓縮 compressByQuality : 按質量壓縮 compressBySampleSize : 按采樣大小壓縮 getSize : 獲取圖片尺寸
  • 意圖相關 -> IntentUtils.java

isIntentAvailable : 判斷意圖是否可用 getInstallAppIntent : 獲取安裝 App(支持 6.0)的意圖 getUninstallAppIntent : 獲取卸載 App 的意圖 getLaunchAppIntent : 獲取打開 App 的意圖 getLaunchAppDetailsSettingsIntent: 獲取 App 具體設置的意圖 getShareTextIntent : 獲取分享文本的意圖 getShareImageIntent : 獲取分享圖片的意圖 getComponentIntent : 獲取其他應用組件的意圖 getShutdownIntent : 獲取關機的意圖 getCaptureIntent : 獲取拍照的意圖
  • 鍵盤相關 -> KeyboardUtils.java -> Demo

showSoftInput : 顯示軟鍵盤 hideSoftInput : 隱藏軟鍵盤 toggleSoftInput : 切換鍵盤顯示與否狀態 isSoftInputVisible : 判斷軟鍵盤是否可見 registerSoftInputChangedListener : 注冊軟鍵盤改變監聽器 unregisterSoftInputChangedListener: 注銷軟鍵盤改變監聽器 fixAndroidBug5497 : 修復安卓 5497 BUG fixSoftInputLeaks : 修復軟鍵盤內存泄漏 clickBlankArea2HideSoftInput : 點擊屏幕空白區域隱藏軟鍵盤
  • 語言相關 -> LanguageUtils.java -> Demo

applySystemLanguage: 應用系統語言 applyLanguage : 應用語言
  • 日志相關 -> LogUtils.java -> Demo

getConfig : 獲取 log 配置 Config.setLogSwitch : 設置 log 總開關 Config.setConsoleSwitch : 設置 log 控制臺開關 Config.setGlobalTag : 設置 log 全局 tag Config.setLogHeadSwitch : 設置 log 頭部信息開關 Config.setLog2FileSwitch : 設置 log 文件開關 Config.setDir : 設置 log 文件存儲目錄 Config.setFilePrefix : 設置 log 文件前綴 Config.setBorderSwitch : 設置 log 邊框開關 Config.setSingleTagSwitch: 設置 log 單一 tag 開關(為美化 AS 3.1 的 Logcat) Config.setConsoleFilter : 設置 log 控制臺過濾器 Config.setFileFilter : 設置 log 文件過濾器 Config.setStackDeep : 設置 log 棧深度 Config.setStackOffset : 設置 log 棧偏移 Config.setSaveDays : 設置 log 可保留天數 Config.addFormatter : 新增 log 格式化器 log : 自定義 tag 的 type 日志 v : tag 為類名的 Verbose 日志 vTag : 自定義 tag 的 Verbose 日志 d : tag 為類名的 Debug 日志 dTag : 自定義 tag 的 Debug 日志 i : tag 為類名的 Info 日志 iTag : 自定義 tag 的 Info 日志 w : tag 為類名的 Warn 日志 wTag : 自定義 tag 的 Warn 日志 e : tag 為類名的 Error 日志 eTag : 自定義 tag 的 Error 日志 a : tag 為類名的 Assert 日志 aTag : 自定義 tag 的 Assert 日志 file : log 到文件 json : log 字符串之 json xml : log 字符串之 xml
  • Map 相關 -> MapUtils.java -> Test

newUnmodifiableMap: 創建 UnmodifiableMap newHashMap : 創建 HashMap newLinkedHashMap : 創建 LinkedHashMap newTreeMap : 創建 TreeMap newHashTable : 創建 HashTable isEmpty : 判斷 Map 是否為空 isNotEmpty : 判斷 Map 是否非空 size : 獲取 Map 元素個數 forAllDo : 對所有元素做操作 transform : 對 Map 做轉變 toString : Map 轉為字符串
  • MetaData 相關 -> MetaDataUtils.java -> Demo

getMetaDataInApp : 獲取 application 的 meta-data 值 getMetaDataInActivity: 獲取 activity 的 meta-data 值 getMetaDataInService : 獲取 service 的 meta-data 值 getMetaDataInReceiver: 獲取 receiver 的 meta-data 值
  • 網絡相關 -> NetworkUtils.java -> Demo

openWirelessSettings : 打開網絡設置界面 isConnected : 判斷網絡是否連接 isAvailable[Async] : 判斷網絡是否可用 isAvailableByPing[Async] : 用 ping 判斷網絡是否可用 isAvailableByDns[Async] : 用 DNS 判斷網絡是否可用 getMobileDataEnabled : 判斷移動數據是否打開 isMobileData : 判斷網絡是否是移動數據 is4G : 判斷網絡是否是 4G getWifiEnabled : 判斷 wifi 是否打開 setWifiEnabled : 打開或關閉 wifi isWifiConnected : 判斷 wifi 是否連接狀態 isWifiAvailable[Async] : 判斷 wifi 數據是否可用 getNetworkOperatorName : 獲取移動網絡運營商名稱 getNetworkType : 獲取當前網絡類型 getIPAddress[Async] : 獲取 IP 地址 getDomainAddress[Async] : 獲取域名 IP 地址 getIpAddressByWifi : 根據 WiFi 獲取網絡 IP 地址 getGatewayByWifi : 根據 WiFi 獲取網關 IP 地址 getNetMaskByWifi : 根據 WiFi 獲取子網掩碼 IP 地址 getServerAddressByWifi : 根據 WiFi 獲取服務端 IP 地址 registerNetworkStatusChangedListener : 注冊網絡狀態改變監聽器 unregisterNetworkStatusChangedListener: 注銷網絡狀態改變監聽器
  • 對象相關 -> ObjectUtils.java -> Test

isEmpty : 判斷對象是否為空 isNotEmpty : 判斷對象是否非空 equals : 判斷對象是否相等 requireNonNull: 檢查對象非空 getOrDefault : 獲取非空或默認對象 hashCode : 獲取對象哈希值
  • 路徑相關 -> PathUtils.java -> Demo

getRootPath : 獲取根路徑 getDataPath : 獲取數據路徑 getDownloadCachePath : 獲取下載緩存路徑 getInternalAppDataPath : 獲取內存應用數據路徑 getInternalAppCodeCacheDir : 獲取內存應用代碼緩存路徑 getInternalAppCachePath : 獲取內存應用緩存路徑 getInternalAppDbsPath : 獲取內存應用數據庫路徑 getInternalAppDbPath : 獲取內存應用數據庫路徑 getInternalAppFilesPath : 獲取內存應用文件路徑 getInternalAppSpPath : 獲取內存應用 SP 路徑 getInternalAppNoBackupFilesPath: 獲取內存應用未備份文件路徑 getExternalStoragePath : 獲取外存路徑 getExternalMusicPath : 獲取外存音樂路徑 getExternalPodcastsPath : 獲取外存播客路徑 getExternalRingtonesPath : 獲取外存鈴聲路徑 getExternalAlarmsPath : 獲取外存鬧鈴路徑 getExternalNotificationsPath : 獲取外存通知路徑 getExternalPicturesPath : 獲取外存圖片路徑 getExternalMoviesPath : 獲取外存影片路徑 getExternalDownloadsPath : 獲取外存下載路徑 getExternalDcimPath : 獲取外存數碼相機圖片路徑 getExternalDocumentsPath : 獲取外存文檔路徑 getExternalAppDataPath : 獲取外存應用數據路徑 getExternalAppCachePath : 獲取外存應用緩存路徑 getExternalAppFilesPath : 獲取外存應用文件路徑 getExternalAppMusicPath : 獲取外存應用音樂路徑 getExternalAppPodcastsPath : 獲取外存應用播客路徑 getExternalAppRingtonesPath : 獲取外存應用鈴聲路徑 getExternalAppAlarmsPath : 獲取外存應用鬧鈴路徑 getExternalAppNotificationsPath: 獲取外存應用通知路徑 getExternalAppPicturesPath : 獲取外存應用圖片路徑 getExternalAppMoviesPath : 獲取外存應用影片路徑 getExternalAppDownloadPath : 獲取外存應用下載路徑 getExternalAppDcimPath : 獲取外存應用數碼相機圖片路徑 getExternalAppDocumentsPath : 獲取外存應用文檔路徑 getExternalAppObbPath : 獲取外存應用 OBB 路徑
  • 權限相關 -> PermissionUtils.java -> Demo

getPermissions : 獲取應用權限 isGranted : 判斷權限是否被授予 isGrantedWriteSettings : 判斷修改系統權限是否被授予 requestWriteSettings : 申請修改系統權限 isGrantedDrawOverlays : 判斷懸浮窗權限是否被授予 requestDrawOverlays : 申請懸浮窗權限 launchAppDetailsSettings: 打開應用具體設置 permission : 設置請求權限 rationale : 設置拒絕權限后再次請求的回調接口 callback : 設置回調 theme : 設置主題 request : 開始請求
  • 手機相關 -> PhoneUtils.java -> Demo

isPhone : 判斷設備是否是手機 getDeviceId : 獲取設備碼 getSerial : 獲取序列號 getIMEI : 獲取 IMEI 碼 getMEID : 獲取 MEID 碼 getIMSI : 獲取 IMSI 碼 getPhoneType : 獲取移動終端類型 isSimCardReady : 判斷 sim 卡是否準備好 getSimOperatorName : 獲取 Sim 卡運營商名稱 getSimOperatorByMnc: 獲取 Sim 卡運營商名稱 dial : 跳至撥號界面 call : 撥打 phoneNumber sendSms : 跳至發送短信界面
  • 進程相關 -> ProcessUtils.java -> Demo

getForegroundProcessName : 獲取前臺線程包名 killAllBackgroundProcesses: 殺死所有的后臺服務進程 killBackgroundProcesses : 殺死后臺服務進程 isMainProcess : 判斷是否運行在主進程 getCurrentProcessName : 獲取當前進程名稱
  • 反射相關 -> ReflectUtils.java -> Test

reflect : 設置要反射的類 newInstance: 實例化反射對象 field : 設置反射的字段 method : 設置反射的方法 get : 獲取反射想要獲取的
  • 正則相關 -> RegexUtils.java -> Test

isMobileSimple : 簡單驗證手機號 isMobileExact : 精確驗證手機號 isTel : 驗證電話號碼 isIDCard15 : 驗證身份證號碼 15 位 isIDCard18 : 簡單驗證身份證號碼 18 位 isIDCard18Exact: 精確驗證身份證號碼 18 位 isEmail : 驗證郵箱 isURL : 驗證 URL isZh : 驗證漢字 isUsername : 驗證用戶名 isDate : 驗證 yyyy-MM-dd 格式的日期校驗,已考慮平閏年 isIP : 驗證 IP 地址 isMatch : 判斷是否匹配正則 getMatches : 獲取正則匹配的部分 getSplits : 獲取正則匹配分組 getReplaceFirst: 替換正則匹配的第一部分 getReplaceAll : 替換所有正則匹配的部分
  • 資源相關 -> ResourceUtils.java -> Demo

copyFileFromAssets: 從 assets 中拷貝文件 readAssets2String : 從 assets 中讀取字符串 readAssets2List : 從 assets 中按行讀取字符串 copyFileFromRaw : 從 raw 中拷貝文件 readRaw2String : 從 raw 中讀取字符串 readRaw2List : 從 raw 中按行讀取字符串
  • Rom 相關 -> RomUtils.java -> Demo

isHuawei : 是否華為 isVivo : 是否 VIVO isXiaomi : 是否小米 isOppo : 是否 OPPO isLeeco : 是否樂視 is360 : 是否 360 isZte : 是否中興 isOneplus : 是否一加 isNubia : 是否努比亞 isCoolpad : 是否酷派 isLg : 是否 LG isGoogle : 是否谷歌 isSamsung : 是否三星 isMeizu : 是否魅族 isLenovo : 是否聯想 isSmartisan: 是否錘子 isHtc : 是否 HTC isSony : 是否索尼 isGionee : 是否金立 isMotorola : 是否摩托羅拉 getRomInfo : 獲取 ROM 信息
  • 屏幕相關 -> ScreenUtils.java -> Demo

getScreenWidth : 獲取屏幕的寬度(單位:px) getScreenHeight : 獲取屏幕的高度(單位:px) getAppScreenWidth : 獲取應用屏幕的寬度(單位:px) getAppScreenHeight : 獲取應用屏幕的高度(單位:px) getScreenDensity : 獲取屏幕密度 getScreenDensityDpi: 獲取屏幕密度 DPI setFullScreen : 設置屏幕為全屏 setNonFullScreen : 設置屏幕為非全屏 toggleFullScreen : 切換屏幕為全屏與否狀態 isFullScreen : 判斷屏幕是否為全屏 setLandscape : 設置屏幕為橫屏 setPortrait : 設置屏幕為豎屏 isLandscape : 判斷是否橫屏 isPortrait : 判斷是否豎屏 getScreenRotation : 獲取屏幕旋轉角度 screenShot : 截屏 isScreenLock : 判斷是否鎖屏 setSleepDuration : 設置進入休眠時長 getSleepDuration : 獲取進入休眠時長
  • SD 卡相關 -> SDCardUtils.java -> Demo

isSDCardEnableByEnvironment: 根據 Environment 判斷 SD 卡是否可用 getSDCardPathByEnvironment : 根據 Environment 獲取 SD 卡路徑 getSDCardInfo : 獲取 SD 卡信息
  • 服務相關 -> ServiceUtils.java

getAllRunningServices: 獲取所有運行的服務 startService : 啟動服務 stopService : 停止服務 bindService : 綁定服務 unbindService : 解綁服務 isServiceRunning : 判斷服務是否運行
  • Shell 相關 -> ShellUtils.java

execCmd[Async]: 執行命令
  • 尺寸相關 -> SizeUtils.java

dp2px, px2dp : dp 與 px 轉換 sp2px, px2sp : sp 與 px 轉換 applyDimension : 各種單位轉換 forceGetViewSize : 在 onCreate 中獲取視圖的尺寸 measureView : 測量視圖尺寸 getMeasuredWidth : 獲取測量視圖寬度 getMeasuredHeight: 獲取測量視圖高度
  • Snackbar 相關 -> SnackbarUtils.java -> Demo

with : 設置 snackbar 依賴 view setMessage : 設置消息 setMessageColor: 設置消息顏色 setBgColor : 設置背景色 setBgResource : 設置背景資源 setDuration : 設置顯示時長 setAction : 設置行為 setBottomMargin: 設置底邊距 show : 顯示 snackbar showSuccess : 顯示預設成功的 snackbar showWarning : 顯示預設警告的 snackbar showError : 顯示預設錯誤的 snackbar dismiss : 消失 snackbar getView : 獲取 snackbar 視圖 addView : 添加 snackbar 視圖
  • SpannableString 相關 -> SpanUtils.java -> Demo

with : 設置控件 setFlag : 設置標識 setForegroundColor: 設置前景色 setBackgroundColor: 設置背景色 setLineHeight : 設置行高 setQuoteColor : 設置引用線的顏色 setLeadingMargin : 設置縮進 setBullet : 設置列表標記 setFontSize : 設置字體尺寸 setFontProportion : 設置字體比例 setFontXProportion: 設置字體橫向比例 setStrikethrough : 設置刪除線 setUnderline : 設置下劃線 setSuperscript : 設置上標 setSubscript : 設置下標 setBold : 設置粗體 setItalic : 設置斜體 setBoldItalic : 設置粗斜體 setFontFamily : 設置字體系列 setTypeface : 設置字體 setAlign : 設置對齊 setClickSpan : 設置點擊事件 setUrl : 設置超鏈接 setBlur : 設置模糊 setShader : 設置著色器 setShadow : 設置陰影 setSpans : 設置樣式 append : 追加樣式字符串 appendLine : 追加一行樣式字符串 appendImage : 追加圖片 appendSpace : 追加空白 create : 創建樣式字符串
  • SP 相關 -> SPStaticUtils.java -> Demo

setDefaultSPUtils: 設置默認 SP 實例 put : SP 中寫入數據 getString : SP 中讀取 String getInt : SP 中讀取 int getLong : SP 中讀取 long getFloat : SP 中讀取 float getBoolean : SP 中讀取 boolean getAll : SP 中獲取所有鍵值對 contains : SP 中是否存在該 key remove : SP 中移除該 key clear : SP 中清除所有數據
  • SP 相關 -> SPUtils.java

getInstance : 獲取 SP 實例 Instance.put : SP 中寫入數據 Instance.getString : SP 中讀取 String Instance.getInt : SP 中讀取 int Instance.getLong : SP 中讀取 long Instance.getFloat : SP 中讀取 float Instance.getBoolean: SP 中讀取 boolean Instance.getAll : SP 中獲取所有鍵值對 Instance.contains : SP 中是否存在該 key Instance.remove : SP 中移除該 key Instance.clear : SP 中清除所有數據
  • 字符串相關 -> StringUtils.java -> Test

isEmpty : 判斷字符串是否為 null 或長度為 0 isTrimEmpty : 判斷字符串是否為 null 或全為空格 isSpace : 判斷字符串是否為 null 或全為空白字符 equals : 判斷兩字符串是否相等 equalsIgnoreCase: 判斷兩字符串忽略大小寫是否相等 null2Length0 : null 轉為長度為 0 的字符串 length : 返回字符串長度 upperFirstLetter: 首字母大寫 lowerFirstLetter: 首字母小寫 reverse : 反轉字符串 toDBC : 轉化為半角字符 toSBC : 轉化為全角字符
  • 線程相關 -> ThreadUtils.java -> Test

isMainThread : 判斷當前是否主線程 getFixedPool : 獲取固定線程池 getSinglePool : 獲取單線程池 getCachedPool : 獲取緩沖線程池 getIoPool : 獲取 IO 線程池 getCpuPool : 獲取 CPU 線程池 executeByFixed : 在固定線程池執行任務 executeByFixedWithDelay : 在固定線程池延時執行任務 executeByFixedAtFixRate : 在固定線程池按固定頻率執行任務 executeBySingle : 在單線程池執行任務 executeBySingleWithDelay: 在單線程池延時執行任務 executeBySingleAtFixRate: 在單線程池按固定頻率執行任務 executeByCached : 在緩沖線程池執行任務 executeByCachedWithDelay: 在緩沖線程池延時執行任務 executeByCachedAtFixRate: 在緩沖線程池按固定頻率執行任務 executeByIo : 在 IO 線程池執行任務 executeByIoWithDelay : 在 IO 線程池延時執行任務 executeByIoAtFixRate : 在 IO 線程池按固定頻率執行任務 executeByCpu : 在 CPU 線程池執行任務 executeByCpuWithDelay : 在 CPU 線程池延時執行任務 executeByCpuAtFixRate : 在 CPU 線程池按固定頻率執行任務 executeByCustom : 在自定義線程池執行任務 executeByCustomWithDelay: 在自定義線程池延時執行任務 executeByCustomAtFixRate: 在自定義線程池按固定頻率執行任務 cancel : 取消任務的執行 setDeliver : 設置任務結束后交付的線程
  • 時間相關 -> TimeUtils.java -> Test

millis2String : 將時間戳轉為時間字符串 string2Millis : 將時間字符串轉為時間戳 string2Date : 將時間字符串轉為 Date 類型 date2String : 將 Date 類型轉為時間字符串 date2Millis : 將 Date 類型轉為時間戳 millis2Date : 將時間戳轉為 Date 類型 getTimeSpan : 獲取兩個時間差(單位:unit) getFitTimeSpan : 獲取合適型兩個時間差 getNowMills : 獲取當前毫秒時間戳 getNowString : 獲取當前時間字符串 getNowDate : 獲取當前 Date getTimeSpanByNow : 獲取與當前時間的差(單位:unit) getFitTimeSpanByNow : 獲取合適型與當前時間的差 getFriendlyTimeSpanByNow: 獲取友好型與當前時間的差 getMillis : 獲取與給定時間等于時間差的時間戳 getString : 獲取與給定時間等于時間差的時間字符串 getDate : 獲取與給定時間等于時間差的 Date getMillisByNow : 獲取與當前時間等于時間差的時間戳 getStringByNow : 獲取與當前時間等于時間差的時間字符串 getDateByNow : 獲取與當前時間等于時間差的 Date isToday : 判斷是否今天 isLeapYear : 判斷是否閏年 getChineseWeek : 獲取中式星期 getUSWeek : 獲取美式式星期 isAm : 判斷是否上午 isPm : 判斷是否下午 getValueByCalendarField : 根據日歷字段獲取值 getChineseZodiac : 獲取生肖 getZodiac : 獲取星座
  • 吐司相關 -> ToastUtils.java -> Demo

setGravity : 設置吐司位置 setBgColor : 設置背景顏色 setBgResource : 設置背景資源 setMsgColor : 設置消息顏色 setMsgTextSize : 設置消息字體大小 showShort : 顯示短時吐司 showLong : 顯示長時吐司 showCustomShort: 顯示短時自定義吐司 showCustomLong : 顯示長時自定義吐司 cancel : 取消吐司顯示
  • URI 相關 -> UriUtils.java

file2Uri: file 轉 uri uri2File: uri 轉 file
  • 震動相關 -> [VibrateUtils.java][vibrate.java] -> [Demo][vibrate.demo]

vibrate: 震動 cancel : 取消
  • 視圖相關 -> [ViewUtils.java][view.java]

setViewEnabled : 設置視圖是否可用 runOnUiThread : 在 UI 線程運行 runOnUiThreadDelayed: 在 UI 線程延遲運行 isLayoutRtl : 布局是否從右到左 fixScrollViewTopping: 修復 ScrollView 置頂問題
  • 壓縮相關 -> [ZipUtils.java][zip.java] -> [Test][zip.test]

zipFiles : 批量壓縮文件 zipFile : 壓縮文件 unzipFile : 解壓文件 unzipFileByKeyword: 解壓帶有關鍵字的文件 getFilesPath : 獲取壓縮文件中的文件路徑鏈表 getComments : 獲取壓縮文件中的注釋鏈表

總結

以上是生活随笔為你收集整理的Android 超级工具类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。