1. 程式人生 > >史上最全的常用開發工具類收集(持續更新中)

史上最全的常用開發工具類收集(持續更新中)

Travis branch Travis CircleCI TeamCity (simple build status) Travis

API

checkBankCard       : 校驗銀行卡卡號是否合法
getBankCardCheckCode: 從不含校驗位的銀行卡卡號採用 Luhm 校驗演算法獲得校驗位
getNameOfBank       : 通過銀行卡的前六位確定判斷銀行開戶行及卡種
put     : 儲存資料的方法
get     : 獲取資料的方法
putImage: 儲存圖片到SharedPreferences
getImage: 從SharedPreferences讀取圖片
remove  : 移除某個key值已經對應的值
clear   : 清除所有資料
contains: 查詢某個key是否已經存在
getAll  : 返回所有的鍵值對
cleanInternalCache   : 清除本應用內部快取資料
cleanExternalCache   : 清除本應用外部快取資料
cleanDatabases       : 清除本應用所有資料庫
cleanSharedPreference: 清除本應用SharedPreference
cleanDatabaseByName  : 根據名字清除本應用資料庫
cleanFiles           : 清除本應用files檔案
cleanApplicationData : 清除本應用所有的資料
getAppClearSize      : 獲取App應用快取的大小
put             : 儲存String資料到快取中
getAsString     : 讀取String資料
getAsJSONObject : 讀取JSONObject資料
getAsJSONArray  : 讀取JSONArray資料
getAsBinary     : 獲取byte資料
getAsObject     : 讀取Serializable資料
getAsBitmap     : 讀取bitmap資料
getAsDrawable   : 讀取Drawable資料
file            : 獲取快取檔案
remove          : 除某個key
clear           : 清除所有資料
exitApp: 退出App程式應用
getScreenManager      : 單例堆疊集合物件
removeActivity        : 堆疊中銷燬並移除
removeAllActivity     : 棧中銷燬並移除所有Act物件
currentActivity       : 取當前Act物件
getCurrentActivityName: 獲得當前Act的類名
addActivity           : 將Act納入推棧集合中
exitApp               : 退出棧中所有Activity
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                 : 啟動應用
openKeybord      : 打卡軟鍵盤
closeKeybord     : 關閉軟鍵盤
TimerHideKeyboard: 通過定時器強制隱藏虛擬鍵盤
isKeybord        : 輸入法是否顯示
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
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連線資訊
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中
getProperty          : 得到某個物件的公共屬性
getStaticProperty    : 得到某類的靜態公共屬性
invokeMethod         : 執行某物件方法
invokeStaticMethod   : 執行某類的靜態方法
newInstance          : 新建例項
isInstance           : 是不是某個類的例項
getByArray           : 得到陣列中的某個元素
GetClassListByPackage: 得到類的集合
getStringByAssets: 根據本地Assets目錄下資源名稱,獲取String資料資訊
getListByAssets  : 根據本地Assets目錄下資源名稱,獲取List集合資訊
getStringByRaw   : 根據本地Raw目錄下資源標識,獲取String資料資訊
getListByRaw     : 根據本地Raw目錄下資源標識,獲取List集合資訊
getScreenWidth          : 獲得螢幕寬度
getScreenHeight         : 獲得螢幕高度
getStatusHeight         : 獲得狀態列的高度
getRealScreenHeight     : 獲取整塊螢幕的高度
getNavigationAreaHeight : 獲取虛擬按鍵區域的高度
getNavigationBarrH      : 獲取導航欄高度
snapShotWithStatusBar   : 獲取當前螢幕截圖,包含狀態列
snapShotWithoutStatusBar: 獲取當前螢幕截圖,不包含狀態列

獲取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賬號
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
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)
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
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
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
dip2px: 據手機的解析度從 dip 的單位 轉成為 px(畫素)
px2dip: 根據手機的解析度從 px(畫素) 的單位 轉成為 dp
dp2px : dp轉px
sp2px : sp轉px
px2dp : px轉dp
px2sp : px轉sp
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升級應用
addTouchDrak : 給檢視新增點選效果,讓背景變深
addTouchLight: 給檢視新增點選效果,讓背景變暗
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的上下文
distance        : 兩點間的距離
pointTotoDegrees: 計算點a(x,y)的角度
checkInRound    : 點在圓內
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            : 建立樣式字串
ShortSnackbar     : 短顯示Snackbar,自定義顏色
LongSnackbar      : 長顯示Snackbar,自定義顏色
IndefiniteSnackbar: 自定義時常顯示Snackbar,自定義顏色
ShortSnackbar     : 短顯示Snackbar,可選預設型別
LongSnackbar      : 顯示Snackbar,可選預設型別
IndefiniteSnackbar: 自定義時常顯示Snackbar,可選預設型別
setSnackbarColor  : 設定Snackbar背景顏色
setSnackbarColor  : 設定Snackbar文字和背景顏色
SnackbarAddView   : 向Snackbar中新增view
getinstance               : 單例物件
LoadImage                 : 載入圖片
LoadImageWithWidtAndHeight: 載入圖片,設定寬高,圖片預設居中(centerCrop())
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生命週期控制
initConfig             : 初始化配置
initImagePipelineConfig: 單例
init                   : 預設載入圖片和失敗圖片
configureCaches        : 初始化配置
setImageURI            : 開始載入圖片
changeImgSize          : 自定義圖片尺寸
loadGif                : 載入gif圖
moreImgRequst          : 多圖請求需自定義ImageRequest(圖片預覽)
localImg               : 縮圖預覽(僅支援本地圖片,並且是JPEG圖片格式)
loadImage              : 請求圖片
getImageDecodeOptions  : 圖片解碼
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             : 長度單位轉換
add              : 提供精確的加法運算
substract        : 提供精確的減法運算
multiply         : 提供精確的乘法運算
divide           : 提供(相對)精確的除法運算.當發生除不盡的情況時,由scale引數指 定精度,以後的數字四捨五入. 
round            : 提供精確的小數位四捨五入處理
remainder        : 取餘數
formatMoney      : 金額分割,四舍五人金額
compareBigDecimal: 比較大小
adjustDouble     : 獲取自己想要的資料格式
callWebService: 請求網路資料
doGetAsyn : 非同步的Get請求
doPostAsyn: 非同步的Post請求
doGet     : Get請求,獲得返回資料
doPost    : 向指定 URL 傳送POST方法的請求
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
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
startActivityForCamera   : 進入系統拍照
startActivityForGallery  : 進入系統圖庫
startActivityForImageCut : 進入系統裁剪
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 : 判斷是否在國內,不在國內不做偏移
getInstance : 獲取CrashHandler例項 ,單例模式
init        : 初始化
setCrashTip : 設定程式退出時的提示資訊
addHtmlRedFlag : 為給定的字串新增HTML紅色標記,當使用Html.fromHtml()方式顯示到TextView 的時候其將是紅色的
keywordMadeRed : 將給定的字串中所有給定的關鍵字標紅
isRoot : 根據/system/bin/或/system/xbin目錄下是否存在su檔案判斷是否已ROOT
hasShortcut : 檢測是否存在快捷鍵
addShortcut : 為程式建立桌面快捷方式
delShortcut : 刪除程式的快捷方式
getInstance : 獲取單例
enableAdaptive                            : 開啟自適應功能
disableAdaptive                           : 禁用自適應功能
enableZoom                                : 開啟縮放功能
disableZoom                               : 禁用縮放功能
enableJavaScript                          : 開啟JavaScript
disableJavaScript                         : 禁用JavaScript
enableJavaScriptOpenWindowsAutomatically  : 開啟JavaScript自動彈窗
disableJavaScriptOpenWindowsAutomatically : 禁用JavaScript自動彈窗
goBack                                    : 返回
getDisplayRotation    : 獲取當前視窗的旋轉角度
isLandscape           : 當前是否是橫屏
isPortrait            : 當前是否是豎屏
dimBackground         : 調整視窗的透明度  1.0f,0.5f 變暗
setLandscape          : 設定Activity為橫屏
setPortrait           : 設定Activity為豎屏
setActivityFullScreen : 設定全屏,要在setContentView之前呼叫
getXmlList   : 解析XML
getXmlObject : 解析XML
setXmlValue  : 把xml標籤的值,轉換成物件裡屬性的值
zipFiles              : 批量壓縮檔案(夾)
upZipFile             : 解壓縮一個檔案
upZipSelectedFile     : 解壓檔名包含傳入文字的檔案
getEntriesNames       : 獲得壓縮檔案內檔案列表
getEntriesEnumeration : 獲得壓縮檔案內壓縮檔案物件以取得其屬性
getEntryComment       : 取得壓縮檔案物件的註釋
getEntryName          : 取得壓縮檔案物件的名稱
zipFile               : 壓縮檔案
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            : 設定背景
initKey : 生成金鑰
encrypt : 加密
decrypt : 解密
initKey : 生成金鑰
encrypt : DES 加密
decrypt : DES 解密
encryptMD5 : MD5加密
encryptSHA : SHA-512 加密
initKey : 生成金鑰
encrypt : 3DES 加密
decrypt : 3DES 解密

加密工具類 → [CipherUtils]

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

About

    這裡把開發中常用的一些工具類做一個整理,主要用到的時候不用再費力的百度或者Google了,大家有需要的可以隨時借鑑走,同時也希望這個越來越強大,有什麼錯誤的地方還希望各位不吝指出,讓我得以完善,當然,在此宣告,這些並不是我一個人,也用了許多前輩們的東西,這裡一併感謝,目前還在測試,還沒有上傳到Jcenter,需要的自己拷貝,測試完成後會給大家貼出引用地址的,持續更新中。對你有用就給一個Start吧!

Travis branch Travis CircleCI TeamCity (simple build status) Travis

Download

Gradle:

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

Maven:

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

Ivy:

<dependency org='com.abrahamcaijin.commonutil' name='CommonUtil' rev='1.0.0'>
  <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.**