https://github.com/Blankj/AndroidUtilCode
API
-
Activity相關→ActivityUtils.java→Demo
isActivityExists : 判斷是否存在Activity
startActivity : 打開Activity
getLauncherActivity: 獲取入口activity
getTopActivity : 獲取棧頂Activity
isInstallApp : 判斷App是否安裝
installApp : 安裝App(支持7.0)
installAppSilent : 靜默安裝App
uninstallApp : 卸載App
uninstallAppSilent : 靜默卸載App
isAppRoot : 判斷App是否有root權限
launchApp : 打開App
getAppPackageName : 獲取App包名
getAppDetailsSettings: 獲取App具體設置
getAppName : 獲取App名稱
getAppIcon : 獲取App圖標
getAppPath : 獲取App路徑
getAppVersionName : 獲取App版本號
getAppVersionCode : 獲取App版本碼
isSystemApp : 判斷App是否是系統應用
isAppDebug : 判斷App是否是Debug版本
getAppSignature : 獲取App簽名
getAppSignatureSHA1 : 獲取應用簽名的的SHA1值
isAppForeground : 判斷App是否處于前臺
getForegroundApp : 獲取前臺應用包名
getAppInfo : 獲取App信息
getAppsInfo : 獲取所有已安裝App信息
cleanAppData : 清除App所有數據
setStatusBarColor : 設置狀態欄顏色
setStatusBarAlpha : 設置狀態欄透明度
setTransparentStatusBar: 設置透明狀態欄(api大于19方可使用)
hideStatusBar : 隱藏狀態欄
getStatusBarHeight : 獲取狀態欄高度
isStatusBarExists : 判斷狀態欄是否存在
getActionBarHeight : 獲取ActionBar高度
showNotificationBar : 顯示通知欄
hideNotificationBar : 隱藏通知欄
-
緩存相關→CacheUtils.java→Test
getInstance : 獲取緩存實例
put : 緩存中寫入數據
getBytes : 緩存中讀取字節數組
getString : 緩存中讀取String
getJSONObject : 緩存中讀取JSONObject
getJSONArray : 緩存中讀取JSONArray
getBitmap : 緩存中讀取Bitmap
getDrawable : 緩存中讀取Drawable
getParcelable : 緩存中讀取Parcelable
getSerializable: 緩存中讀取Serializable
getCacheSize : 獲取緩存大小
getCacheCount : 獲取緩存個數
remove : 根據鍵值移除緩存
clear : 清除所有緩存
-
清除相關→CleanUtils.java→Demo
cleanInternalCache : 清除內部緩存
cleanInternalFiles : 清除內部文件
cleanInternalDbs : 清除內部數據庫
cleanInternalDbByName: 根據名稱清除數據庫
cleanInternalSP : 清除內部SP
cleanExternalCache : 清除外部緩存
cleanCustomCache : 清除自定義目錄下的文件
-
剪貼板相關→ClipboardUtils.java
copyText : 復制文本到剪貼板
getText : 獲取剪貼板的文本
copyUri : 復制uri到剪貼板
getUri : 獲取剪貼板的uri
copyIntent: 復制意圖到剪貼板
getIntent : 獲取剪貼板的意圖
closeIO : 關閉IO
closeIOQuietly: 安靜關閉IO
-
轉換相關→ConvertUtils.java→Test
bytes2HexString, hexString2Bytes : byteArr與hexString互轉
chars2Bytes, bytes2Chars : charArr與byteArr互轉
memorySize2Byte, byte2MemorySize : 以unit為單位的內存大小與字節數互轉
byte2FitMemorySize : 字節數轉合適內存大小
timeSpan2Millis, millis2TimeSpan : 以unit為單位的時間長度與毫秒時間戳互轉
millis2FitTimeSpan : 毫秒時間戳轉合適時間長度
bytes2Bits, bits2Bytes : bytes與bits互轉
input2OutputStream, output2InputStream : inputStream與outputStream互轉
inputStream2Bytes, bytes2InputStream : inputStream與byteArr互轉
outputStream2Bytes, bytes2OutputStream : outputStream與byteArr互轉
inputStream2String, string2InputStream : inputStream與string按編碼互轉
outputStream2String, string2OutputStream: outputStream與string按編碼互轉
bitmap2Bytes, bytes2Bitmap : bitmap與byteArr互轉
drawable2Bitmap, bitmap2Drawable : drawable與bitmap互轉
drawable2Bytes, bytes2Drawable : drawable與byteArr互轉
view2Bitmap : view轉Bitmap
dp2px, px2dp : dp與px互轉
sp2px, px2sp : sp與px互轉
init: 初始化
-
設備相關→DeviceUtils.java→Demo
isDeviceRooted : 判斷設備是否rooted
getSDKVersion : 獲取設備系統版本號
getAndroidID : 獲取設備AndroidID
getMacAddress : 獲取設備MAC地址
getManufacturer : 獲取設備廠商
getModel : 獲取設備型號
shutdown : 關機
reboot : 重啟
reboot2Recovery : 重啟到recovery
reboot2Bootloader: 重啟到bootloader
-
判空相關→EmptyUtils.java→Test
isEmpty : 判斷對象是否為空
isNotEmpty: 判斷對象是否非空
-
編碼解碼相關→EncodeUtils.java→Test
urlEncode : URL編碼
urlDecode : URL解碼
base64Encode : Base64編碼
base64Encode2String: Base64編碼
base64Decode : Base64解碼
base64UrlSafeEncode: Base64URL安全編碼
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解密
-
文件相關→FileIOUtils.java→Test
writeFileFromIS : 將輸入流寫入文件
writeFileFromBytesByStream : 將字節數組寫入文件
writeFileFromBytesByChannel: 將字節數組寫入文件
writeFileFromBytesByMap : 將字節數組寫入文件
writeFileFromString : 將字符串寫入文件
readFile2List : 讀取文件到字符串鏈表中
readFile2String : 讀取文件到字符串中
readFile2BytesByStream : 讀取文件到字節數組中
readFile2BytesByChannel : 讀取文件到字節數組中
readFile2BytesByMap : 讀取文件到字節數組中
setBufferSize : 設置緩沖區尺寸
getFileByPath : 根據文件路徑獲取文件
isFileExists : 判斷文件是否存在
rename : 重命名文件
isDir : 判斷是否是目錄
isFile : 判斷是否是文件
createOrExistsDir : 判斷目錄是否存在,不存在則判斷是否創建成功
createOrExistsFile : 判斷文件是否存在,不存在則判斷是否創建成功
createFileByDeleteOldFile: 判斷文件是否存在,存在則在創建之前刪除
copyDir : 復制目錄
copyFile : 復制文件
moveDir : 移動目錄
moveFile : 移動文件
deleteDir : 刪除目錄
deleteFile : 刪除文件
listFilesInDir : 獲取目錄下所有文件
listFilesInDir : 獲取目錄下所有文件包括子目錄
listFilesInDirWithFilter : 獲取目錄下所有后綴名為suffix的文件
listFilesInDirWithFilter : 獲取目錄下所有后綴名為suffix的文件包括子目錄
listFilesInDirWithFilter : 獲取目錄下所有符合filter的文件
listFilesInDirWithFilter : 獲取目錄下所有符合filter的文件包括子目錄
searchFileInDir : 獲取目錄下指定文件名的文件包括子目錄
getFileLastModified : 獲取文件最后修改的毫秒時間戳
getFileCharsetSimple : 簡單獲取文件編碼格式
getFileLines : 獲取文件行數
getDirSize : 獲取目錄大小
getFileSize : 獲取文件大小
getDirLength : 獲取目錄長度
getFileLength : 獲取文件長度
getFileMD5 : 獲取文件的MD5校驗碼
getFileMD5ToString : 獲取文件的MD5校驗碼
getDirName : 根據全路徑獲取最長目錄
getFileName : 根據全路徑獲取文件名
getFileNameNoExtension : 根據全路徑獲取文件名不帶拓展名
getFileExtension : 根據全路徑獲取文件拓展名
-
Fragment相關→FragmentUtils.java→Demo
addFragment : 新增fragment
hideAddFragment : 先隱藏后新增fragment
addFragments : 新增多個fragment
removeFragment : 移除fragment
removeToFragment : 移除到指定fragment
removeFragments : 移除同級別fragment
removeAllFragments : 移除所有fragment
replaceFragment : 替換fragment
popFragment : 出棧fragment
popToFragment : 出棧到指定fragment
popFragments : 出棧同級別fragment
popAllFragments : 出棧所有fragment
popAddFragment : 先出棧后新增fragment
hideFragment : 隱藏fragment
hideFragments : 隱藏同級別fragment
showFragment : 顯示fragment
hideShowFragment : 先隱藏后顯示fragment
getLastAddFragment : 獲取同級別最后加入的fragment
getLastAddFragmentInStack: 獲取棧中同級別最后加入的fragment
getTopShowFragment : 獲取頂層可見fragment
getTopShowFragmentInStack: 獲取棧中頂層可見fragment
getFragments : 獲取同級別fragment
getFragmentsInStack : 獲取棧中同級別fragment
getAllFragments : 獲取所有fragment
getAllFragmentsInStack : 獲取棧中所有fragment
getPreFragment : 獲取目標fragment的前一個fragment
findFragment : 查找fragment
dispatchBackPress : 處理fragment回退鍵
setBackgroundColor : 設置背景色
setBackgroundResource : 設置背景資源
setBackground : 設置背景
-
圖片相關→ImageUtils.java→Demo
bitmap2Bytes, bytes2Bitmap : bitmap與byteArr互轉
drawable2Bitmap, bitmap2Drawable: drawable與bitmap互轉
drawable2Bytes, bytes2Drawable : drawable與byteArr互轉
getBitmap : 獲取bitmap
scale : 縮放圖片
clip : 裁剪圖片
skew : 傾斜圖片
rotate : 旋轉圖片
getRotateDegree : 獲取圖片旋轉角度
toRound : 轉為圓形圖片
toRoundCorner : 轉為圓角圖片
fastBlur : 快速模糊
renderScriptBlur : renderScript模糊圖片
stackBlur : stack模糊圖片
addFrame : 添加顏色邊框
addReflection : 添加倒影
addTextWatermark : 添加文字水印
addImageWatermark : 添加圖片水印
toAlpha : 轉為alpha位圖
toGray : 轉為灰度圖片
save : 保存圖片
isImage : 根據文件名判斷文件是否為圖片
getImageType : 獲取圖片類型
compressByScale : 按縮放壓縮
compressByQuality : 按質量壓縮
compressBySampleSize : 按采樣大小壓縮
getInstallAppIntent : 獲取安裝App(支持6.0)的意圖
getUninstallAppIntent : 獲取卸載App的意圖
getLaunchAppIntent : 獲取打開App的意圖
getAppDetailsSettingsIntent: 獲取App具體設置的意圖
getShareTextIntent : 獲取分享文本的意圖
getShareImageIntent : 獲取分享圖片的意圖
getComponentIntent : 獲取其他應用組件的意圖
getShutdownIntent : 獲取關機的意圖
getCaptureIntent : 獲取拍照的意圖
-
鍵盤相關→KeyboardUtils.java→Demo
showSoftInput : 動態顯示軟鍵盤
hideSoftInput : 動態隱藏軟鍵盤
toggleSoftInput : 切換鍵盤顯示與否狀態
clickBlankArea2HideSoftInput: 點擊屏幕空白區域隱藏軟鍵盤
Builder.setLogSwitch : 設置log總開關
Builder.setConsoleSwitch : 設置log控制臺開關
Builder.setGlobalTag : 設置log全局tag
Builder.setLogHeadSwitch : 設置log頭部信息開關
Builder.setLog2FileSwitch: 設置log文件開關
Builder.setDir : 設置log文件存儲目錄
Builder.setBorderSwitch : 設置log邊框開關
Builder.setConsoleFilter : 設置log控制臺過濾器
Builder.setFileFilter : 設置log文件過濾器
v : Verbose日志
d : Debug日志
i : Info日志
w : Warn日志
e : Error日志
a : Assert日志
file : log到文件
json : log字符串之json
xml : log字符串之xml
-
網絡相關→NetworkUtils.java→Demo
openWirelessSettings : 打開網絡設置界面
isConnected : 判斷網絡是否連接
isAvailableByPing : 判斷網絡是否可用
getDataEnabled : 判斷移動數據是否打開
setDataEnabled : 打開或關閉移動數據
is4G : 判斷網絡是否是4G
getWifiEnabled : 判斷wifi是否打開
setWifiEnabled : 打開或關閉wifi
isWifiConnected : 判斷wifi是否連接狀態
isWifiAvailable : 判斷wifi數據是否可用
getNetworkOperatorName: 獲取移動網絡運營商名稱
getNetworkType : 獲取當前網絡類型
getIPAddress : 獲取IP地址
getDomainAddress : 獲取域名ip地址
-
手機相關→PhoneUtils.java→Demo
isPhone : 判斷設備是否是手機
getIMEI : 獲取IMEI碼
getIMSI : 獲取IMSI碼
getPhoneType : 獲取移動終端類型
isSimCardReady : 判斷sim卡是否準備好
getSimOperatorName : 獲取Sim卡運營商名稱
getSimOperatorByMnc: 獲取Sim卡運營商名稱
getPhoneStatus : 獲取手機狀態信息
dial : 跳至撥號界面
call : 撥打phoneNumber
sendSms : 跳至發送短信界面
sendSmsSilent : 發送短信
getAllContactInfo : 獲取手機聯系人
getContactNum : 打開手機聯系人界面點擊聯系人后便獲取該號碼
getAllSMS : 獲取手機短信并保存到xml中
-
進程相關→ProcessUtils.java→Demo
getForegroundProcessName : 獲取前臺線程包名
killAllBackgroundProcesses: 殺死所有的后臺服務進程
killBackgroundProcesses : 殺死后臺服務進程
-
正則相關→RegexUtils.java→Test
isMobileSimple : 驗證手機號(簡單)
isMobileExact : 驗證手機號(精確)
isTel : 驗證電話號碼
isIDCard15 : 驗證身份證號碼15位
isIDCard18 : 驗證身份證號碼18位
isEmail : 驗證郵箱
isURL : 驗證URL
isZh : 驗證漢字
isUsername : 驗證用戶名
isDate : 驗證yyyy-MM-dd格式的日期校驗,已考慮平閏年
isIP : 驗證IP地址
isMatch : 判斷是否匹配正則
getMatches : 獲取正則匹配的部分
getSplits : 獲取正則匹配分組
getReplaceFirst: 替換正則匹配的第一部分
getReplaceAll : 替換所有正則匹配的部分
getScreenWidth : 獲取屏幕的寬度(單位:px)
getScreenHeight : 獲取屏幕的高度(單位:px)
setLandscape : 設置屏幕為橫屏
setPortrait : 設置屏幕為豎屏
isLandscape : 判斷是否橫屏
isPortrait : 判斷是否豎屏
getScreenRotation : 獲取屏幕旋轉角度
captureWithStatusBar : 獲取當前屏幕截圖,包含狀態欄
captureWithoutStatusBar: 獲取當前屏幕截圖,不包含狀態欄
isScreenLock : 判斷是否鎖屏
-
SD卡相關→SDCardUtils.java→Demo
isSDCardEnable: 判斷SD卡是否可用
getSDCardPath : 獲取SD卡路徑
getDataPath : 獲取SD卡Data路徑
getFreeSpace : 計算SD卡的剩余空間
getSDCardInfo : 獲取SD卡信息
getAllRunningService: 獲取所有運行的服務
startService : 啟動服務
stopService : 停止服務
bindService : 綁定服務
unbindService : 解綁服務
isServiceRunning : 判斷服務是否運行
execCmd: 是否是在root下執行命令
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 : 設置列表標記
setIconMargin : 設置圖標
setFontSize : 設置字體尺寸
setFontProportion : 設置字體比例
setFontXProportion: 設置字體橫向比例
setStrikethrough : 設置刪除線
setUnderline : 設置下劃線
setSuperscript : 設置上標
setSubscript : 設置下標
setBold : 設置粗體
setItalic : 設置斜體
setBoldItalic : 設置粗斜體
setFontFamily : 設置字體系列
setTypeface : 設置字體
setAlign : 設置對齊
setClickSpan : 設置點擊事件
setUrl : 設置超鏈接
setBlur : 設置模糊
setShader : 設置著色器
setShadow : 設置陰影
setSpans : 設置樣式
append : 追加樣式字符串
appendLine : 追加一行樣式字符串
appendImage : 追加圖片
appendSpace : 追加空白
create : 創建樣式字符串
getInstance: 獲取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中清除所有數據
-
字符串相關→StringUtils.java→Test
isEmpty : 判斷字符串是否為null或長度為0
isTrimEmpty : 判斷字符串是否為null或全為空格
isSpace : 判斷字符串是否為null或全為空白字符
equals : 判斷兩字符串是否相等
equalsIgnoreCase: 判斷兩字符串忽略大小寫是否相等
null2Length0 : null轉為長度為0的字符串
length : 返回字符串長度
upperFirstLetter: 首字母大寫
lowerFirstLetter: 首字母小寫
reverse : 反轉字符串
toDBC : 轉化為半角字符
toSBC : 轉化為全角字符
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 : 獲取美式式星期
getWeekIndex : 獲取星期索引
getWeekOfMonth : 獲取月份中的第幾周
getWeekOfYear : 獲取年份中的第幾周
getChineseZodiac : 獲取生肖
getZodiac : 獲取星座
-
吐司相關→ToastUtils.java→Demo
setGravity : 設置吐司位置
setView : 設置吐司view
getView : 獲取吐司view
setBgColor : 設置背景顏色
setBgResource : 設置背景資源
setMessageColor : 設置消息顏色
showShortSafe : 安全地顯示短時吐司
showLongSafe : 安全地顯示長時吐司
showShort : 顯示短時吐司
showLong : 顯示長時吐司
showCustomShortSafe: 安全地顯示短時自定義吐司
showCustomLongSafe : 安全地顯示長時自定義吐司
showCustomShort : 顯示短時自定義吐司
showCustomLong : 顯示長時自定義吐司
cancel : 取消吐司顯示
zipFiles : 批量壓縮文件
zipFile : 壓縮文件
unzipFiles : 批量解壓文件
unzipFile : 解壓文件
unzipFileByKeyword: 解壓帶有關鍵字的文件
getFilesPath : 獲取壓縮文件中的文件路徑鏈表
getComments : 獲取壓縮文件中的注釋鏈表
getEntries : 獲取壓縮文件中的文件對象
About
Download
Gradle:
compile
'com.blankj:utilcode:1.7.1'
How to use
// init it in the function of onCreate in ur Application
Utils.init(context);
Proguard
-keep class com.blankj.utilcode.** { *; }
-keepclassmembers class com.blankj.utilcode.** { *; }
-dontwarn com.blankj.utilcode.**
總結
以上是生活随笔為你收集整理的分享一个整理了很多Android开发工具类的链接AndroidUtilCode的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。