Android开发万能Utils(工具大全)
AndroidUtils Android開發不得不收藏的Utils
之前寫這篇文章主要是項目應用到的Utils,發現已經有一個更全面的開源庫總結,所以還是非常震驚可以總結的這么全面,在此我準備重新梳理一遍~(一共兩個庫)
贈送源碼:https://github.com/Pangu-Immortal。
《最完整的Android逆向知識體系》
第一個庫:
Gradle:
implementation 'com.blankj:utilcode:1.30.6'// if u use AndroidX, use the following implementation 'com.blankj:utilcodex:1.30.6'Activity 相關 -> ActivityUtils.java -> Demo
addActivityLifecycleCallbacks : 增加 Activity 生命周期監聽 removeActivityLifecycleCallbacks: 移除 Activity 生命周期監聽 getAliveActivityByContext : 根據上下文獲取存活的 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 : 結束除最新之外的所有 ActivityAdaptScreen 相關 -> AdaptScreenUtils.java -> Demo
adaptWidth : 適配寬度 adaptHeight: 適配高度 closeAdapt : 關閉適配(pt 等同于 dp) pt2Px : pt 轉 px px2Pt : px 轉 ptApp 相關 -> AppUtils.java -> Demo
registerAppStatusChangedListener ?: 注冊 App 前后臺切換監聽器 unregisterAppStatusChangedListener: 注銷 App 前后臺切換監聽器 installApp ? ? ? ? ? ? ? ? ? ? ? ?: 安裝 App(支持 8.0) installAppSilent ? ? ? ? ? ? ? ? ?: 靜默安裝 App uninstallApp ? ? ? ? ? ? ? ? ? ? ?: 卸載 App uninstallAppSilent ? ? ? ? ? ? ? ?: 靜默卸載 App isAppInstalled ? ? ? ? ? ? ? ? ? ?: 判斷 App 是否安裝 isAppRoot ? ? ? ? ? ? ? ? ? ? ? ? : 判斷 App 是否有 root 權限 isAppDebug ? ? ? ? ? ? ? ? ? ? ? ?: 判斷 App 是否是 Debug 版本 isAppSystem ? ? ? ? ? ? ? ? ? ? ? : 判斷 App 是否是系統應用 isAppForeground ? ? ? ? ? ? ? ? ? : 判斷 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 信息欄相關 -> BarUtils.java -> Demo
getStatusBarHeight ? ? ? ? ? ? ? ? ? : 獲取狀態欄高度(px) setStatusBarVisibility ? ? ? ? ? ? ? : 設置狀態欄是否可見 isStatusBarVisible ? ? ? ? ? ? ? ? ? : 判斷狀態欄是否可見 setStatusBarLightMode ? ? ? ? ? ? ? ?: 設置狀態欄是否為淺色模式 addMarginTopEqualStatusBarHeight ? ? : 為 view 增加 MarginTop 為狀態欄高度 subtractMarginTopEqualStatusBarHeight: 為 view 減少 MarginTop 為狀態欄高度 setStatusBarColor ? ? ? ? ? ? ? ? ? ?: 設置狀態欄顏色 setStatusBarAlpha ? ? ? ? ? ? ? ? ? ?: 設置狀態欄透明度 setStatusBarColor4Drawer ? ? ? ? ? ? : 為 DrawerLayout 設置狀態欄顏色 setStatusBarAlpha4Drawer ? ? ? ? ? ? : 為 DrawerLayout 設置狀態欄透明度 getActionBarHeight ? ? ? ? ? ? ? ? ? : 獲取 ActionBar 高度 setNotificationBarVisibility ? ? ? ? : 設置通知欄是否可見 getNavBarHeight ? ? ? ? ? ? ? ? ? ? ?: 獲取導航欄高度 setNavBarVisibility ? ? ? ? ? ? ? ? ?: 設置導航欄是否可見 isNavBarVisible ? ? ? ? ? ? ? ? ? ? ?: 判斷導航欄是否可見 setNavBarColor ? ? ? ? ? ? ? ? ? ? ? : 設置導航欄顏色 getNavBarColor ? ? ? ? ? ? ? ? ? ? ? : 獲取導航欄顏色 isSupportNavBar ? ? ? ? ? ? ? ? ? ? ?: 判斷是否支持導航欄磁盤緩存相關 -> 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 ? ? ? ? ?: 清除所有緩存二級緩存相關 -> 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 ? ? ? ? ? ? ?: 清除所有緩存內存緩存相關 -> 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 ? ? ? : 清除自定義目錄下的文件關閉相關 -> CloseUtils.java
closeIO ? ? ? : 關閉 IO closeIOQuietly: 安靜關閉 IO轉換相關 -> 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 shutdown ? ? ? ? : 關機 reboot ? ? ? ? ? : 重啟 reboot2Recovery ?: 重啟到 recovery reboot2Bootloader: 重啟到 bootloader編碼解碼相關 -> 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 ? ? ? ? ?: 根據全路徑獲取文件拓展名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 ? ? ? ? : 設置背景圖片相關 -> 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 ? ? ? ? ? ?: 按采樣大小壓縮意圖相關 -> IntentUtils.java
isIntentAvailable ? ? ? ? ? ? ? ?: 判斷意圖是否可用 getInstallAppIntent ? ? ? ? ? ? ?: 獲取安裝 App(支持 6.0)的意圖 getUninstallAppIntent ? ? ? ? ? ?: 獲取卸載 App 的意圖 getLaunchAppIntent ? ? ? ? ? ? ? : 獲取打開 App 的意圖 getLaunchAppDetailsSettingsIntent: 獲取 App 具體設置的意圖 getShareTextIntent ? ? ? ? ? ? ? : 獲取分享文本的意圖 getShareImageIntent ? ? ? ? ? ? ?: 獲取分享圖片的意圖 getComponentIntent ? ? ? ? ? ? ? : 獲取其他應用組件的意圖 getShutdownIntent ? ? ? ? ? ? ? ?: 獲取關機的意圖 getCaptureIntent ? ? ? ? ? ? ? ? : 獲取拍照的意圖鍵盤相關 -> KeyboardUtils.java -> Demo
showSoftInput ? ? ? ? ? ? ? ? ? ? : 顯示軟鍵盤 showSoftInputUsingToggle ? ? ? ? ?: 顯示軟鍵盤用 toggle hideSoftInput ? ? ? ? ? ? ? ? ? ? : 隱藏軟鍵盤 hideSoftInputUsingToggle ? ? ? ? ?: 隱藏軟鍵盤用 toggle toggleSoftInput ? ? ? ? ? ? ? ? ? : 切換鍵盤顯示與否狀態 isSoftInputVisible ? ? ? ? ? ? ? ?: 判斷軟鍵盤是否可見 registerSoftInputChangedListener ?: 注冊軟鍵盤改變監聽器 unregisterSoftInputChangedListener: 注銷軟鍵盤改變監聽器 fixAndroidBug5497 ? ? ? ? ? ? ? ? : 修復安卓 5497 BUG fixSoftInputLeaks ? ? ? ? ? ? ? ? : 修復軟鍵盤內存泄漏 clickBlankArea2HideSoftInput ? ? ?: 點擊屏幕空白區域隱藏軟鍵盤日志相關 -> 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 字符串之 xmlMetaData 相關 -> MetaDataUtils.java -> Demo
getMetaDataInApp ? ? : 獲取 application 的 meta-data 值 getMetaDataInActivity: 獲取 activity 的 meta-data 值 getMetaDataInService : 獲取 service 的 meta-data 值 getMetaDataInReceiver: 獲取 receiver 的 meta-data 值網絡相關 -> NetworkUtils.java -> Demo
openWirelessSettings ?: 打開網絡設置界面 isConnected ? ? ? ? ? : 判斷網絡是否連接 isAvailableByPing ? ? : 判斷網絡是否可用 getMobileDataEnabled ?: 判斷移動數據是否打開 setMobileDataEnabled ?: 打開或關閉移動數據 isMobileData ? ? ? ? ?: 判斷網絡是否是移動數據 is4G ? ? ? ? ? ? ? ? ?: 判斷網絡是否是 4G getWifiEnabled ? ? ? ?: 判斷 wifi 是否打開 setWifiEnabled ? ? ? ?: 打開或關閉 wifi isWifiConnected ? ? ? : 判斷 wifi 是否連接狀態 isWifiAvailable ? ? ? : 判斷 wifi 數據是否可用 getNetworkOperatorName: 獲取移動網絡運營商名稱 getNetworkType ? ? ? ?: 獲取當前網絡類型 getIPAddress ? ? ? ? ?: 獲取 IP 地址 getDomainAddress ? ? ?: 獲取域名 IP 地址 getIpAddressByWifi ? ?: 根據 WiFi 獲取網絡 IP 地址 getGatewayByWifi ? ? ?: 根據 WiFi 獲取網關 IP 地址 getNetMaskByWifi ? ? ?: 根據 WiFi 獲取子網掩碼 IP 地址 getServerAddressByWifi: 根據 WiFi 獲取服務端 IP 地址對象相關 -> 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
手機相關 -> PhoneUtils.java -> Demo
isPhone ? ? ? ? ? ?: 判斷設備是否是手機 getDeviceId ? ? ? ?: 獲取設備碼 getSerial ? ? ? ? ?: 獲取序列號 getIMEI ? ? ? ? ? ?: 獲取 IMEI 碼 getMEID ? ? ? ? ? ?: 獲取 MEID 碼 getIMSI ? ? ? ? ? ?: 獲取 IMSI 碼 getPhoneType ? ? ? : 獲取移動終端類型 isSimCardReady ? ? : 判斷 sim 卡是否準備好 getSimOperatorName : 獲取 Sim 卡運營商名稱 getSimOperatorByMnc: 獲取 Sim 卡運營商名稱 getPhoneStatus ? ? : 獲取手機狀態信息 dial ? ? ? ? ? ? ? : 跳至撥號界面 call ? ? ? ? ? ? ? : 撥打 phoneNumber sendSms ? ? ? ? ? ?: 跳至發送短信界面 sendSmsSilent ? ? ?: 發送短信進程相關 -> 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 中按行讀取字符串屏幕相關 -> ScreenUtils.java -> Demo
getScreenWidth ? ? : 獲取屏幕的寬度(單位:px) getScreenHeight ? ?: 獲取屏幕的高度(單位:px) getScreenDensity ? : 獲取屏幕密度 getScreenDensityDpi: 獲取屏幕密度 DPI setFullScreen ? ? ?: 設置屏幕為全屏 setNonFullScreen ? : 設置屏幕為非全屏 toggleFullScreen ? : 切換屏幕為全屏與否狀態 isFullScreen ? ? ? : 判斷屏幕是否為全屏 setLandscape ? ? ? : 設置屏幕為橫屏 setPortrait ? ? ? ?: 設置屏幕為豎屏 isLandscape ? ? ? ?: 判斷是否橫屏 isPortrait ? ? ? ? : 判斷是否豎屏 getScreenRotation ?: 獲取屏幕旋轉角度 screenShot ? ? ? ? : 截屏 isScreenLock ? ? ? : 判斷是否鎖屏 setSleepDuration ? : 設置進入休眠時長 getSleepDuration ? : 獲取進入休眠時長 isTablet ? ? ? ? ? : 判斷是否是平板SD 卡相關 -> SDCardUtils.java -> Demo
isSDCardEnableByEnvironment: 根據 Environment 判斷 SD 卡是否可用 getSDCardPathByEnvironment : 根據 Environment 獲取 SD 卡路徑 isSDCardEnable ? ? ? ? ? ? : 判斷 SD 卡是否可用 getSDCardPaths ? ? ? ? ? ? : 獲取 SD 卡路徑服務相關 -> ServiceUtils.java
getAllRunningServices: 獲取所有運行的服務 startService ? ? ? ? : 啟動服務 stopService ? ? ? ? ?: 停止服務 bindService ? ? ? ? ?: 綁定服務 unbindService ? ? ? ?: 解綁服務 isServiceRunning ? ? : 判斷服務是否運行Shell 相關 -> ShellUtils.java
execCmd: 是否是在 root 下執行命令尺寸相關 -> 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
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 相關 -> SPUtils.java -> Demo
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 ? ? ? ? ? ? ? ? ?: 取消任務的執行時間相關 -> 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 ? ? ? ? ? ? ? : 獲取美式式星期 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壓縮相關 -> ZipUtils.java -> Test
zipFiles ? ? ? ? ?: 批量壓縮文件 zipFile ? ? ? ? ? : 壓縮文件 unzipFile ? ? ? ? : 解壓文件 unzipFileByKeyword: 解壓帶有關鍵字的文件 getFilesPath ? ? ?: 獲取壓縮文件中的文件路徑鏈表 getComments ? ? ? : 獲取壓縮文件中的注釋鏈表
第二個庫(第二個為不常用庫):
點擊此處:選擇并拷貝你需要用到的類到你項目中即可。https://github.com/Blankj/AndroidUtilCode/tree/master/subutil/lib/src/main/java/com/blankj/subutil/util
APIs
亮度相關 -> BrightnessUtils.java -> Demo
剪貼板相關 -> ClipboardUtils.java -> Test
copyText ?: 復制文本到剪貼板 getText ? : 獲取剪貼板的文本 copyUri ? : 復制 uri 到剪貼板 getUri ? ?: 獲取剪貼板的 uri copyIntent: 復制意圖到剪貼板 getIntent : 獲取剪貼板的意圖克隆相關 -> CloneUtils.java -> Test
deepClone: 深度克隆坐標轉換相關 -> CoordinateUtils.java -> Test
bd09ToGcj02 : BD09 坐標轉 GCJ02 坐標 gcj02ToBd09 : GCJ02 坐標轉 BD09 坐標 gcj02ToWGS84: GCJ02 坐標轉 WGS84 坐標 wgs84ToGcj02: WGS84 坐標轉 GCJ02 坐標 bd09ToWGS84 : BD09 坐標轉 WGS84 坐標 wgs84ToBd09 : WGS84 坐標轉 BD09 坐標閃光燈相關 -> FlashlightUtils.java -> Demo
getInstance ? ? ? ? ? ? ?: 獲取閃光燈實例 Instance.register ? ? ? ?: 注冊 Instance.unregister ? ? ?: 注銷 Instance.setFlashlightOn : 打開閃光燈 Instance.setFlashlightOff: 關閉閃光燈 Instance.isFlashlightOn ?: 判斷閃光燈是否打開 isFlashlightEnable ? ? ? : 判斷設備是否支持閃光燈Gson 相關 -> GsonUtils.java -> Test
getGson : 獲取 Gson 對象 toJson ?: 對象轉 Json 串 fromJson: Json 串轉對象定位相關 -> LocationUtils.java -> Demo
isGpsEnabled ? ? : 判斷 Gps 是否可用 isLocationEnabled: 判斷定位是否可用 openGpsSettings ?: 打開 Gps 設置界面 register ? ? ? ? : 注冊 unregister ? ? ? : 注銷 getAddress ? ? ? : 根據經緯度獲取地理位置 getCountryName ? : 根據經緯度獲取所在國家 getLocality ? ? ?: 根據經緯度獲取所在地 getStreet ? ? ? ?: 根據經緯度獲取所在街道 isBetterLocation : 是否更好的位置 isSameProvider ? : 是否相同的提供者拼音相關 -> PinyinUtils.java -> Demo
ccs2Pinyin ? ? ? ? ? : 漢字轉拼音 ccs2Pinyin ? ? ? ? ? : 漢字轉拼音 getPinyinFirstLetter : 獲取第一個漢字首字母 getPinyinFirstLetters: 獲取所有漢字的首字母 getSurnamePinyin ? ? : 根據名字獲取姓氏的拼音 getSurnameFirstLetter: 根據名字獲取姓氏的首字母https://github.com/Pangu-Immortal 🔥免root實現 Android改機(一鍵新機)技術解密,微信無限多開等。
《最完整的Android逆向知識體系》
總結
以上是生活随笔為你收集整理的Android开发万能Utils(工具大全)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: gradle使用技巧之全局变量
- 下一篇: 异步编程:JDeferred 2.x 的