安卓常用工具類

銀行卡管理 → BankCheck

checkBankCard       : 校驗銀行卡卡號是否合法
getBankCardCheckCode: 從不含校驗位的銀行卡卡號採用 Luhm 校驗算法獲得校驗位
getNameOfBank       : 通過銀行卡的前六位確定判斷銀行開戶行及卡種

SharePreference緩存數據 → AppSharePreferenceMgr

put     : 保存數據的方法
get     : 獲取數據的方法
putImage: 保存圖片到SharedPreferences
getImage: 從SharedPreferences讀取圖片
remove  : 移除某個key值已經對應的值
clear   : 清除所有數據
contains: 查詢某個key是否已經存在
getAll  : 返回所有的鍵值對

提供App數據清理工作的類 → AppCleanMgr

cleanInternalCache   : 清除本應用內部緩存數據
cleanExternalCache   : 清除本應用外部緩存數據
cleanDatabases       : 清除本應用所有數據庫
cleanSharedPreference: 清除本應用SharedPreference
cleanDatabaseByName  : 根據名字清除本應用數據庫
cleanFiles           : 清除本應用files文件
cleanApplicationData : 清除本應用所有的數據
getAppClearSize      : 獲取App應用緩存的大小

緩存工具類 → AppACache

put             : 保存String數據到緩存中
getAsString     : 讀取String數據
getAsJSONObject : 讀取JSONObject數據
getAsJSONArray  : 讀取JSONArray數據
getAsBinary     : 獲取byte數據
getAsObject     : 讀取Serializable數據
getAsBitmap     : 讀取bitmap數據
getAsDrawable   : 讀取Drawable數據
file            : 獲取緩存文件
remove          : 除某個key
clear           : 清除所有數據

App應用退出 → AppExit2Back

exitApp: 退出App程序應用

管理和回收Activity → AppDavikActivityMgr

getScreenManager      : 單例堆棧集合對象
removeActivity        : 堆棧中銷燬並移除
removeAllActivity     : 棧中銷燬並移除所有Act對象
currentActivity       : 取當前Act對象
getCurrentActivityName: 獲得當前Act的類名
addActivity           : 將Act納入推棧集合中
exitApp               : 退出棧中所有Activity

獲取App應用版本信息 → AppApplicationMgr

getAppName             : 獲取本地apk的名稱
getVersionName         : 獲取本地Apk版本名稱
getVersionCode         : 獲取本地Apk版本號
getMetaData            : 根據key獲取xml中Meta的值
getAppIcon             : 獲取應用圖標
getAppFirstInstallTime : 獲取應用第一次安裝日期
getAppLastUpdateTime   : 獲取應用更新日期
getAppSize             : 獲取應用大小
getAppApk              : 獲取應用apk文件
getAppInstaller        : 獲取應用的安裝市場
getAppSign             : 獲取應用簽名
getAppTargetSdkVersion : 獲取應用兼容sdk
getAppUid              : 獲取應用uid
getNumCores            : 獲取Cpu內核數
getRootPermission      : 獲得root權限
getAppPermissions      : 獲取應用的所有權限
hasPermission          : 是否有權限
isInstalled            : 應用是否安裝
installApk             : 安裝應用
uninstallApk           : 卸載應用
isSystemApp            : 是否是系統應用
isServiceRunning       : 服務是否在運行
stopRunningService     : 停止服務
killProcesses          : 結束進程
runScript              : 運行腳本
runApp                 : 啓動應用
getPackageName         : 獲得包名
getApplicationMetaData : 獲取application層級的metadata

軟鍵盤管理 → AppKeyBoardMgr

openKeybord      : 打卡軟鍵盤
closeKeybord     : 關閉軟鍵盤
TimerHideKeyboard: 通過定時器強制隱藏虛擬鍵盤
isKeybord        : 輸入法是否顯示
hideInputMethod  : 隱藏輸入法
showInputMethod  : 顯示輸入法

系統日誌輸出工具類 → AppLogMessageMgr

isEnableDebug: 設置log總開關,debug模式(true:打印日誌  false:不打印)
i            : Info日誌
d            : Debug日誌
w            : Warn日誌
v            : Verbose日誌
e            : Error日誌
這裏推薦使用凱子哥的日誌管理工具,灰常好用,我也集成到了我的項目裏面,KLog對超長字符串進行處理,保證全部的字符串都可以打印出來,再也沒有了只能打印一部分的問題了,部分使用方法如下

系統日誌輸出工具類 → KLog

init: 設置log總開關,debug模式(true:打印日誌  false:不打印)
a   : assert日誌或者打印是否執行到這裏等
i   : Info日誌或者打印是否執行到這裏等
d   : Debug日誌或者打印是否執行到這裏等
w   : Warn日誌或者打印是否執行到這裏等
v   : Verbose日誌或者打印是否執行到這裏等
e   : Error日誌或者打印是否執行到這裏等
json: 輸出Json的格式字符串
xml : 輸出xml的格式字符串
file: 保存到文件
更多使用方法信息點擊這裏查看:KLog

App網絡管理 → AppNetworkMgr

getNetworkState          : 獲取當前手機連接的網絡類型
isNetworkConnected       : 判斷網絡是否連接
openNetSetting           : 打開網絡設置界面
is3gConnected            : 檢測3G是否連接
getNetworkTypeName       : 獲取網絡類型名稱
getCurrentNetworkState   : 獲取當前網絡的狀態
getCurrentNetworkSubtype : 獲取當前網絡的具體類型
isConnectedByState       : 判斷當前網絡是否已經連接
isConnectingByState      : 判斷當前網絡是否正在連接
isDisconnectedByState    : 判斷當前網絡是否已經斷開
isDisconnectingByState   : 判斷當前網絡是否正在斷開
isSuspendedByState       : 判斷當前網絡是否已經暫停
isUnknownByState         : 判斷當前網絡是否處於未知狀態中
isBluetoothByType        : 判斷當前網絡的類型是否是藍牙
isDummyByType            : 判斷當前網絡的類型是否是虛擬網絡
isEthernetByType         : 判斷當前網絡的類型是否是ETHERNET
isMobileByType           : 判斷當前網絡的類型是否是移動網絡
isMobileDunByType        : 判斷當前網絡的類型是否是MobileDun
isMobileHipriByType      : 判斷當前網絡的類型是否是MobileHipri
isMobileMmsByType        : 判斷當前網絡的類型是否是MobileMms
isMobileSuplByType       : 判斷當前網絡的類型是否是MobileSupl
isWifiByType             : 判斷當前網絡的類型是否是Wifi
isWimaxByType            : 判斷當前網絡的類型是否是Wimax
is1XRTTBySubtype         : 判斷當前網絡的具體類型是否是1XRTT
isCDMABySubtype          : 判斷當前網絡的具體類型是否是CDMA(Either IS95A or IS95B)
isEDGEBySubtype          : 判斷當前網絡的具體類型是否是EDGE
isEHRPDBySubtype         :  判斷當前網絡的具體類型是否是EHRPD
isEVDO_0BySubtype        : 判斷當前網絡的具體類型是否是EVDO_0
isEVDO_ABySubtype        : 判斷當前網絡的具體類型是否是EVDO_A
isEVDO_BBySubtype        : 判斷當前網絡的具體類型是否是EDGE
isGPRSBySubtype          : 判斷當前網絡的具體類型是否是GPRS
isHSDPABySubtype         : 判斷當前網絡的具體類型是否是HSDPA
isHSPABySubtype          : 判斷當前網絡的具體類型是否是HSPA
isHSPAPBySubtype         : 判斷當前網絡的具體類型是否是HSPAP
isHSUPABySubtype         : 判斷當前網絡的具體類型是否是HSUPA
isIDENBySubtype          : 判斷當前網絡的具體類型是否是IDEN
isLTEBySubtype           : 判斷當前網絡的具體類型是否是LTE
isUMTSBySubtype          : 判斷當前網絡的具體類型是否是UMTS
isUNKNOWNBySubtype       : 判斷當前網絡的具體類型是否是UNKNOWN
isChinaMobile2G          : 判斷當前網絡是否是中國移動2G網絡
isChinaUnicom2G          : 判斷當前網絡是否是中國聯通2G網絡
isChinaUnicom3G          : 判斷當前網絡是否是中國聯通3G網絡
isChinaTelecom2G         : 判斷當前網絡是否是中國電信2G網絡
isChinaTelecom3G         : 判斷當前網絡是否是中國電信3G網絡
getWifiState             : 獲取Wifi的狀態,需要ACCESS_WIFI_STATE權限
isWifiOpen               : 判斷Wifi是否打開,需要ACCESS_WIFI_STATE權限
setWifi                  : 設置Wifi,需要CHANGE_WIFI_STATE權限
isMobileNetworkOpen      : 判斷移動網絡是否打開,需要ACCESS_NETWORK_STATE權限
getIpAddress             : 獲取本機IP地址
setDataEnabled           : 設置數據流量狀態
getWifiScanResults       : 獲取wifi列表
getScanResultsByBSSID    : 過濾掃描結果
getWifiConnectionInfo    : 獲取wifi連接信息
getProxy                 : 獲得Proxy地址

手機管理工具類 → AppPhoneMgr

getInstance          : 單例對象
getSDKVersionNumber  : 獲取手機系統版本號
getPhoneModel        : 獲取手機型號
getPhoneWidth        : 獲取手機寬度
getPhoneHeight       : 獲取手機高度
getPhoneImei         : 獲取手機imei串號 ,GSM手機的 IMEI 和 CDMA手機的 MEID
getPhoneSim          : 獲取手機sim卡號
getPhoneNum          : 獲取手機號
isSDCardMount        : 判斷sd卡是否掛載
getSDFreeSize        : 獲取sd卡剩餘空間的大小
getSDAllSize         : 獲取sd卡空間的總大小
isTablet             : 判斷是否是平板
isApkInstalled       : 判斷一個apk是否安裝
getAppPermissions    : 獲取應用權限 名稱列表
getInstalledApp      : 獲取手機內安裝的應用
getUserInstalledApp  : 獲取手機安裝非系統應用
getInstalledAppInfo  : 獲取安裝應用的信息
startAppPkg          : 打開指定包名的應用
unInstallApk         : 卸載指定包名的應用
callPhone            : 直接呼叫指定的號碼
toCallPhoneActivity  : 跳轉至撥號界面
sendMessage          : 直接調用短信API發送信息(設置監聽發送和接收狀態)
toSendMessageActivity: 跳轉至發送短信界面(自動設置接收方的號碼)
toChooseContactsList : 跳轉至聯繫人選擇界面
getChoosedPhoneNumber: 獲取選擇的聯繫人的手機號碼
toCameraActivity     : 跳轉至拍照程序界面
toImagePickerActivity: 跳轉至相冊選擇界面
getChoosedImage      : 獲得選中相冊的圖片
openWebSite          : 調用本地瀏覽器打開一個網頁
toSettingActivity    : 跳轉至系統設置界面
toWIFISettingActivity: 跳轉至WIFI設置界面
openPDFFile          : 啓動本地應用打開PDF
openWordFile         : 啓動本地應用打開PDF
openOfficeByWPS      : 調用WPS打開office文檔
isInstalledApp       : 判斷是否安裝指定包名的APP
isExistActivity      : 判斷是否存在指定的Activity
getPhoneType         : 獲取移動終端類型
isSimCardReady       : 判斷sim卡是否準備好
getPhoneStatus       : 獲取手機狀態信息
getAllSMS            : 獲取手機短信並保存到xml中
isGpsEnabled         : Gps是否打開

反射工具類 → AppReflectionMgr

getProperty          : 得到某個對象的公共屬性
getStaticProperty    : 得到某類的靜態公共屬性
invokeMethod         : 執行某對象方法
invokeStaticMethod   : 執行某類的靜態方法
newInstance          : 新建實例
isInstance           : 是不是某個類的實例
getByArray           : 得到數組中的某個元素
GetClassListByPackage: 得到類的集合

獲取本地指定資源信息 → AppResourceMgr

getStringByAssets    : 根據本地Assets目錄下資源名稱,獲取String數據信息
getListByAssets      : 根據本地Assets目錄下資源名稱,獲取List集合信息
getStringByRaw       : 根據本地Raw目錄下資源標識,獲取String數據信息
getListByRaw         : 根據本地Raw目錄下資源標識,獲取List集合信息
getResourceId        : 根據資源名獲得資源id
readBytesFromAssets  : 從assets目錄下讀取文件內容
readBytesFromRaw     : 從res/raw目錄下讀取文件內容
readStringFromAssets : 從assets目錄讀取文本
readStringFromRaw    : 從raw目錄讀取文本
getString            : 獲得字符串
getColor             : 獲得顏色
getDrawable          : 獲得Drawable

有關Android屏幕的工具類 → AppScreenMgr

getScreenWidth           : 獲得屏幕寬度
getScreenHeight          : 獲得屏幕高度
getStatusHeight          : 獲得狀態欄的高度
getRealScreenHeight      : 獲取整塊屏幕的高度
getNavigationAreaHeight  : 獲取虛擬按鍵區域的高度
getNavigationBarrH       : 獲取導航欄高度
snapShotWithStatusBar    : 獲取當前屏幕截圖,包含狀態欄
snapShotWithoutStatusBar : 獲取當前屏幕截圖,不包含狀態欄
getTitleBarHeight        : 獲得標題欄高度
getStatusBarHeight       : 獲取通知欄高度
takeScreenShot           : 獲取指定Activity的截屏,保存到png文件
savePic                  : 保存bitmap
captureWebView           : 截取webView快照(webView加載的整個內容的大小)
shoot                    : 截屏並保存
shootWebView             : 截屏並保存

獲取App應用系統基本信息 → AppSysMgr

getSysClientOs             : 獲得客戶端操作系統名稱
getSysSdk                  : 獲取當前操作系統的sdk版本
getSysLanguage             : 獲取當前操作系統的語言
getSysModel                : 獲取手機型號
getSysRelease              : 獲取操作系統的版本號
getSysSIMSerialNum         : 讀取SIM卡序列號
getSysCPUSerialNum         : 獲取手機CPU序列號
getSysTelephonyManager     : 獲得電話管理實例對象
getSysTelephoneSerialNum   : 讀唯一的設備ID(唯一的設備ID【GSM手機的IMEI】和【CDMA手機的 MEID】,如果獲取不到返回一個默認字符串)
getSysCarrier              : 獲取運營商信息(三大運營商)
getSysPhoneState           : 獲取手機狀態(0:無活動 1:響鈴 2:待機)
getSysPhoneLoaction        : 獲得手機方位
getSysDeviceSoftVersion    : 獲得設備的軟件版本號(注:the IMEI/SV(software version) for GSM phones 不支持返回“not available”)
getSysPhoneNumber          : 獲得手機號
getSysSimCode              : 獲得SIM卡提供的移動國家碼和移動網絡碼.5或6位的十進制數字。(注:SIM卡的狀態必須是 SIM_STATE_READY(使用getSimState()判斷))
getSysSimPrivatorName      : 服務商名稱(注:例如:中國移動、聯通SIM卡的狀態必須是 SIM_STATE_READY(使用getSimState()判斷))
getSysUserPhoneId          : 唯一的用戶ID (注:例如:IMSI(國際移動用戶識別碼) for a GSM phone. 需要權限:READ_PHONE_STATE)
getWindowManager           : 獲取WindowManager對象
getSysDefaultThreadPoolSize: 獲得系統配置相符的線程池大小
getSysSampleSize           : 獲取當前APP應用的SampleSize大小
getVibrator                : 獲取震動器對象
getSysLocalIpAddress       : 獲取手機IP地址
getAndroidID               : 獲取AndroidID
getIMSI                    : 獲取設備IMSI碼
getIP                      : 獲取網絡IP地址(優先獲取wifi地址)
getWifiIP                  : 獲取WIFI連接下的ip地址
getGPRSIP                  : 獲取GPRS連接下的ip地址
getSerial                  : 獲取設備序列號
getSIMSerial               : 獲取SIM序列號
getMNC                     : 獲取網絡運營商 46000,46002,46007 中國移動,46001 中國聯通,46003 中國電信
getCarrier                 : 獲取網絡運營商:中國電信,中國移動,中國聯通
getModel                   : 獲取硬件型號
getBuildBrand              : 獲取編譯廠商
getBuildHost               : 獲取編譯服務器主機
getBuildTags               : 獲取描述Build的標籤
getBuildTime               : 獲取系統編譯時間
getBuildUser               : 獲取系統編譯作者
getBuildVersionRelease     : 獲取編譯系統版本(5.1)
getBuildVersionCodename    : 獲取開發代號
getBuildVersionIncremental : 獲取源碼控制版本號
getBuildVersionSDK         : 獲取編譯的SDK
getBuildID                 : 獲取修訂版本列表(LMY47D)
getSupportedABIS           : CPU指令集
getManufacturer            : 獲取硬件製造廠商
getBootloader              : 獲取系統啓動程序版本號
getDisplayVersion          : 獲取系統版本號
getLanguage                : 獲取語言
getCountry                 : 獲取國家
getOSVersion               : 獲取系統版本:5.1.1
getGSFID                   : 獲取GSF序列號
getBluetoothMAC            : 獲取藍牙地址
getPsuedoUniqueID          : Android設備物理唯一標識符
getFingerprint             : 構建標識,包括brand,name,device,version.release,id,version.incremental,type,tags這些信息
getHardware                :獲取硬件信息
getProduct                 :獲取產品信息
getDevice                  :獲取設備信息
getBoard                   :獲取主板信息
getRadioVersion            :獲取基帶版本(無線電固件版本 Api14以上)
getUA                      : 獲取的瀏覽器指紋(User-Agent)
getDensity                 : 獲取得屏幕密度
getGoogleAccounts          : 獲取google賬號

自定義Toast提示框 → AppToastMgr

shortToast            : 自定義Toast調用
longToast             : 自定義Toast調用
cancelToast           : 取消顯示Toast
Toast                 : 默認Toast調用
show                  : 屏幕中心位置短時間顯示Toast。
ToastShortBottomCenter: 屏幕底部中間位置顯示短時間Toast
ToastShortBottomLeft  : 屏幕底部左邊位置短時間顯示Toast
ToastShortBottomRight : 屏幕底部右邊位置短時間顯示Toast
ToastShortCenter      : 屏幕中心位置短時間顯示Toast
ToastShortCenterLeft  : 屏幕中心左邊位置短時間顯示Toast
ToastShortCenterRight : 屏幕中心右邊位置短時間顯示Toast
ToastShortTopCenter   : 屏幕頂部中心位置短時間顯示Toast
ToastShortTopLeft     : 屏幕頂部左邊位置短時間顯示Toast
ToastShortTopRight    : 屏幕頂部右邊位置短時間顯示Toast
ToastLongBottomCenter : 屏幕底部中間位置顯示長時間Toast
ToastLongBottomLeft   : 屏幕底部左邊位置長時間顯示Toast
ToastLongBottomRight  : 屏幕底部右邊位置長時間顯示Toast
ToastLongCenter       : 屏幕中心位置長時間顯示Toast
ToastLongCenterLeft   : 屏幕中心左邊位置長時間顯示Toast
ToastLongCenterRight  : 屏幕中心右邊位置短時間顯示Toast
ToastLongTopCenter    : 屏幕頂部中心位置長時間顯示Toast
ToastLongTopLeft      : 屏幕頂部左邊位置長時間顯示Toast
ToastLongTopRight     : 屏幕頂部右邊位置長時間顯示Toast

正則表達式 → AppValidationMgr

isEmpty              : 驗證是否爲空串 (包括空格、製表符、回車符、換行符組成的字符串 若輸入字符串爲null或空字符串,返回true)
isNotEmpty           : 是否不爲空
isNotZero            : 驗證非零正整數
isNumber             : 驗證是數字
isUpChar             : 驗證是大寫字母
isLowChar            : 驗證是小寫字母
isLetter             : 驗證是英文字母
isChinese            : 驗證輸入漢字
isRealName           : 驗證真實姓名
isOneCode            : 驗證是否是條形碼
isEmail              : 驗證郵箱是否正確
isPhone              : 驗證手機號是否正確
isPlane              : 驗證座機號碼是否正確
isPostalCode         : 驗證郵政編碼是否正確
isIpAddress          : 驗證IP地址是否正確
isURL                : 驗證URL地址是否正確
isInteger            : 驗證是否是正整數
isPoint              : 驗證是否是小數
isBankNo             : 驗證是否銀行卡號
isIDCard             : 驗證身份證號碼是否正確
isPeculiarStr        : 判斷是否有特殊字符
isUserName           : 判斷是否爲用戶名賬號(規則如下:用戶名由下劃線或字母開頭,由數字、字母、下劃線、點、減號組成的4-32位字符)
chineseLength        : 獲取字符串中文字符的長度(每個中文算2個字符)
strLength            : 獲取字符串的長度
subStringLength      : 獲取指定長度的字符所在位置
isNumberLetter       : 是否只是字母和數字
isContainChinese     : 是否包含中文
convertStreamToString: 從輸入流中獲得String
cutString            : 截取字符串到指定字節長度
cutStringFromChar    : 截取字符串從第一個指定字符
strlen               : 獲取字節長度
getSizeDesc          : 獲取大小的描述
ip2int               : ip地址轉換爲10進制數
gainUUID             : 獲取UUID
phoneNoHide          : 手機號碼,中間4位星號替換
cardIdHide           : 銀行卡號,保留最後4位,其他星號替換
idHide               : 身份證號,中間10位星號替換
checkVehicleNo       : 是否爲車牌號(滬A88888)
isContinuousNum      : 判斷字符串是否爲連續數字 45678901等
isAlphaBetaString    : 是否是純字母
isContinuousWord     : 判斷字符串是否爲連續字母 xyZaBcd等
isRealDate           : 是否是日期 20120506 共八位,前四位-年,中間兩位-月,最後兩位-日

Wifi管理工具類 → AppWifiHelperMgr

isWifiEnabled     : Wifi狀態
openWifi          : 打開wifi
closeWifi         : 關閉Wifi
lockWifi          : 鎖定WiFI就是判斷wifi是否建立成功,在這裏使用的是held(握手) acquire
unLockWifi        : 解鎖
wificreateWifiLock: 創建一個Wifi鎖,需要時調用
startScan         : 掃描網絡
getWifiList       : 獲取wifi列表
getWifiConfigList : 獲取wifi配置列表
lookupScanInfo    : 獲取掃描WIFI列表的信息
getSSID           : 獲取指定Wifi的ssid名稱
getBSSID          : 獲取指定Wifi的物理地址
getFrequency      : 獲取指定Wifi的頻率
getCapabilities   : 獲取指定Wifi的功能
getLevel          : 獲取指定Wifi的信號強度
getBSSID          : 獲取SSID
getCurrentNetId   : 返回當前連接的網絡的ID
getWifiInfo       : 返回所有信息
getIP             : 獲取IP地址
addNetWordLink    : 添加一個連接
disableNetWordLink: 禁用一個鏈接
removeNetworkLink : 移除一個鏈接
hiddenSSID        : 不顯示SSID
displaySSID       : 顯示SSID

類型轉換類 → ConvertUtils

hexStringToBytes: 十六進制字符串轉換爲byte數組
bytesToHexString: byte數組轉換爲十六進制字符串
charToByte      : char轉換爲byte數組
intToByte       : int轉換爲byte數組
byteToInt       : byte數組轉換爲int
saveDecimals    : 保留幾位小數
nullOfString    : null轉String
stringToByte    : String轉Byte
stringToBoolean : String轉Boolean
stringToInt     : String轉Int
stringToShort   : String轉Short
stringToDouble  : String轉Double
intToString     : Int轉String
doubleToLong    : Double轉Long
doubleToInt     : Double轉Int
longToDouble    : Long轉Double
longToInt       : Long轉Int
stringToLong    : String轉Long
longToString    : Long轉String

日期管理類 → AppDateMgr

todayYyyyMmDd         : 當天的年月日
todayHhMmSs           : 當天的時分秒
todayYyyyMmDdHhMmSs   : 當天的年月日時分秒
parseYyyy             : 獲取年
parseMm               : 獲取月
parseDd               : 獲取日
parseYyyyMmDd         : 獲取年月日
parseHhMmSs           : 時分秒
getWeekNumber         : 獲取星期幾
getWeekOfMonth        : 日期中某個月份的第幾周
getWeekOfYear         : 日期中某個年份的第幾周
dateTimeToTimeStamp   : 將年月日時分秒轉成Long類型
timeStampToDateTime     : 將Long類型轉成年月日時分秒
string2Date             : 將年月日時分秒轉成Date類型
date2String             : 將Date類型轉成年月日時分秒
dateIsBefore            : 比較日期
minutesBetweenTwoDate   : 相差多少分鐘
getChineseZodiac        : 獲取日期中的生肖
getZodiac               : 獲取日期中的星座
getNowDayOffset         : 獲取日期
getTime                 : 獲取日期
forward                 : 使日期倒一天
isLeapYear              : 判斷平年閏年
getDaysOfMonth          : 計算某月的天數
secondsMorning          : 獲取當天凌晨的秒數
secondsNight            : 獲取第二天凌晨的秒數
isSameDay               : 判斷某兩天是不是同一天
formatFriendly          : 將日期格式化成友好的字符串:幾分鐘前、幾小時前、幾天前、幾月前、幾年前、剛剛
formatDateTime          : 將日期以yyyy-MM-dd HH:mm:ss格式化
formatDateTime          : 將日期以yyyy-MM-dd HH:mm:ss格式化
formatDateTime          : 將日期以yyyy-MM-dd HH:mm:ss格式化
parseDate               : 將日期字符串轉成日期
gainCurrentDate         : 獲取系統當前日期
compareDate             : 驗證日期是否比當前日期早
addDateTime             : 對日期進行增加操作
subDateTime             : 對日期進行相減操作
formatDateForExcelDate  : 格式化excel中的時間
formatDateForFileName   : 將日期格式化作爲文件名
formatDateSecond        : 格式化日期(精確到秒)
tempDateSecond          : 格式化日期(精確到秒)
tempDateSecond          : 格式化日期(精確到秒)
formatDateDay           : 格式化日期(精確到天)
formatDateDetailDay     : 式化日期(精確到天)
formatNumber            : double類型的數字保留兩位小數(四捨五入)
formateDate             : 將字符串轉換成日期
parseStringToDate       : 將字符日期轉換成Date
formatDoubleNumber      : 將double日期轉換成String
getTimeMillis           : 獲得指定Date類型的毫秒數
getCurrentDayTimeMillis : 獲得當前時間的毫秒數
convertMillisecond      : 將格式化過的時間串轉換成毫秒
getDateInterval         : 得到兩個日期的天數
compareTime             : 時間比較

手機常用單位轉換的輔助類 → DensityUtils

dip2px: 據手機的分辨率從 dip 的單位 轉成爲 px(像素)
px2dip: 根據手機的分辨率從 px(像素) 的單位 轉成爲 dp
dp2px : dp轉px
sp2px : sp轉px
px2dp : px轉dp
px2sp : px轉sp

文件管理類 → FileUtils

createFileDir      : 創建目錄
delFile            : 刪除文件(若爲目錄,則遞歸刪除子目錄和文件)
getFileSize        : 取文件大小,單位爲byte(若爲目錄,則包括所有子目錄和文件)
saveBitmap         : 保存Bitmap到指定目錄
isFileExists       : 判斷某目錄下文件是否存在
isMountedSDCard    : 檢查是否已掛載SD卡鏡像(是否存在SD卡)
gainSDFreeSize     : 獲取SD卡剩餘容量(單位Byte)
gainSDAllSize      : 獲取SD卡總容量(單位Byte)
gainSDCardPath     : 獲取可用的SD卡路徑(若SD卡不沒有掛載則返回"")
readFileByLines    : 以行爲單位讀取文件內容,一次讀一整行,常用於讀面向行的格式化文件
saveToFile         : 保存內容
saveToFile         : 指定編碼保存內容
appendToFile       : 追加文本
isExsit            : 判斷文件是否存在
read               : 快速讀取程序應用包下的文件內容
read               : 讀取指定目錄文件的文件內容
read               : 以行爲單位讀取文件內容,一次讀一整行,常用於讀面向行的格式化文件
readRawValue       : 讀取raw目錄的文件內容
readAssetsValue    : 讀取assets目錄的文件內容
readAssetsListValue: 讀取assets目錄的文件內容
readShrePerface    : 獲取SharedPreferences文件內容
writeShrePerface   : 寫入SharedPreferences文件內容
write              : 寫入應用程序包files目錄下文件
write              : 指定編碼將內容寫入目標文件
write              : 指定目錄寫入文件內容
write              : 寫入文件
saveAsJPEG         : 指定目錄寫入文件內容
saveAsPNG          : 指定目錄寫入文件內容
getStringFromFile  : 將文件轉成字符串
copyFile           : 複製文件
copyFileFast       : 快速複製
shareFile          : 分享文件
zip                : 壓縮
unzip              : 解壓
formatFileSize     : 格式化文件大小
Stream2File        : 將輸入流寫入到文件
createFolder       : 創建文件夾(支持覆蓋已存在的同名文件夾)
getFileName        : 獲取文件名
rename             : 重命名文件\文件夾
getFolderName      : 獲取文件夾名稱
getFilesArray      : 獲取文件夾下所有文件
openImage          : 打開圖片
openVideo          : 打開視頻
openURL            : 打開URL
downloadFile       : 下載文件
upgradeApp         : 通過APKURL升級應用

控件點擊效果動畫工具類 → ToolAnimation

addTouchDrak : 給視圖添加點擊效果,讓背景變深
addTouchLight: 給視圖添加點擊效果,讓背景變暗

view管理類 → ViewUtils

removeSelfFromParent   : 把自身從父View中移除
isTouchInView          : 判斷觸點是否落在該View上
setTVUnderLine         : 給TextView設置下劃線
showPopupWindow        : 顯示PopupWindow
dismissPopup           : 關閉PopupWindow
captureView            : 截圖
createViewBitmap       : 截圖
convertViewToBitmap    : 截圖
getActivityBitmap      : 獲取Activity的截圖
getStatusBarHeight     : 獲取狀態欄高度
getToolbarHeight       : 獲取工具欄高度
getNavigationBarHeight : 獲取導航欄高度
measureView            : 測量view
getViewWidth           : 獲取view的寬度
getViewHeight          : 獲取view的高度
getActivity            : 獲取view的上下文

提供APP應用計算,算法等 -> AppCalculateMgr

distance        : 兩點間的距離
pointTotoDegrees: 計算點a(x,y)的角度
checkInRound    : 點在圓內

SpannableString工具類 → SpannableStringUtils

Builder.setFlag           : 設置標識
Builder.setForegroundColor: 設置前景色
Builder.setBackgroundColor: 設置背景色
Builder.setQuoteColor     : 設置引用線的顏色
Builder.setLeadingMargin  : 設置縮進
Builder.setMargin         : 設置間距
Builder.setBullet         : 設置列表標記
Builder.setFontSize       : 設置字體尺寸
Builder.setFontProportion : 設置字體比例
Builder.setFontXProportion: 設置字體橫向比例
Builder.setStrikethrough  : 設置刪除線
Builder.setUnderline      : 設置下劃線
Builder.setSuperscript    : 設置上標
Builder.setSubscript      : 設置下標
Builder.setBold           : 設置粗體
Builder.setItalic         : 設置斜體
Builder.setBoldItalic     : 設置粗斜體
Builder.setFontFamily     : 設置字體系列
Builder.setTypeface       : 設置字體
Builder.setAlign          : 設置對齊
Builder.setBitmap         : 設置圖片
Builder.setDrawable       : 設置圖片
Builder.setUri            : 設置圖片
Builder.setResourceId     : 設置圖片
Builder.setClickSpan      : 設置點擊事件
Builder.setUrl            : 設置超鏈接
Builder.setBlur           : 設置模糊
Builder.append            : 追加樣式字符串
Builder.create            : 創建樣式字符串

Snackbar工具類 → SnackbarUtils

ShortSnackbar     : 短顯示Snackbar,自定義顏色
LongSnackbar      : 長顯示Snackbar,自定義顏色
IndefiniteSnackbar: 自定義時常顯示Snackbar,自定義顏色
ShortSnackbar     : 短顯示Snackbar,可選預設類型
LongSnackbar      : 顯示Snackbar,可選預設類型
IndefiniteSnackbar: 自定義時常顯示Snackbar,可選預設類型
setSnackbarColor  : 設置Snackbar背景顏色
setSnackbarColor  : 設置Snackbar文字和背景顏色
SnackbarAddView   : 向Snackbar中添加view

Picasso圖片加載工具類 → PicassoUtils

getinstance               : 單例對象
LoadImage                 : 加載圖片
LoadImageWithWidtAndHeight: 加載圖片,設置寬高,圖片默認居中(centerCrop())

Glide圖片加載工具類 → GlideUtils

instance                         : 單例對象
LoadContextBitmap                : Glide請求圖片,會受到Context生命週期控制
LoadFragmentBitmap               : Glide請求圖片,會受到Fragment生命週期控制
LoadSupportv4FragmentBitmap      : Glide請求圖片,會受到support.v4.app.Fragment生命週期控制
LoadContextCircleBitmap          : 加載設置圓形圖片
LoadfragmentCircleBitmap         : Glide請求圖片設置圓形,會受到android.app.Fragment生命週期控制
LoadSupportv4FragmentCircleBitmap: Glide請求圖片設置圓形,會受到android.support.v4.app.Fragment生命週期控制
LoadContextRoundBitmap           : 加載設置圓角圖片
LoadfragmentRoundBitmap          : Glide請求圖片設置圓角,會受到android.app.Fragment生命週期控制
LoadSupportv4FragmentRoundBitmap : Glide請求圖片設置圓角,會受到android.support.v4.app.Fragment生命週期控制
LoadContextBlurBitmap            : Glide加載模糊圖片
LoadFragmentBlurBitmap           : Glide加載模糊圖片會受到Fragment生命週期控制
LoadSupportv4FragmentBlurBitmap  : Glide加載模糊圖片會受到support.v4.app.Fragment生命週期控制
LoadContextRotateBitmap          : 旋轉圖片
LoadFragmentRotateBitmap         : Glide加載旋轉圖片會受到Fragment生命週期控制
LoadSupportv4FragmentRotateBitmap: Glide加載旋轉圖片會受到support.v4.app.Fragment生命週期控制

Fresco圖片加載工具類 → FrescoUtils

initConfig             : 初始化配置
initImagePipelineConfig: 單例
init                   : 默認加載圖片和失敗圖片
configureCaches        : 初始化配置
setImageURI            : 開始加載圖片
changeImgSize          : 自定義圖片尺寸
loadGif                : 加載gif圖
moreImgRequst          : 多圖請求需自定義ImageRequest(圖片預覽)
localImg               : 縮略圖預覽(僅支持本地圖片,並且是JPEG圖片格式)
loadImage              : 請求圖片
getImageDecodeOptions  : 圖片解碼

圖片管理工具類 → AppImageMgr

getBitmap                  : 根據drawable id獲取Bitmap
getDrawable                : 根據drawable id獲取Drawable
bitmapToDrawble            : bitmap轉drawable
readDrawableBitmap         : 以最省內存的方式讀取本地資源的圖片
readDrawableBigBitmap      : 讀取本地drawable中較大的資源圖片
getBitmapFromFile          : 從文件得到BitMap
getBitmapByteArray         : 從數組得到Bitmap
getBitmapFromStream        : 從流中得到Bitmap
setAlpha                   : 圖片透明度處理
getImgCacheFromLocal2Bitmap: 獲取源圖片的BITMAP,壓縮,本地圖片
getBitmap2Byte             : bitmap轉byte[]
decodeBitmapToThumbnail    : 獲取縮略圖
saveImage                  : 保存圖片
grayMasking                : 光暈效果
getBitmapSize              : 獲取bitmap的字節大小
convertToBlackWhite        : 將彩色圖轉換爲黑白圖
convertToRoundedCorner     : 轉換成圓角
BoxBlurFilter              : 高斯模糊
getCircleBitmap            : 圓形圖片
getRoundedCornerBitmap     : 獲取圓角
lessenBitmap               : 按比例縮小圖片(單位像素) lessen the bitmap
readPictureDegree          : 判斷圖片旋轉情況
rotaingImageView           : 旋轉圖片
rotateBitmap               : 圖片旋轉
getBitmapFromUri           : 根據uri獲取圖片
getPicPathFromUri          : 圖片uri轉path
getSmallBitmap             : 根據路徑獲得圖片並壓縮返回bitmap用於顯示
decodeBitmap               : 從文件中獲取圖片
computeSampleSize          : 使用該算法,就可動態計算出圖片的inSampleSize
applyDimension             : 長度單位轉換

資金運算工具類 → AppBigDecimal

add              : 提供精確的加法運算
substract        : 提供精確的減法運算
multiply         : 提供精確的乘法運算
divide           : 提供(相對)精確的除法運算.當發生除不盡的情況時,由scale參數指 定精度,以後的數字四捨五入.
round            : 提供精確的小數位四捨五入處理
remainder        : 取餘數
formatMoney      : 金額分割,四舍五人金額
compareBigDecimal: 比較大小
adjustDouble     : 獲取自己想要的數據格式

WebService網絡工具類 → WebServiceUtils

callWebService: 請求網絡數據

HttpURLConnection網絡工具類 → HttpURLConnectionUtils

doGetAsyn : 異步的Get請求
doPostAsyn: 異步的Post請求
doGet     : Get請求,獲得返回數據
doPost    : 向指定 URL 發送POST方法的請求

字符串判斷工具類 → AppStringUtils

isEmpty                  : 判斷字符串是否爲空
isNotEmpty               : 判斷str null,"","null" 均視爲空
checkNameChese           : 檢測String是否全是中文
isChinese                : 判定輸入漢字
toLowerCaseFirstOne      : 將字符串的第一位轉爲小寫
toUpperCaseFirstOne      : 將字符串的第一位轉爲大寫
underScoreCase2CamelCase : 下劃線命名轉爲駝峯命名
camelCase2UnderScoreCase : 駝峯命名法轉爲下劃線命名
throwable2String         : 將異常棧信息轉爲字符串
concat                   : 字符串連接,將參數列表拼接爲一個字符串
concatSpiltWith          : 字符串連接,將參數列表拼接爲一個字符串
toASCII                  : 將字符串轉移爲ASCII碼
toUnicode                : 將字符串轉移爲Unicode碼
toUnicodeString          : 將字符串轉移爲Unicode碼
containsChineseChar      : 是否包含中文字符
isNumber                 : 參數是否是有效數字 (整數或者小數)
matcherFirst             : 匹配到第一個字符串
isInt                    : 參數是否是有效整數
isDouble                 : 字符串參數是否是double
isBoolean                : 判斷一個對象是否爲boolean類型,包括字符串中的true和false
isTrue                   : 對象是否爲true
contains                 : 判斷一個數組裏是否包含指定對象
toInt                    : 將對象轉爲int值,如果對象無法進行轉換,則使用默認值
toLong                   : 將對象轉爲long類型,如果對象無法轉換,將返回默認值
toDouble                 : 將對象轉爲Double,如果對象無法轉換,將使用默認值
splitFirst               : 分隔字符串,根據正則表達式分隔字符串,只分隔首個,剩下的的不進行分隔,如: 1,2,3,4 將分隔爲 ['1','2,3,4']
toString                 : 將對象轉爲字符串,如果對象爲null,則返回null,而不是"null"
toStringAndSplit         : 將對象轉爲String後進行分割,如果爲對象爲空或者空字符,則返回null

Json工具類 → JsonUtils

toJson            : 對象轉json
fromJson          : json轉對象
map2Json          : Map轉爲JSONObject
collection2Json   : 集合轉換爲JSONArray
object2Json       : Object對象轉換爲JSONArray
string2JSONObject : json字符串生成JSONObject對象
object2json       : 對象轉換爲Json
list2json         : List集合轉換爲Json
array2json        : 對象數組轉換爲Json
set2json          : Set集合轉爲Json
string2json       : 字符串轉換爲Json

系統媒體管理工具類 → MediaUtil

startActivityForCamera   : 進入系統拍照
startActivityForGallery  : 進入系統圖庫
startActivityForImageCut : 進入系統裁剪

GPS座標轉換工具 → CoordinateTransformUtil

bd09towgs84  : 百度座標系(BD-09)轉WGS座標(百度座標緯度,百度座標經度),WGS84座標數組
wgs84tobd09  : WGS座標轉百度座標系(BD-09)(WGS84座標系的經度,WGS84座標系的緯度),百度座標數組
gcj02tobd09  : 火星座標系(GCJ-02)轉百度座標系(BD-09)(火星座標經度,火星座標緯度),百度座標數組
bd09togcj02  : 百度座標系(BD-09)轉火星座標系(GCJ-02)(百度座標緯度,百度座標經度),火星座標數組
wgs84togcj02 : WGS84轉GCJ02(火星座標系)(WGS84座標系的經度,WGS84座標系的緯度),火星座標數組
gcj02towgs84 : GCJ02(火星座標系)轉GPS84(火星座標系的經度,火星座標系緯度),WGS84座標數組
transformlat : 緯度轉換
transformlng : 經度轉換
out_of_china : 判斷是否在國內,不在國內不做偏移

程序崩潰處理類 → CrashHandlerUtil

getInstance : 獲取CrashHandler實例 ,單例模式
init        : 初始化
setCrashTip : 設置程序退出時的提示信息

html標籤管理類 → HtmlUtils

addHtmlRedFlag : 爲給定的字符串添加HTML紅色標記,當使用Html.fromHtml()方式顯示到TextView 的時候其將是紅色的
keywordMadeRed : 將給定的字符串中所有給定的關鍵字標紅

root權限工具類 → RootPermissionUtils

isRoot : 根據/system/bin/或/system/xbin目錄下是否存在su文件判斷是否已ROOT

快捷圖標管理類 → ShortCutUtils

hasShortcut : 檢測是否存在快捷鍵
addShortcut : 爲程序創建桌面快捷方式
delShortcut : 刪除程序的快捷方式

單例工具類 → SingletonUtils

   getInstance : 獲取單例 getInstance : 獲取單例

WebView管理類 → WebViewManager

enableAdaptive                            : 開啓自適應功能
disableAdaptive                           : 禁用自適應功能
enableZoom                                : 開啓縮放功能
disableZoom                               : 禁用縮放功能
enableJavaScript                          : 開啓JavaScript
disableJavaScript                         : 禁用JavaScript
enableJavaScriptOpenWindowsAutomatically  : 開啓JavaScript自動彈窗
disableJavaScriptOpenWindowsAutomatically : 禁用JavaScript自動彈窗
goBack                                    : 返回

窗口管理類 → WindowUtils

getDisplayRotation    : 獲取當前窗口的旋轉角度
isLandscape           : 當前是否是橫屏
isPortrait            : 當前是否是豎屏
dimBackground         : 調整窗口的透明度  1.0f,0.5f 變暗
setLandscape          : 設置Activity爲橫屏
setPortrait           : 設置Activity爲豎屏
setActivityFullScreen : 設置全屏,要在setContentView之前調用

pull解析xml管理類 → XmlParseUtiles

getXmlList   : 解析XML
getXmlObject : 解析XML
setXmlValue  : 把xml標籤的值,轉換成對象裏屬性的值

壓縮工具類 → ZipUtil

zipFiles              : 批量壓縮文件(夾)
upZipFile             : 解壓縮一個文件
upZipSelectedFile     : 解壓文件名包含傳入文字的文件
getEntriesNames       : 獲得壓縮文件內文件列表
getEntriesEnumeration : 獲得壓縮文件內壓縮文件對象以取得其屬性
getEntryComment       : 取得壓縮文件對象的註釋
getEntryName          : 取得壓縮文件對象的名稱
zipFile               : 壓縮文件

Fragment管理類 → FragmentUtils

addFragment              : 新增fragment
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            : 設置背景

AES對稱加密 → AESUtils

initKey : 生成密鑰
encrypt : 加密
decrypt : 解密

DES對稱加密 → DESUtils

initKey : 生成密鑰
encrypt : DES 加密
decrypt : DES 解密

MD5加密 → MD5Utils



encryptMD5 : MD5加密

SHA-1加密不可逆 → SHAUtils

encryptSHA : SHA-512 加密

3DES對稱加密 → TripleDESUtils

initKey : 生成密鑰
encrypt : 3DES 加密
decrypt : 3DES 解密

加密工具類 → [CipherUtils]

md5 : 輸入流轉md5
XorEncode : 異或加密
XorDecode : 異或解密
sha1 : 字符串sha1值

About

    這裏把開發中常用的一些工具類做一個整理,主要用到的時候不用再費力的百度或者Google了,大家有需要的可以隨時借鑑走,同時也希望這個越來越強大,有什麼錯誤的地方還希望各位不吝指出,讓我得以完善


Gradle:

compile 'com.abrahamcaijin.commonutil:CommonUtil:1.0.1'

Maven:

<dependency>
  <groupId>com.abrahamcaijin.commonutil</groupId>
  <artifactId>CommonUtil</artifactId>
  <version>1.0.1</version>
  <type>pom</type>
</dependency>

Ivy:

<dependency org='com.abrahamcaijin.commonutil' name='CommonUtil' rev='1.0.1'>
  <artifact name='CommonUtil' ext='pom' ></artifact>
</dependency>

How to use

// init it in the function of onCreate in ur Application
AppUtils.init(context);

Proguard

-keep class com.jingewenku.abrahamcaijin.commonutil.** { *; }
-keepclassmembers class com.jingewenku.abrahamcaijin.commonutil.** { *; }
-dontwarn com.jingewenku.abrahamcaijin.commonutil.**

發佈了107 篇原創文章 · 獲贊 23 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章