Fastandrutils 是一套整理修改整合的android開發經常使用的工具類。 這樣能夠減小複製粘貼代碼,從而減小重複代碼,也不用爲了一個經常使用的功能去谷歌百度,讓代碼更簡潔,讓開發更高效。 同時但願您的添加完善,讓android開發變得更簡單。java
dependencies {
compile 'cn.hotapk:fastandrutils:1.0.0'
}
複製代碼
android:name="cn.hotapk.fastandrutils.utils.FApplication"
複製代碼
或者android
public class 你的application extends FApplication {
...
}
複製代碼
或者 在你的application 添加git
FUtils.init(this);
複製代碼
類名 | 描述 |
---|---|
FActivityLifecycleCallbacks.java | activity 生命週期管理 |
FAppUtils.java | app相關信息 |
FApplication.java | Application |
FAssetsARawUtils.java | assets raw 相關操做 |
FCleanUtils.java | 清理app緩存 |
FClickProxy.java | 防止重複點擊 |
FCloseUtils.java | 關閉數據流 |
FConvertUtils.java | 數據轉換 |
FCrashUtils.java | app異常退出捕獲 |
FDBExprotUtils.java | 數據庫導出到sd卡 |
FEncryptUtils.java | 加密相關 |
FFileUtils.java | 文件操做工具 |
FHanziToPinyin.java | 漢字轉拼音 |
FImageUtils.java | 圖片工具 |
FKeyBoardHeightUtils.java | 獲取鍵盤高度 |
FKeyBoardUI.java | 軟鍵盤上方顯示EditText |
FKeyBoardUtils.java | 軟鍵盤顯示隱藏 |
FLogNetServer.java | 訪問手機log內網webservers |
FLogUtils.java | 日誌操做 |
FManifestUtils.java | AndroidManifest.xml操做 |
FNetworkUtils.java | 網絡相關 |
FPermissionUtils.java | 權限申請 |
FPhoneUtils.java | 設備相關 |
FResourcesUtils.java | 獲取資源相關 |
FScreenUtils.java | 屏幕相關 |
FSharedPreferencesUtils.java | SharedPreferences相關 |
FTimeUtils.java | 時間操做 |
FToastUtils.java | Toast |
FUtils.java | 初始化該框架 |
FValidatorUtils.java | 驗證相關 |
FZipUtils.java | 文件解壓縮類 |
NanoHTTPD.java | android 使用的小型簡單的webservers |
FEmptyView.java | 空提示界面 |
類名 FActivityLifecycleCallbacks.javagithub
說明 activity 生命週期管理web
方法描述數據庫
方法 | 描述 |
---|---|
addActivity | 添加activity |
currentActivity | 獲取當前activity |
removeActivity | 結束activity |
beforeActivity | 獲取前一個activity |
finishActivity | 結束指定類名的activity |
removeAllActivities | 銷燬全部activity |
類名 FAppUtils.java數組
說明 app相關信息緩存
方法描述bash
方法 | 描述 |
---|---|
getAppPackageName | 獲取App包名 |
getAppName | 獲取App名稱 |
getVerCode | 獲取App版本號 |
getVerName | 獲取App版本名稱 |
installApk | 安裝App |
uninstallApk | 卸載App |
isServiceRunning | 檢測服務是否運行 |
stopRunningService | 中止運行服務 |
getSign | 獲取應用簽名 |
hexdigest | 簽名byte數組轉32位簽名字符串 |
類名 FApplication.java網絡
說明 Application
方法描述 無
說明 assets raw 相關操做
方法描述
方法 | 描述 |
---|---|
assetsDataToSD | 拷貝assets下的文件到sd卡 |
getAssetsToString | 讀取assets文件內容 |
readAssetsByteArray | 讀取assets文件 轉byte數組 |
getRawToString | 讀取raw文件內容 |
readRawFileToByteArray | 讀取raw文件 轉byte數組 |
copyRawFileToSdcard | 複製raw文件到sd卡 |
說明 清理app緩存
方法描述
方法 | 描述 |
---|---|
cleanInternalCache | 清除本應用內部緩存 |
cleanDatabases | 清除本應用全部數據庫 |
cleanDatabaseByName | 按名字清除本應用數據庫 |
cleanSharedPreference | 清除本應用SharedPreference |
cleanFiles | 清除本應用files下的內容 |
cleanExternalCache | 清除外部cache下的內容 |
cleanCustomCache | 清除自定義路徑下的文件 |
cleanApplicationData | 清除本應用全部及自定義文件路徑的數據 |
說明 防止重複點擊
方法描述 無
說明 關閉數據流
方法描述
方法 | 描述 |
---|---|
closeIO | 關閉IO |
說明 數據轉換
方法描述
方法 | 描述 |
---|---|
string2MD5 | 對字符串md5加密 |
stringToBase64 | String轉 Base64字符串 |
base64ToByte | Base64字符串轉bytes |
px2dip | 將px值轉換爲dip或dp值 |
dip2px | 將dip或dp值轉換爲px值 |
px2sp | 將px值轉換爲sp值 |
sp2px | 將sp值轉換爲px值 |
input2OutputStream | inputStream轉outputStream |
output2InputStream | outputStream轉inputStream |
inputStream2Bytes | inputStream轉byteArr |
bytes2InputStream | byteArr轉inputStream |
outputStream2Bytes | outputStream轉byteArr |
bytes2OutputStream | byteArr轉outputStream |
inputStream2String | inputStream轉string按編碼 |
string2InputStream | string轉inputStream按編碼 |
outputStream2String | outputStream轉string按編碼 |
string2OutputStream | string轉outputStream按編碼 |
obj2Map | 對象轉map |
map2String | map轉字符串 |
getFormatSize | 格式化KB MB GB 單位 |
說明 app異常退出捕獲
方法描述 無
說明 數據庫導出到sd卡
方法描述
方法 | 描述 |
---|---|
startExportDatabase | 導出數據庫 |
說明 加密相關
方法描述
方法 | 描述 |
---|---|
encryptMD2ToString | MD2加密 |
encryptMD5ToString | MD5加密 |
encryptMD5File2String | MD5加密文件 |
encryptSHA1ToString | SHA1加密 |
encryptSHA224ToString | SHA224加密 |
encryptSHA256ToString | SHA256加密 |
encryptSHA384ToString | SHA384加密 |
encryptSHA512ToString | SHA512加密 |
hashTemplate | hash加密模板 |
encryptHmacMD5ToString | HmacMD5加密 |
encryptHmacSHA1ToString | HmacSHA1加密 |
encryptHmacSHA224ToString | HmacSHA224加密 |
encryptHmacSHA256ToString | HmacSHA256加密 |
encryptHmacSHA384ToString | HmacSHA384加密 |
encryptHmacSHA512ToString | HmacSHA512加密 |
hmacTemplate | Hmac加密模板 |
encryptDES | DES加密 |
decryptDES | DES解密 |
encrypt3DES | 3DES加密 |
decrypt3DES | 3DES解密 |
encryptAES | AES加密 |
decryptAES | AES解密 |
說明 文件操做工具
方法描述
方法 | 描述 |
---|---|
getRootDir | 獲取根目錄 |
mkDir | 可建立文件夾 |
creatFile | 建立文件 |
delFile | 刪除文件 |
delDir | 刪除文件夾 |
copyFileTo | 拷貝文件 |
moveFileTo | 移動文件 |
moveFilesTo | 移動文件目錄 |
file2byte | 文件轉byte數組 |
readFile | 文件讀取 |
inputStreamToFile | InputStream轉文件 |
file2Inp | 文件轉InputStream |
writeText | 寫入數據到文件 |
writeByteArrayToFile | byte數組轉文件 |
appendText | 文件追加數據 |
appendText | 文件追加數據,可追加數據到頭部 |
getLength | 獲取文件大小 |
getFileName | 獲取文件名 |
exists | 判斷文件是否存在 |
orderByDate | 按文件時間排序 |
orderByName | 按文件名稱排序 |
orderByLength | 按文件大小排序 |
filter | 文件篩選 |
getFiles | 獲取文件列表 |
說明 漢字轉拼音
方法描述
方法 | 描述 |
---|---|
get | 漢字轉拼音 |
說明 圖片工具
方法描述
方法 | 描述 |
---|---|
bitmap2Bytes | bitmap轉byteArr |
bytes2Bitmap | byteArr轉bitmap |
yuv2Jpeg | yuv轉jpeg |
bitmap2StrByBase64 | 將Bitmap轉換成Base64字符串 |
base64ToBitmap | Base64字符串轉bitmap |
drawable2Bytes | drawable轉byteArr |
bytes2Drawable | byteArr轉drawable |
readPictureDegree | 讀取圖片屬性:旋轉的角度 |
rotaingImageView | 旋轉圖片 |
drawable2Bitmap | drawable轉bitmap |
bitmap2Drawable | bitmap轉drawable |
view2Bitmap | view轉bitmap |
getBitmap | 獲取bitmap |
scale | 縮放圖片 |
clip | 裁剪圖片 |
skew | 傾斜圖片 |
rotate | 旋轉圖片 |
toRound | 轉爲圓形圖片 |
toRoundCorner | 轉爲圓角圖片 |
addCornerBorder | 添加圓角邊框 |
addBorder | 添加邊框 |
addReflection | 添加倒影 |
addTextWatermark | 添加文字水印 |
addImageWatermark | 添加圖片水印 |
toAlpha | 轉爲alpha位圖 |
toGray | 轉爲灰度圖片 |
fastBlur | 高斯模糊 |
binaryzation | 圖片二值化 |
save | 保存圖片 |
isImage | 根據文件名判斷文件是否爲圖片 |
getImageType | 獲取圖片類型 |
compressByScale | 按縮放壓縮 |
compressByQuality | 按質量壓縮 |
compressBySampleSize | 按採樣大小壓縮 |
說明 獲取鍵盤高度
方法描述 無
說明 軟鍵盤上方顯示EditText
方法描述 無
使用方法 FKeyBoardUI. buildKeyBoardUI(Activity)
說明 軟鍵盤顯示隱藏
方法描述
方法 | 描述 |
---|---|
openKeybord | 打開軟鍵盤 |
closeKeybord | 關閉軟鍵盤 |
hideInputForce | 隱藏軟鍵盤 |
showInput | 打開鍵盤 |
說明 訪問手機log內網webservers
方法描述 無
使用 結合FLogUtils使用
說明 日誌操做
方法描述
方法 | 描述 |
---|---|
startLogServer | 啓動log的WebServer服務 |
stopLogServer | 關閉log的WebServer服務 |
e | 打印log |
setCrash | 保存app異常退出時的log |
debug | 是否開啓bebug模式 |
saveSD | 是否保存到sd卡 |
saveCrash | 是否保存crash信息 |
setLogSize | 設置log文件大小 |
setlogDir | 設置log文件目錄 |
說明 獲取AndroidManifest.xml的部分數據
方法描述
方法 | 描述 |
---|---|
getRegPermission | 獲取manifest有註冊的權限 |
getApplicationInfo | 獲取 ApplicationInfo |
getAppMetaData | 獲取application應用元素 |
getAppMetaDataResourceId | 獲取application應用元素的對應的資源id值 |
getActivityInfo | 獲取 ActivityInfo |
getActivityMetaData | 獲取activity應用元素 |
getActivityMetaDataResourceId | 獲取activity應用元素的對應的資源id值 |
getReceiverMetaData | 獲取receiver應用元素 |
getReceiverMetaDataResourceId | 獲取receiver應用元素的對應的資源id值 |
getServiceInfo | 獲取ServiceInfo |
getServiceMetaData | 獲取service應用元素 |
getServiceMetaDataResourceId | 獲取service應用元素的對應的資源id值 |
說明 網絡相關
方法描述
方法 | 描述 |
---|---|
openWirelessSettings | 打開網絡設置界面 |
getActiveNetworkInfo | 獲取活動網絡信息 |
isConnected | 判斷網絡是否鏈接 |
getNetworkOperatorName | 獲取網絡運營商名稱 |
isNetworkAvailable | 判斷網絡鏈接是否打開,包括移動數據鏈接 |
isWifi | 檢測當前打開的網絡類型是否WIFI |
is3G | 檢測當前打開的網絡類型是否3G |
is4G | 檢測當前打開的網絡類型是否4G |
isWiFi | 是否打開Wifi |
setDataEnabled | 打開或關閉移動數據 |
setWifiEnabled | 打開或關閉wifi |
getNetworkType | 判斷當前是否網絡鏈接 |
getUrlParams | 獲取URL中參數 並返回Map |
getIPAddress | 獲取ip地址 |
說明 權限申請
方法描述
方法 | 描述 |
---|---|
onRequestPermissionsResult | 請求權限結果 |
getDeniedPermissions | 獲取請求權限中須要受權的權限 |
hasAlwaysDeniedPermission | 是否完全拒絕了某項權限 |
shouldShowRequestPermissionRationale | 是否有權限須要說明提示 |
requestPermissions | 請求權限 |
使用 該方法 onRequestPermissionsResult() 對應到Activity中的 onRequestPermissionsResult()方法。
說明 設備相關
方法描述
方法 | 描述 |
---|---|
isPhone | 判斷設備是不是手機 |
getIMEI | 獲取IMEI碼 |
getIMSI | 獲取IMSI碼 |
getPhoneType | 獲取移動終端類型 |
isSimCardReady | 判斷sim卡是否準備好 |
getSimOperatorName | 獲取Sim卡運營商名稱 |
getSimOperatorName | 獲取Sim卡運營商名稱 |
getPhoneStatus | 獲取手機狀態信息 |
getAllContactInfo | 獲取手機聯繫人 |
getAllSMS | 獲取手機短信並保存到xml中 |
說明 獲取資源相關
方法描述
方法 | 描述 |
---|---|
getAnimResources | 獲取Anim資源 |
getMipmapResources | 獲取Mipmap資源 |
getIdResources | 獲取Id資源 |
getDrawableResources | 獲取Drawable資源 |
getColorResources | 獲取Color資源 |
getStringResources | 獲取String資源 |
getLayoutResources | 獲取Layout資源 |
getAttrResources | 獲取Attr資源 |
getStyleResources | 獲取Style資源 |
getStyleable | 獲取styleable資源 |
說明 屏幕相關
方法描述
方法 | 描述 |
---|---|
getScreen | 得到屏幕寬高pix |
getStatusHeight | 得到狀態欄的高度pix |
getTitleHeight | 得到標題欄的高度pix |
snapShotWithStatusBar | 獲取當前屏幕截圖,包含狀態欄 |
snapShotWithoutStatusBar | 獲取當前屏幕截圖,不包含狀態欄 |
setFullScreen | 設置屏幕爲全屏 |
setLandscape | 設置屏幕爲橫屏 |
setPortrait | 設置屏幕爲豎屏 |
isLandscape | 判斷是否橫屏 |
isPortrait | 判斷是否豎屏 |
getScreenRotation | 獲取屏幕旋轉角度 |
isScreenLock | 判斷是否鎖屏 |
setSleepDuration | 設置進入休眠時長 |
getSleepDuration | 獲取進入休眠時長 |
isTablet | 判斷是不是平板 |
說明 SharedPreferences
方法描述
方法 | 描述 |
---|---|
putInt | 保存int |
putBoolean | 保存Boolean |
putFloat | 保存Float |
putLong | 保存Long |
putString | 保存String |
putStringSet | 保存StringSet |
clear | 清除數據 |
clearByKey | 清除key中的數據 |
說明 時間操做
方法描述
方法 | 描述 |
---|---|
stringToDate | 字符串轉日期類型 |
dateToString | 日期轉字符串 |
getDaysOfMonth | 獲取某年某月的天數 |
getToday | 得到當前日期 |
getToMonth | 得到當前月份 |
getToYear | 得到當前年份 |
getDay | 返回日期的天 |
getYear | 返回日期的年 |
getMonth | 返回日期的月份,1-12 |
dayDiff | 計算兩個日期相差的天數 |
yearDiff | 比較兩個日期的年差 |
getFristDayTime | 獲取一天的開始時間 |
getLastDayTime | 獲取一天的結束時間 |
yearDiffCurr | 比較指定日期與當前日期的差 |
getFirstWeekdayOfMonth | 獲取每個月的第一週 |
getLastWeekdayOfMonth | 獲取每個月的最後一週 |
getFirstDayOfMonth | 獲取本月第一天 |
getLastDayOfMonth | 獲取本月最後一天 |
isDate | 判斷日期是否有效,包括閏年的狀況 |
getAstro | 根據生日獲取星座 |
說明 Toast
方法描述
方法 | 描述 |
---|---|
setConf | 配置相關參數 |
showMessage | 顯示短期的Toast |
showLongMsg | 顯示長時間的Toast |
使用 FToastUtils. getInstant(). showMessage(); FToastUtils. getInstant(). setConf(conf).showMessage();
類名 FUtils.java
說明 初始化框架
方法描述 無
使用 FUtils.init(Application)
說明 驗證相關
方法描述
方法 | 描述 |
---|---|
isMobileSimple | 驗證手機號(簡單) |
isMobileExact | 驗證手機號(精確) |
isTel | 驗證電話號碼 |
isIDCard15 | 驗證身份證號碼15位 |
isIDCard18 | 驗證身份證號碼18位 |
isEmail | 驗證郵箱 |
isURL | 驗證URL |
isZh | 驗證漢字 |
isUsername | 驗證用戶名 |
isDate | 驗證yyyy-MM-dd格式的日期校驗 |
isIP | 驗證IP地址 |
isIP | 驗證IP地址 |
說明 文件解壓縮類
方法描述
方法 | 描述 |
---|---|
zipFile | 壓縮文件 |
unzipFile | 解壓文件 |
說明 android 使用的小型簡單的webservers
方法描述 無
使用 參照 FLogNetServer.java
但願各位在使用中遇到什麼問題或建議能夠用如下聯繫方式進行反饋