Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android代碼小金庫

Android代碼小金庫

編輯:關於Android編程

Android代碼小金庫

Android得有自己的一個代碼小金庫,用於收集一些通用的一些代碼塊,用的時候直接拿來用,感覺開發的速度又增加了一倍的感覺,直接上小金庫。

1.Activity相關→ActivityUtils.java

isActivityExists : 判斷是否存在Activity
launchActivity   : 打開Activity

2.App相關→AppUtils.java

isInstallApp          : 判斷App是否安裝
installApp            : 安裝App(支持6.0)
installAppSilent      : 靜默安裝App
uninstallApp          : 卸載App
uninstallAppSilent    : 靜默卸載App
isAppRoot             : 判斷App是否有root權限
launchApp             : 打開App
closeApp              : 關閉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所有數據

3.欄相關→BarUtils.java

setTransparentStatusBar : 設置透明狀態欄(api大於19方可使用)
hideStatusBar           : 隱藏狀態欄
getStatusBarHeight      : 獲取狀態欄高度
isStatusBarExists       : 判斷狀態欄是否存在
getActionBarHeight      : 獲取ActionBar高度
showNotificationBar     : 顯示通知欄
hideNotificationBar     : 隱藏通知欄

4.清除相關→CleanUtils.java

cleanInternalCache    : 清除內部緩存
cleanInternalFiles    : 清除內部文件
cleanInternalDbs      : 清除內部數據庫
cleanInternalDbByName : 根據名稱清除數據庫
cleanInternalSP       : 清除內部SP
cleanExternalCache    : 清除外部緩存
cleanCustomCache      : 清除自定義目錄下的文件

5.剪貼板相關→ClipboardUtils.java

copyText   : 復制文本到剪貼板
getText    : 獲取剪貼板的文本
copyUri    : 復制uri到剪貼板
getUri     : 獲取剪貼板的uri
copyIntent : 復制意圖到剪貼板
getIntent  : 獲取剪貼板的意圖

6.關閉相關→CloseUtils.java

closeIO        : 關閉IO
closeIOQuietly : 安靜關閉IO

7.常量相關→ConstUtils.java

MemoryConst : 存儲相關常量
TimeConst   : 時間相關常量
RegexConst  : 正則相關常量

8.轉換相關→ConvertUtils.java

bytes2HexString, hexString2Bytes         : byteArr與hexString互轉
chars2Bytes, bytes2Chars                 : charArr與byteArr互轉
byte2Size, size2Byte                     : 字節數與unit為單位的size互轉
byte2FitSize                             : 字節數轉合適大小
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互轉

9.崩潰相關→CrashUtils.java

getInstance : 獲取單例
init        : 初始化

10.設備相關→DeviceUtils.java

isDeviceRoot    : 判斷設備是否root
getSDKVersion   : 獲取設備系統版本號
getAndroidID    : 獲取設備AndroidID
getMacAddress   : 獲取設備MAC地址
getManufacturer : 獲取設備廠商
getModel        : 獲取設備型號
shutdown        : 關機
reboot          : 重啟

11.判空相關→EmptyUtils.java

isEmpty    : 判斷對象是否為空
isNotEmpty : 判斷對象是否非空

12.編碼解碼相關→EncodeUtils.java

urlEncode                         : URL編碼
urlDecode                         : URL解碼
base64Encode, base64Encode2String : Base64編碼
base64Decode                      : Base64解碼
base64UrlSafeEncode               : Base64URL安全編碼
htmlEncode                        : Html編碼
htmlDecode                        : Html解碼

13.加密解密相關→EncryptUtils.java

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解密

14.文件相關→FileUtils.java

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                : 獲取目錄下指定文件名的文件包括子目錄
writeFileFromIS                : 將輸入流寫入文件
writeFileFromString            : 將字符串寫入文件
getFileCharsetSimple           : 簡單獲取文件編碼格式
getFileLines                   : 獲取文件行數
readFile2List                  : 指定編碼按行讀取文件到List
readFile2SB                    : 指定編碼按行讀取文件到StringBuilder中
getFileSize                    : 獲取文件大小
getFileMD5, getFileMD5ToString : 獲取文件的MD5校驗碼
getDirName                     : 根據全路徑獲取最長目錄
getFileName                    : 根據全路徑獲取文件名
getFileNameNoExtension         : 根據全路徑獲取文件名不帶拓展名
getFileExtension               : 根據全路徑獲取文件拓展名

15.圖片相關→ImageUtils.java

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             : 按采樣大小壓縮

16.意圖相關→IntentUtils.java

getInstallAppIntent         : 獲取安裝App(支持6.0)的意圖
getUninstallAppIntent       : 獲取卸載App的意圖
getLaunchAppIntent          : 獲取打開App的意圖
getAppDetailsSettingsIntent : 獲取App具體設置的意圖
getShareTextIntent          : 獲取分享文本的意圖
getShareImageIntent         : 獲取分享圖片的意圖
getComponentIntent          : 獲取其他應用組件的意圖
getShutdownIntent           : 獲取關機的意圖
getCaptureIntent            : 獲取拍照的意圖

17.鍵盤相關→KeyboardUtils.java

hideSoftInput                : 動態隱藏軟鍵盤
clickBlankArea2HideSoftInput : 點擊屏幕空白區域隱藏軟鍵盤(注釋萌萌哒)
showSoftInput                : 動態顯示軟鍵盤
toggleSoftInput              : 切換鍵盤顯示與否狀態

18.日志相關→LogUtils.java

init       : 初始化函數
getBuilder : 獲取LogUtils建造者
v          : Verbose日志
d          : Debug日志
i          : Info日志
w          : Warn日志
e          : Error日志

19.網絡相關→NetworkUtils.java

openWirelessSettings               : 打開網絡設置界面
isConnected                        : 判斷網絡是否連接
isAvailableByPing                  : 判斷網絡是否可用
getDataEnabled                     : 判斷移動數據是否打開
setDataEnabled                     : 打開或關閉移動數據
is4G                               : 判斷網絡是否是4G
getWifiEnabled                     : 判斷wifi是否打開
setWifiEnabled                     : 打開或關閉wifi
isWifiConnected                    : 判斷wifi是否連接狀態
isWifiAvailable                    : 判斷wifi數據是否可用
getNetworkOperatorName             : 獲取移動網絡運營商名稱
getNetworkType, getNetworkTypeName : 獲取當前的網絡類型(WIFI, 2G, 3G, 4G)
getIPAddress                       : 獲取IP地址
getDomainAddress                   : 獲取域名ip地址

20.手機相關→PhoneUtils.java

isPhone                                 : 判斷設備是否是手機
getIMEI                                 : 獲取IMIE碼
getIMSI                                 : 獲取IMSI碼
getPhoneType                            : 獲取移動終端類型
getSimOperatorName, getSimOperatorByMnc : 獲取Sim卡運營商名稱
getPhoneStatus                          : 獲取手機狀態信息
dial                                    : 跳至撥號界面
call                                    : 撥打phoneNumber
sendSms                                 : 跳至發送短信界面
sendSmsSilent                           : 發送短信
getAllContactInfo                       : 獲取手機聯系人
getContactNum                           : 打開手機聯系人界面點擊聯系人後便獲取該號碼(注釋萌萌哒)
getAllSMS                               : 獲取手機短信並保存到xml中

21.進程相關→ProcessUtils.java

getForegroundProcessName                             : 獲取前台線程包名
cleanAllBackgroundProcesses,cleanBackgroundProcesses : 清理後台服務進程

22.正則相關→RegexUtils.java

isMobileSimple : 驗證手機號(簡單)
isMobileExact  : 驗證手機號(精確)
isTel          : 驗證電話號碼
isIDCard15     : 驗證身份證號碼15位
isIDCard18     : 驗證身份證號碼18位
isEmail        : 驗證郵箱
isURL          : 驗證URL
isChz          : 驗證漢字
isUsername     : 驗證用戶名
isDate         : 驗證yyyy-MM-dd格式的日期校驗,已考慮平閏年
isIP           : 驗證IP地址
isMatch        : string是否匹配regex

23.屏幕相關→ScreenUtils.java

getDeviceWidth, getDeviceHeight                 : 獲取手機分辨率
setTransparentStatusBar                         : 設置透明狀態欄(api大於19方可使用)
hideStatusBar                                   : 隱藏狀態欄(注釋萌萌哒)
getStatusBarHeight                              : 獲取狀態欄高度
isStatusBarExists                               : 判斷狀態欄是否存在
getActionBarHeight                              : 獲取ActionBar高度
showNotificationBar                             : 顯示通知欄
hideNotificationBar                             : 隱藏通知欄
setLandscape                                    : 設置屏幕為橫屏(注釋萌萌哒)
snapShotWithStatusBar, snapShotWithoutStatusBar : 獲取屏幕截圖
isScreenLock                                    : 判斷是否鎖屏

24.SD卡相關→SDCardUtils.java

isSDCardEnable : 判斷SD卡是否可用
getSDCardPath  : 獲取SD卡路徑
getDataPath    : 獲取SD卡Data路徑
getFreeSpace   : 計算SD卡的剩余空間
getSDCardInfo  : 獲取SD卡信息

25.服務相關→ServiceUtils.java

isServiceRunning : 判斷服務是否運行
stopService      : 停止服務

26.Shell相關→ShellUtils.java

execCmd : 是否是在root下執行命令

27.尺寸相關→SizeUtils.java

dp2px, px2dp     : dp與px轉換
sp2px, px2sp     : sp與px轉換
applyDimension   : 各種單位轉換
forceGetViewSize : 在onCreate()即可強行獲取View的尺寸
measureView      : ListView中提前測量View尺寸(注釋萌萌哒)

28.Snackbar相關→SnackbarUtils.java

showShortSnackbar      : 顯示短時snackbar
showLongSnackbar       : 顯示長時snackbar
showIndefiniteSnackbar : 顯示自定義時長snackbar
addView                : 為SnackBar添加布局
dismissSnackbar        : 取消snackbar顯示

29.SP相關→SPUtils.java

SPUtils    : SPUtils構造函數
putString  : SP中寫入String類型value
getString  : SP中讀取String
putInt     : SP中寫入int類型value
getInt     : SP中讀取int
putLong    : SP中寫入long類型value
getLong    : SP中讀取long
putFloat   : SP中寫入float類型value
getFloat   : SP中讀取float
putBoolean : SP中寫入boolean類型value
getBoolean : SP中讀取boolean
getAll     : SP中獲取所有鍵值對
remove     : SP中移除該key
contains   : SP中是否存在該key
clear      : SP中清除所有數據

30.字符串相關→StringUtils.java

isEmpty          : 判斷字符串是否為null或長度為0
isSpace          : 判斷字符串是否為null或全為空格
equals           : 判斷兩字符串是否相等
null2Length0     : null轉為長度為0的字符串
length           : 返回字符串長度
upperFirstLetter : 首字母大寫
lowerFirstLetter : 首字母小寫
reverse          : 反轉字符串
toDBC            : 轉化為半角字符
toSBC            : 轉化為全角字符
getPYFirstLetter : 獲得第一個漢字首字母
cn2PY            : 中文轉拼音

31.線程池相關→ThreadPoolUtils.java

ThreadPoolUtils                               : ThreadPoolUtils構造函數
execute                                       : 在未來某個時間執行給定的命令
execute                                       : 在未來某個時間執行給定的命令鏈表
shutDown                                      : 待以前提交的任務執行完畢後關閉線程池
shutDownNow                                   : 試圖停止所有正在執行的活動任務
isShutDown                                    : 判斷線程池是否已關閉
isTerminated                                  : 關閉線程池後判斷所有任務是否都已完成
awaitTermination                              : 請求關閉、發生超時或者當前線程中斷
submit                                        : 提交一個Callable任務用於執行
submit                                        : 提交一個Runnable任務用於執行
invokeAll, invokeAny                          : 執行給定的任務
schedule                                      : 延遲執行Runnable命令
schedule                                      : 延遲執行Callable命令
scheduleWithFixedRate, scheduleWithFixedDelay : 延遲並循環執行命令

32.時間相關→TimeUtils.java

milliseconds2String                               : 將時間戳轉為時間字符串
string2Milliseconds                               : 將時間字符串轉為時間戳
string2Date                                       : 將時間字符串轉為Date類型
date2String                                       : 將Date類型轉為時間字符串
date2Milliseconds                                 : 將Date類型轉為時間戳
milliseconds2Date                                 : 將時間戳轉為Date類型
milliseconds2Unit                                 : 毫秒時間戳單位轉換(單位:unit)
getIntervalTime                                   : 獲取兩個時間差(單位:unit)
getCurTimeMills, getCurTimeString, getCurTimeDate : 獲取當前時間
getIntervalByNow                                  : 獲取與當前時間的差(單位:unit)
isLeapYear                                        : 判斷閏年
getWeek, getWeekIndex                             : 獲取星期
getWeekOfMonth                                    : 獲取月份中的第幾周
getWeekOfYear                                     : 獲取年份中的第幾周

33.吐司相關→ToastUtils.java

init               : 吐司初始化
showShortToastSafe : 安全地顯示短時吐司
showLongToastSafe  : 安全地顯示長時吐司
showShortToast     : 顯示短時吐司
showLongToast      : 顯示長時吐司
cancelToast        : 取消吐司顯示

34.壓縮相關→ZipUtils.java

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

這個Android代碼小金庫基本上覆蓋了Android開發需要用到的大部分的代碼塊,這些都是找的把鏈接共享出來的,希望給大家的Android開發帶來便捷,並嘗試自己去寫一下,感受一下,是非常不錯的。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved