Android開發人員不得不收集的程式碼(持續更新中)
阿新 • • 發佈:2019-01-10
Download
Gradle:
compile 'com.blankj:utilcode:1.10.0'
How to use
// init it in the function of onCreate in ur Application
Utils.init(application);
Proguard
-keep class com.blankj.utilcode.** { *; }
-keepclassmembers class com.blankj.utilcode.** { *; }
-dontwarn com.blankj.utilcode.**
APIs
isActivityExists : 判斷 Activity 是否存在 startActivity : 啟動 Activity startActivities : 啟動多個 Activity startHomeActivity : 回到桌面 getActivityList : 獲取 Activity 棧連結串列 getLauncherActivity : 獲取啟動項 Activity getTopActivity : 獲取棧頂 Activity isActivityExistsInStack : 判斷 Activity 是否存在棧中 finishActivity : 結束 Activity finishToActivity : 結束到指定 Activity finishOtherActivities : 結束所有其他型別的 Activity finishAllActivities : 結束所有 Activity finishAllActivitiesExceptNewest: 結束除最新之外的所有 Activity
isInstallApp : 判斷 App 是否安裝
installApp : 安裝 App(支援 8.0)
installAppSilent : 靜默安裝 App
uninstallApp : 解除安裝 App
uninstallAppSilent : 靜默解除安裝 App
isAppRoot : 判斷 App 是否有 root 許可權
launchApp : 開啟 App
exitApp : 關閉應用
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 所有資料
getStatusBarHeight : 獲取狀態列高度(px)
setStatusBarVisibility : 設定狀態列是否可見
isStatusBarVisible : 判斷狀態列是否可見
addMarginTopEqualStatusBarHeight : 為 view 增加 MarginTop 為狀態列高度
subtractMarginTopEqualStatusBarHeight: 為 view 減少 MarginTop 為狀態列高度
setStatusBarColor : 設定狀態列顏色
setStatusBarAlpha : 設定狀態列透明度
setStatusBarColor4Drawer : 為 DrawerLayout 設定狀態列顏色
setStatusBarAlpha4Drawer : 為 DrawerLayout 設定狀態列透明度
getActionBarHeight : 獲取 ActionBar 高度
setNotificationBarVisibility : 設定通知欄是否可見
getNavBarHeight : 獲取導航欄高度
setNavBarVisibility : 設定導航欄是否可見
setNavBarImmersive : 設定導航欄沉浸式
isNavBarVisible : 判斷導航欄是否可見
getInstance : 獲取快取例項
put : 快取中寫入資料
getBytes : 快取中讀取位元組陣列
getString : 快取中讀取 String
getJSONObject : 快取中讀取 JSONObject
getJSONArray : 快取中讀取 JSONArray
getBitmap : 快取中讀取 Bitmap
getDrawable : 快取中讀取 Drawable
getParcelable : 快取中讀取 Parcelable
getSerializable: 快取中讀取 Serializable
getCacheSize : 獲取快取大小
getCacheCount : 獲取快取個數
remove : 根據鍵值移除快取
clear : 清除所有快取
cleanInternalCache : 清除內部快取
cleanInternalFiles : 清除內部檔案
cleanInternalDbs : 清除內部資料庫
cleanInternalDbByName: 根據名稱清除資料庫
cleanInternalSP : 清除內部 SP
cleanExternalCache : 清除外部快取
cleanCustomCache : 清除自定義目錄下的檔案
closeIO : 關閉 IO
closeIOQuietly: 安靜關閉 IO
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: 初始化
isDeviceRooted : 判斷裝置是否 rooted
getSDKVersion : 獲取裝置系統版本號
getAndroidID : 獲取裝置 AndroidID
getMacAddress : 獲取裝置 MAC 地址
getManufacturer : 獲取裝置廠商
getModel : 獲取裝置型號
shutdown : 關機
reboot : 重啟
reboot2Recovery : 重啟到 recovery
reboot2Bootloader: 重啟到 bootloader
isEmpty : 判斷物件是否為空
isNotEmpty: 判斷物件是否非空
urlEncode : URL 編碼
urlDecode : URL 解碼
base64Encode : Base64 編碼
base64Encode2String: Base64 編碼
base64Decode : Base64 解碼
base64UrlSafeEncode: Base64URL 安全編碼
htmlEncode : Html 編碼
htmlDecode : Html 解碼
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 解密
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 : 刪除檔案
deleteAllInDir : 刪除目錄下所有東西
deleteFilesInDir : 刪除目錄下所有檔案
deleteFilesInDirWithFilter: 刪除目錄下所有過濾的檔案
listFilesInDir : 獲取目錄下所有檔案
listFilesInDirWithFilter : 獲取目錄下所有過濾的檔案
getFileLastModified : 獲取檔案最後修改的毫秒時間戳
getFileCharsetSimple : 簡單獲取檔案編碼格式
getFileLines : 獲取檔案行數
getDirSize : 獲取目錄大小
getFileSize : 獲取檔案大小
getDirLength : 獲取目錄長度
getFileLength : 獲取檔案長度
getFileMD5 : 獲取檔案的 MD5 校驗碼
getFileMD5ToString : 獲取檔案的 MD5 校驗碼
getDirName : 根據全路徑獲取最長目錄
getFileName : 根據全路徑獲取檔名
getFileNameNoExtension : 根據全路徑獲取檔名不帶拓展名
getFileExtension : 根據全路徑獲取檔案拓展名
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 : 設定背景
bitmap2Bytes, bytes2Bitmap : bitmap 與 byteArr 互轉
drawable2Bitmap, bitmap2Drawable: drawable 與 bitmap 互轉
drawable2Bytes, bytes2Drawable : drawable 與 byteArr 互轉
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 : 按取樣大小壓縮
getInstallAppIntent : 獲取安裝 App(支援 6.0)的意圖
getUninstallAppIntent : 獲取解除安裝 App 的意圖
getLaunchAppIntent : 獲取開啟 App 的意圖
getAppDetailsSettingsIntent: 獲取 App 具體設定的意圖
getShareTextIntent : 獲取分享文字的意圖
getShareImageIntent : 獲取分享圖片的意圖
getComponentIntent : 獲取其他應用元件的意圖
getShutdownIntent : 獲取關機的意圖
getCaptureIntent : 獲取拍照的意圖
showSoftInput : 動態顯示軟鍵盤
hideSoftInput : 動態隱藏軟鍵盤
toggleSoftInput : 切換鍵盤顯示與否狀態
isSoftInputVisible : 判斷軟鍵盤是否可見
registerSoftInputChangedListener: 註冊軟鍵盤改變監聽器
clickBlankArea2HideSoftInput : 點選螢幕空白區域隱藏軟鍵盤
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.setConsoleFilter : 設定 log 控制檯過濾器
Config.setFileFilter : 設定 log 檔案過濾器
Config.setStackDeep : 設定 log 棧深度
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
openWirelessSettings : 開啟網路設定介面
isConnected : 判斷網路是否連線
isAvailableByPing : 判斷網路是否可用
getMobileDataEnabled : 判斷移動資料是否開啟
setMobileDataEnabled : 開啟或關閉移動資料
isMobileData : 判斷網路是否是移動資料
is4G : 判斷網路是否是 4G
getWifiEnabled : 判斷 wifi 是否開啟
setWifiEnabled : 開啟或關閉 wifi
isWifiConnected : 判斷 wifi 是否連線狀態
isWifiAvailable : 判斷 wifi 資料是否可用
getNetworkOperatorName: 獲取行動網路運營商名稱
getNetworkType : 獲取當前網路型別
getIPAddress : 獲取 IP 地址
getDomainAddress : 獲取域名 ip 地址
isEmpty : 判斷物件是否為空
isNotEmpty: 判斷物件是否非空
equals : 判斷物件是否相等
isPhone : 判斷裝置是否是手機
getIMEI : 獲取 IMEI 碼
getIMSI : 獲取 IMSI 碼
getPhoneType : 獲取移動終端型別
isSimCardReady : 判斷 sim 卡是否準備好
getSimOperatorName : 獲取 Sim 卡運營商名稱
getSimOperatorByMnc: 獲取 Sim 卡運營商名稱
getPhoneStatus : 獲取手機狀態資訊
dial : 跳至撥號介面
call : 撥打 phoneNumber
sendSms : 跳至傳送簡訊介面
sendSmsSilent : 傳送簡訊
getAllContactInfo : 獲取手機聯絡人
getContactNum : 開啟手機聯絡人介面點選聯絡人後便獲取該號碼
getAllSMS : 獲取手機簡訊並儲存到 xml 中
getForegroundProcessName : 獲取前臺執行緒包名
killAllBackgroundProcesses: 殺死所有的後臺服務程序
killBackgroundProcesses : 殺死後臺服務程序
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)
getScreenDensity : 獲取螢幕密度
getScreenDensityDpi: 獲取螢幕密度 DPI
setFullScreen : 設定螢幕為全屏
setLandscape : 設定螢幕為橫屏
setPortrait : 設定螢幕為豎屏
isLandscape : 判斷是否橫屏
isPortrait : 判斷是否豎屏
getScreenRotation : 獲取螢幕旋轉角度
screenShot : 截圖
isScreenLock : 判斷是否鎖屏
setSleepDuration : 設定進入休眠時長
getSleepDuration : 獲取進入休眠時長
isTablet : 判斷是否是平板
isSDCardEnable: 判斷 SD 卡是否可用
getSDCardPaths: 獲取 SD 卡路徑
getAllRunningService: 獲取所有執行的服務
startService : 啟動服務
stopService : 停止服務
bindService : 繫結服務
unbindService : 解綁服務
isServiceRunning : 判斷服務是否執行
execCmd: 是否是在 root 下執行命令
dp2px, px2dp : dp 與 px 轉換
sp2px, px2sp : sp 與 px 轉換
applyDimension : 各種單位轉換
forceGetViewSize : 在 onCreate 中獲取檢視的尺寸
measureView : 測量檢視尺寸
getMeasuredWidth : 獲取測量檢視寬度
getMeasuredHeight: 獲取測量檢視高度
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 中清除所有資料
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 : 獲取星座
setGravity : 設定吐司位置
setBgColor : 設定背景顏色
setBgResource : 設定背景資源
setMessageColor: 設定訊息顏色
showShort : 顯示短時吐司
showLong : 顯示長時吐司
showCustomShort: 顯示短時自定義吐司
showCustomLong : 顯示長時自定義吐司
cancel : 取消吐司顯示
zipFile : 壓縮檔案
unzipFile : 解壓檔案
unzipFileByKeyword: 解壓帶有關鍵字的檔案
getFilesPath : 獲取壓縮檔案中的檔案路徑連結串列
getComments : 獲取壓縮檔案中的註釋連結串列