Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android開發常用工具類

Android開發常用工具類

編輯:關於Android編程

不管是前端,後端,還是我們的android開發,實際工作中都會用到很多的工具類,這些工具類會讓我們工作更加得心應手,同樣,每一位開發者工作一定年限後都有自己的代碼庫,所以能適應不同工作環境,不同項目需求,總而言之,工具方法,利器啊!哈哈

AndroidUtilCode

GitHub地址:https://github.com/Blankj/AndroidUtilCode

為方便查找,已進行大致歸類,其目錄如下所示:

Activity相關→[ActivityUtils.java][activity.java]

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

App相關→[AppUtils.java][app.java]

isInstallApp          : 判斷App是否安裝
installApp            : 安裝App(支持6.0)
installAppSilent      : 靜默安裝App
uninstallApp          : 卸載App
uninstallAppSilent    : 靜默卸載App
launchApp             : 打開App
getAppPackageName     : 獲取App包名
getAppDetailsSettings : 獲取App具體設置
getAppName            : 獲取App名稱
getAppIcon            : 獲取App圖標
getAppPath            : 獲取App路徑
getAppVersionName     : 獲取App版本號
getAppVersionCode     : 獲取App版本碼
getAppSignature       : 獲取App簽名
getAppSignatureSHA1   : 獲取應用簽名的的SHA1值
isSystemApp           : 判斷App是否是系統應用
isAppForeground       : 判斷App是否處於前台
getAppInfo            : 獲取App信息
getAppsInfo           : 獲取所有已安裝App信息
cleanAppData          : 清除App所有數據

欄相關→[BarUtils.java][bar.java]

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

清除相關→[CleanUtils.java][clean.java]

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

剪貼板相關→[ClipboardUtils.java][clipboard.java]

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

關閉相關→[CloseUtils.java][close.java]

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

常量相關→[ConstUtils.java][const.java]

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

轉換相關→[ConvertUtils.java][convert.java]→[Test][convert.test]

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互轉

崩潰相關→[CrashUtils.java][crash.java]

getInstance : 獲取單例
init        : 初始化

設備相關→[DeviceUtils.java][device.java]

isRoot          : 判斷設備是否root
getSDKVersion   : 獲取設備系統版本號
getAndroidID    : 獲取設備AndroidID
getMacAddress   : 獲取設備MAC地址
getManufacturer : 獲取設備廠商,如Xiaomi
getModel        : 獲取設備型號,如MI2SC

判空相關→[EmptyUtils.java][empty.java]→[Test][empty.test]

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

編碼解碼相關→[EncodeUtils.java][encode.java]→[Test][encode.test]

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

加密解密相關→[EncryptUtils.java][encrypt.java]→[Test][encrypt.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解密

文件相關→[FileUtils.java][file.java]→[Test][file.test]

getFileByPath             : 根據文件路徑獲取文件
isFileExists              : 判斷文件是否存在
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                : 獲取文件的MD5校驗碼
getDirName                : 根據全路徑獲取最長目錄
getFileName               : 根據全路徑獲取文件名
getFileNameNoExtension    : 根據全路徑獲取文件名不帶拓展名
getFileExtension          : 根據全路徑獲取文件拓展名

圖片相關→[ImageUtils.java][image.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             : 按采樣大小壓縮

意圖相關→[IntentUtils.java][intent.java]

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

鍵盤相關→[KeyboardUtils.java][keyboard.java]

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

日志相關→[LogUtils.java][log.java]→[Test][log.test]

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

網絡相關→[NetworkUtils.java][network.java]

openWirelessSettings               : 打開網絡設置界面
isAvailable                        : 判斷網絡是否可用
isConnected                        : 判斷網絡是否連接
is4G                               : 判斷網絡是否是4G
isWifiConnected                    : 判斷wifi是否連接狀態
getNetworkOperatorName             : 獲取移動網絡運營商名稱
getPhoneType                       : 獲取移動終端類型
getNetWorkType, getNetWorkTypeName : 獲取當前的網絡類型(WIFI, 2G, 3G, 4G)

手機相關→[PhoneUtils.java][phone.java]

isPhone           : 判斷設備是否是手機
getIMEI           : 獲取IMIE碼
getIMSI           : 獲取IMSI碼
getPhoneStatus    : 獲取手機狀態信息
dial              : 跳至填充好phoneNumber的撥號界面
call              : 撥打phoneNumber
sendSms           : 發送短信
getAllContactInfo : 獲取手機聯系人
getContactNum     : 打開手機聯系人界面點擊聯系人後便獲取該號碼(注釋萌萌哒)
getAllSMS         : 獲取手機短信並保存到xml中

正則相關→[RegexUtils.java][regex.java]→[Test][regex.test]

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

屏幕相關→[ScreenUtils.java][screen.java]

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

SD卡相關→[SDCardUtils.java][sdcard.java]

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

服務相關→[ServiceUtils.java][service.java]

isRunningService : 獲取服務是否開啟

Shell相關→[ShellUtils.java][shell.java]

isRoot  : 判斷設備是否root
execCmd : 是否是在root下執行命令

尺寸相關→[SizeUtils.java][size.java]

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

SP相關→[SPUtils.java][sp.java]→[Test][sp.test]

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中清除所有數據

字符串相關→[StringUtils.java][string.java]→[Test][string.test]

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

線程池相關→[ThreadPoolUtils.java][thread_pool.java]

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

時間相關→[TimeUtils.java][time.java]→[Test][time.test]

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

吐司相關→[ToastUtils.java][toast.java]

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

壓縮相關→[ZipUtils.java][zip.java]→[Test][zip.test]

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

android-common

GitHub地址:https://github.com/Trinea/android-common
GitHub地址:https://github.com/litesuits/android-common

essentials

GitHub地址:https://github.com/greenrobot/essentials

Apache Commons

GitHub地址:https://github.com/apache?utf8=%E2%9C%93&query=Common

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