使用環境:
項目創建之初,快速開發使用
使用方法:
1 項目Object下的build.gradle添加:
allprojects {
repositories {
maven{url "https://jitpack.io"}
}
}
2 APP下build.gradle添加:
implementation "com.github.vondear:RxTools:v1.7.3.4"
3 初始化:
public class GRApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
//使用詳解:https://github.com/vondear/RxTool
RxUtils.init(this);
}
}
使用集錦
自定義控件:
RxToast : Toast的封裝
RxTitle : 自定義標題控件
RxTextAutoZoom : 文字根據佈局大小自動縮放效果
RxRunTextView : TextView實現跑馬燈效果
RxTextviewVertical : 單行文字上下滾動
RxTextViewVerticalMore : 多行文字上下滾動
RxAutoImageView : ImageView實現自動左右移動效果
RxBarCode : 條形碼控件(需拷貝jniLibs目錄)
RxQRCode : 二維碼控件(需拷貝jniLibs目錄)
RxNetSpeedView : 顯示當前網速控件
RxToolTip : 實現popupWindow效果
RxRoundProgress : 實現弧形進度條
RxProgressBar : 自定義進度條
RxShoppingView : 商品數量加減控件
RxSeatMovie : 電影院選座控件
RxSeatAirplane : 飛機票選座控件
RxRulerWheelView : 刻度橫向滾動控件
RxCaptcha : 驗證碼控件
dialog封裝:
skipTools : 隱藏頭部導航欄狀態欄
setFullScreen : 文字根據佈局大小自動縮放效果
setFullScreenWidth : 設置寬度match_parent
setFullScreenHeight : 設置高度爲match_parent
setOnWhole : 設置成全局Dialog
activity相關封裝:
ActivityBase : 封裝了FragmentActivity與Context成員參數
ActivityCodeTool : 封裝了生成二維碼與條形碼的Activity
ActivityScanerCode : 封裝了掃描二維碼與條形碼的Activity
ActivityWebView : 封裝了可播放視頻、獲取網頁標題並可根據內容自動適應大小WebView的Activity
isExistActivity : 判斷是否存在指定Activity
launchActivity : 打開指定的Activity
skipActivity : 跳轉到指定Activity
skipActivityAndFinish : 跳轉到指定Activity並關閉當前Activity
skipActivityAndFinishAll : 跳轉後Finish之前所有的Activity
skipActivityForResult : activityForResult封裝
getLauncherActivity : 獲取launcher activity
相關使用方法:
二維碼:
hideKeyboard : 點擊隱藏軟鍵盤
countDown : 倒計時(獲取驗證碼倒計時)
showToast : 封裝了Toast的方法
fixListViewHeight : 手動計算出listView的高度,但是不再具有滾動效果
createQRImage : 生成二維碼
drawLinecode : 生成條形碼
Md5 : 生成MD5加密32位字符串
圖像相關:
單位轉換
dp2px : dp轉px
dip2px : dip轉px
px2dp : px轉dp
px2dip : px轉dip
sp2px : sp轉px
px2sp : px轉sp
圖片處理相關
bitmap2Bytes : bitmap轉byteArr
bytes2Bitmap : byteArr轉bitmap
drawable2Bitmap : drawable轉bitmap
bitmap2Drawable : bitmap轉drawable
drawable2Bytes : drawable轉byteArr
bytes2Drawable : byteArr轉drawable
calculateInSampleSize : 計算採樣大小
getBitmap : 從文件/InputStream流/resId中獲取bitmap
scale : 縮放圖片
clip : 裁剪圖片
skew : 傾斜圖片
rotate : 旋轉圖片
getRotateDegree : 獲取圖片旋轉角度
toRound : 轉爲圓形圖片
toRoundCorner : 轉爲圓角圖片
fastBlur : 快速模糊
renderScriptBlur : renderScript模糊圖片(API大於17)
stackBlur : stack模糊圖片
addFrame : 添加顏色邊框
addReflection : 添加倒影
addTextWatermark : 添加文字水印
addImageWatermark : 添加圖片水印
toAlpha : 轉爲alpha位圖
toGray : 轉爲灰度圖片
save : 保存圖片
isImage : 根據文件名判斷文件是否爲圖片
getImageType : 獲取圖片類型
圖片壓縮有關
compressByScale : 按縮放壓縮
compressByQuality : 按質量壓縮
compressBySampleSize : 按採樣大小壓縮
GetLocalOrNetBitmap : 得到本地或者網絡上的bitmap
getColorByInt : 將16進制的顏色轉化成10進制
FilpAnimation : 界面翻轉動畫
數據判斷處理:
數據的判斷
isNullString :判斷字符串是否爲空 爲空即true
isEmpty : 判斷對象是否爲空 爲空即true
isInteger :判斷字符串是否是整數
isDouble :判斷字符串是否是浮點數
isNumber :判斷字符串是否是數字
getAstro :根據日期判斷星座
數據的轉換
stringToInt :字符串轉換成整數 ,轉換失敗將會 return 0;
stringToLong :字符串轉換成long ,轉換失敗將會 return 0;
stringToDouble :字符串轉換成double ,轉換失敗將會 return 0;
simpleDateFormat :將date轉換成format格式的日期
Date2Timestamp : 將日期字符串 按照 指定的格式 轉換成 DATE
getDate :時間戳 轉換成 指定格式的日期
string2Timestamp :將 yyyy年MM月dd日 轉換成 時間戳
getCurrentDateTime :獲取當前日期時間 / 得到今天的日期
getYestoryDate :得到昨天的日期
formatTime :視頻時間 轉換成 "mm:ss"
formatSeconds :"mm:ss" 轉換成 視頻時間
getDaysByYearMonth :根據年 月 獲取對應的月份 天數
StringToInputStream :字符串轉InputStream
upperFirstLetter :首字母大寫
lowerFirstLetter :首字母小寫
reverse :反轉字符串
toDBC :轉化爲半角字符
toSBC :轉化爲全角字符
oneCn2ASCII :單個漢字轉成ASCII碼
oneCn2PY :單個漢字轉成拼音
getPYFirstLetter :獲得第一個漢字首字母
cn2PY :中文轉拼音
bytes2HexString :byteArr轉hexString
hexString2Bytes :hexString轉byteArr
hex2Dec :hexChar轉int
chars2Bytes :charArr轉byteArr
bytes2Chars :byteArr轉charArr
byte2Size :字節數轉以unit爲單位的size
size2Byte :以unit爲單位的size轉字節數
byte2FitSize :字節數轉合適大小
input2OutputStream :inputStream轉outputStream
output2InputStream :outputStream轉inputStream
inputStream2Bytes :inputStream轉byteArr
bytes2InputStream :byteArr轉inputStream
outputStream2Bytes :outputStream轉byteArr
bytes2OutputStream :outputStream轉byteArr
inputStream2String :inputStream轉string按編碼
string2InputStream :string轉inputStream按編碼
outputStream2String :outputStream轉string按編碼
string2OutputStream :string轉outputStream按編碼
正則判斷
isMobile :判斷是否爲真實手機號
isMobileSimple :驗證手機號(簡單)
isMobileExact :驗證手機號(精確)
isTel :驗證電話號碼
isBankCard :驗證銀卡卡號
validateIdCard :15位和18位身份證號碼的正則表達式 身份證驗證
isIDCard15 :驗證身份證號碼15位
isIDCard18 :驗證身份證號碼18位
isEmail :驗證郵箱
isURL :驗證URL
isChz :驗證漢字
isUsername :驗證用戶名
isDate :驗證yyyy-MM-dd格式的日期校驗,已考慮平閏年
isIP :驗證IP地址
isMatch :string是否匹配regex
stringFormat : String.Format方法的封裝
hideMobilePhone :隱藏手機中間4位號碼
formatCard :格式化銀行卡 隱藏中間8位號碼
formatCardEndFour :獲取銀行卡後四位
format2Decimals :將字符串格式化爲帶兩位小數的字符串
動畫:
animationColorGradient : 顏色漸變動畫
cardFilpAnimation : 卡片翻轉動畫
apk相關:
InstallAPK :安裝APK
installApp : 安裝App(支持6.0)
installAppSilent : 靜默安裝App
uninstallApp : 卸載App
uninstallAppSilent : 靜默卸載App
isAppRoot : 判斷App是否有root權限
launchApp : 打開App
getAppPackageName : 獲取App包名
getAppDetailsSettings : 獲取App具體設置
getAppName : 獲取App名稱
getAppIcon : 獲取App圖標
getAppPath : 獲取App路徑
getAppVersionName : 獲取App版本號
getAppVersionCode : 獲取App版本碼
isSystemApp : 判斷App是否是系統應用
isAppDebug : 判斷App是否是Debug版本
getAppSignature : 獲取App簽名
getAppSignatureSHA1 : 獲取應用簽名的的SHA1值
isInstallApp : 判斷App是否安裝
getAppInfo : 獲取當前App信息
getBean : 得到AppInfo的Bean
getAllAppsInfo : 獲取所有已安裝App信息
isAppBackground :判斷當前App處於前臺還是後臺
狀態欄相關:
setTransparentStatusBar : 設置透明狀態欄(api大於19方可使用)
hideStatusBar : 隱藏狀態欄
noTitle :隱藏Title
FLAG_FULLSCREEN : 設置全屏
getStatusBarHeight : 獲取狀態欄高度
isStatusBarExists : 判斷狀態欄是否存在
getActionBarHeight : 獲取ActionBar高度
showNotificationBar : 顯示通知欄
hideNotificationBar : 隱藏通知欄
invokePanels : 反射喚醒通知欄
照相機相關:
getOpenCameraIntent : 獲取打開照程序界面的Intent
getImagePickerIntent : 獲取[跳轉至相冊選擇界面,並跳轉至裁剪界面,可以指定是否縮放裁剪區域]的Intent
getCameraIntent : 獲取[跳轉至相冊選擇界面,並跳轉至裁剪界面,默認可縮放裁剪區域]的Intent
getCropImageIntent : 獲取[跳轉至裁剪界面]的Intent
getChoosedImage : 獲得選中相冊的圖片
getChoosedImagePath : 獲得選中相冊的圖片路徑
getTakePictureFile : 獲取拍照之後的照片文件(JPG格式)
openCameraImage : 調用系統相機
openLocalImage : 調用系統相冊
cropImage : 裁剪圖片
createImagePathUri : 創建一條圖片地址uri,用於保存拍照後的照片
getRealFilePath : 獲取圖片uri的真實文件地址
編解碼工具類:
urlEncode :URL編碼
urlDecode :URL解碼
base64Encode :Base64編碼
base64Encode2String :Base64編碼
base64Decode :Base64解碼
base64UrlSafeEncode :Base64URL安全編碼
htmlEncode :Html編碼
htmlDecode :Html解碼
加解密工具類:
哈希加密相關
encryptMD2ToString :MD2加密
encryptMD2 :MD2加密
encryptMD5ToString :MD5加密
encryptMD5 :MD5加密
encryptMD5File2String :MD5加密文件
encryptMD5File :MD5加密文件
encryptSHA1ToString :SHA1加密
encryptSHA1 :SHA1加密
encryptSHA224ToString :SHA224加密
encryptSHA224 :SHA224加密
encryptSHA256ToString :SHA256加密
encryptSHA256 :SHA256加密
encryptSHA384ToString :SHA384加密
encryptSHA384 :SHA384加密
encryptSHA512ToString :SHA512加密
encryptSHA512 :SHA512加密
encryptAlgorithm :對data進行algorithm算法加密
DES加密相關
DESTemplet :DES加密
encryptDES :DES加密
encryptDES2Base64 :DES加密後轉爲Base64編碼
encryptDES2HexString :DES加密後轉爲16進制
decryptBase64DES :DES解密Base64編碼密文
decryptHexStringDES :DES解密16進制密文
decryptDES :DES解密
3DES加密相關
encrypt3DES2Base64 :3DES加密後轉爲Base64編碼
encrypt3DES2HexString :3DES加密後轉爲16進制
encrypt3DES :3DES加密
decryptBase64_3DES :3DES解密Base64編碼密文
decryptHexString3DES :3DES解密16進制密文
decrypt3DES :3DES解密
AES加密相關
encryptAES2Base64 :AES加密後轉爲Base64編碼
encryptAES2HexString :AES加密後轉爲16進制
encryptAES :AES加密
decryptBase64AES :AES解密Base64編碼密文
decryptHexStringAES :AES解密16進制密文
decryptAES :AES解密
File文件操作:
SD卡操作
getRootPath : 得到SD卡根目錄
getCecheFolder :獲取本應用圖片緩存目錄
isSDCardEnable :判斷SD卡是否打開
getSDCardPath :獲取SD卡路徑
getDataPath :獲取SD卡Data路徑
getFreeSpace :獲取SD卡剩餘空間
sdCardIsAvailable :SD卡是否可用
fileExists :文件或者文件夾是否存在
delAllFile :刪除指定文件夾下所有文件, 不保留文件夾.
copy :文件複製(文件路徑)
copyFile :複製文件(文件/InputStream流)
copyFolder :複製整個文件夾內
renameFile :重命名文件
getSDCardAvailaleSize :獲取磁盤可用空間
getDirSize :獲取某個目錄可用大小
getFileAllSize :獲取文件或者文件夾大小
initFile :創建一個文件
initDirectory :創建一個文件夾
saveFile :保存InputStream流到文件
saveFileUTF8 :用UTF8保存一個文件
getFileUTF8 :用UTF8讀取一個文件
getFileIntent :得到一個文件Intent
getDiskCacheDir :獲取緩存目錄
getDiskFileDir :獲取緩存視頻文件目錄
mergeFiles :多個文件拼接合並
getNativeM3u :將在線的m3u8替換成本地的m3u8
write :將字符串 保存成 文件
TextToFile :傳入文件名以及字符串, 將字符串信息保存到文件中
GetAllFileName :獲取 搜索的路徑 下的 所有 後綴 的文件
readFileByLines :以行爲單位讀取文件,常用於讀面向行的格式化文件
getFileByPath :根據文件路徑獲取文件
isFileExists :判斷文件是否存在
isDir :判斷是否是目錄
isFile :判斷是否是文件
createOrExistsDir :判斷目錄是否存在,不存在則判斷是否創建成功
createOrExistsFile :判斷文件是否存在,不存在則判斷是否創建成功
createFileByDeleteOldFile :判斷文件是否存在,存在則在創建之前刪除
copyOrMoveDir :複製或移動目錄
copyOrMoveFile :複製或移動文件
copyDir :複製目錄
copyFile :複製文件
moveDir :移動目錄
moveFile :移動文件
deleteDir :刪除目錄
deleteFile :刪除文件
listFilesInDir :獲取目錄下所有文件
listFilesInDirWithFilter :獲取目錄下所有後綴名爲suffix的文件
searchFileInDir :獲取目錄下指定文件名的文件包括子目錄
writeFileFromIS :將輸入流寫入文件
writeFileFromString :將字符串寫入文件
readFile2List :指定編碼按行讀取文件到List
readFile2String :指定編碼按行讀取文件到字符串中
readFile2Bytes :指定編碼按行讀取文件到字符數組中
getFileCharsetSimple :簡單獲取文件編碼格式
getFileLines :獲取文件行數
getFileSize :獲取文件大小
getFileMD5 :獲取文件的MD5校驗碼
closeIO :關閉IO
getDirName :獲取全路徑中的最長目錄
getFileName :獲取全路徑中的文件名
getFileNameNoExtension :獲取全路徑中的不帶拓展名的文件名
getFileExtension :獲取全路徑中的文件拓展名
清除數據
cleanInternalCache : 清除內部緩存
cleanInternalFiles : 清除內部文件
cleanInternalDbs : 清除內部數據庫
cleanInternalDbByName : 根據名稱清除數據庫
cleanInternalSP : 清除內部SP
cleanExternalCache : 清除外部緩存
cleanCustomCache : 清除自定義目錄下的文件
複製粘貼相關:
copyText : 複製文本到剪貼板
getText : 獲取剪貼板的文本
copyUri : 複製uri到剪貼板
getUri : 獲取剪貼板的uri
copyIntent : 複製意圖到剪貼板
getIntent : 獲取剪貼板的意圖
intent分享或者其他相關:
getInstallAppIntent : 獲取安裝App(支持6.0)的意圖
getUninstallAppIntent : 獲取卸載App的意圖
getLaunchAppItent : 獲取打開App的意圖
getAppInfoIntent : 獲取App信息的意圖
getShareInfoIntent : 獲取App信息分享的意圖
getIntentByPackageName : 根據包名獲取意圖
getComponentNameIntent : 獲取其他應用的Intent
鍵盤相關:
hideSoftInput : 動態隱藏軟鍵盤
showSoftInput : 動態顯示軟鍵盤
toggleSoftInput : 切換鍵盤顯示與否狀態
網絡相關:
ping : 判斷是否有外網連接
isWifiEnabled : 判斷WIFI是否打開
is3rd : 判斷是否爲3G網絡
isWifi : 判斷網絡連接方式是否爲WIFI
isNetworkAvailable : 判斷網絡連接是否可用
isGpsEnabled : GPS是否打開
getNetWork : 獲取當前網絡狀態
openWirelessSettings : 打開網絡設置界面
getActiveNetworkInfo : 獲取活動網絡信息
isAvailable : 判斷網絡是否可用
isConnected : 判斷網絡是否連接
is4G : 判斷網絡是否是4G
isWifiConnected : 判斷wifi是否連接狀態
getNetworkOperatorName : 獲取移動網絡運營商名稱
getPhoneType : 獲取移動終端類型
getNetWorkType : 獲取當前的網絡類型
getNetWorkTypeName : 獲取當前的網絡類型名稱
service相關:
isRunningService : 獲取服務是否開啓
root相關:
isRoot : 判斷設備是否root
execCmd : 是否是在root下執行命令
緩存相關:
putContent : 單條方式存入SharedPreferences
getContent : 獲取標記爲tag的值
putJSONCache : 存放JSON緩存數據
readJSONCache : 讀取JSON緩存數據
clearPreference : 清除指定的信息(若爲null 則刪除name下所有的鍵值)
時間相關:
putContent : 單條方式存入SharedPreferences
getContent : 獲取標記爲tag的值
putJSONCache : 存放JSON緩存數據
readJSONCache : 讀取JSON緩存數據
clearPreference : 清除指定的信息(若爲null 則刪除name下所有的鍵值)
壓縮相關:
zipFiles : 批量壓縮文件
zipFile : 壓縮文件
unzipFiles : 批量解壓文件
unzipFile : 解壓文件
unzipFileByKeyword : 解壓帶有關鍵字的文件
getFilesPath : 獲取壓縮文件中的文件路徑鏈表
getComments : 獲取壓縮文件中的註釋鏈表
getEntries : 獲取壓縮文件中的文件對象
線程池相關:
RxThreadPoolUtils :ThreadPoolUtils構造函數
execute :在未來某個時間執行給定的命令(鏈表)
shutDown :待以前提交的任務執行完畢後關閉線程池
shutDownNow :試圖停止所有正在執行的活動任務
isShutDown :判斷線程池是否已關閉
isTerminated :關閉線程池後判斷所有任務是否都已完成
awaitTermination :請求關閉、發生超時或者當前線程中斷
submit :提交一個Runnable任務用於執行
invokeAll :執行給定的任務
invokeAny :執行給定的任務
schedule :延遲執行Runnable命令
scheduleWithFixedRate :延遲並循環執行命令
scheduleWithFixedDelay :延遲並以固定休息時間循環執行命令
設備工具類相關:
屏幕相關
getScreenHeight :得到屏幕的高
getScreenWidth :得到屏幕的寬
getScreenWidths :得到設備屏幕的寬度
getScreenHeights :得到設備屏幕的高度
getScreenDensity :得到設備的密度
setLandscape :設置屏幕爲橫屏
setPortrait :設置屏幕爲豎屏
isLandscape :判斷是否橫屏
isPortrait :判斷是否豎屏
getScreenRotation :獲取屏幕旋轉角度
captureWithStatusBar :獲取當前屏幕截圖,包含狀態欄
captureWithoutStatusBar :獲取當前屏幕截圖,不包含狀態欄
getDisplayMetrics :獲取DisplayMetrics對象
isScreenLock :判斷是否鎖屏
硬件信息相關
getUniqueSerialNumber :獲取手機唯一標識序列號
getIMEI :獲取設備的IMEI
getIMSI :獲取設備的IMSI
getDeviceSoftwareVersion :獲取設備的軟件版本號
getLine1Number :獲取手機號
getNetworkCountryIso :獲取ISO標準的國家碼,即國際長途區號
getNetworkOperator :獲取設備的 MCC + MNC
getNetworkOperatorName :獲取(當前已註冊的用戶)的名字
getNetworkType :獲取當前使用的網絡類型
getPhoneType :獲取手機類型
getSimCountryIso :獲取SIM卡的國家碼
getSimOperator :獲取SIM卡提供的移動國家碼和移動網絡碼.5或6位的十進制數字
getSimOperatorName :獲取服務商名稱
getSimSerialNumber :獲取SIM卡的序列號
getSimState :獲取SIM的狀態信息
getSubscriberId :獲取唯一的用戶ID
getVoiceMailNumber :獲取語音郵件號碼
getAndroid_id :獲取ANDROID ID
getBuildBrandModel :獲取設備型號,如MI2SC
getBuildBrand :獲取設備品牌名稱
getBuildMANUFACTURER :獲取設備廠商,如Xiaomi
getSerialNumber :獲取序列號
getAppVersionNo :獲取App版本號
getAppVersionName :獲取App版本名稱
checkPermission :檢查權限
getDeviceInfo :獲取設備信息
ThroughArray :遍歷LOG輸出HashMap
getMacAddress :獲取設備MAC地址
手機操作相關
isPhone :判斷設備是否是手機
getPhoneStatus :獲取手機狀態信息
dial :跳至填充好phoneNumber的撥號界面
callPhone :撥打電話
sendSms :發送短信
getAllContactInfo :獲取手機聯繫人
getContantNum :打開手機聯繫人界面點擊聯繫人後便獲取該號碼
getAllSMS :獲取手機短信並保存到xml中
內容轉載自:https://blog.csdn.net/m0_37314675/article/details/77850849
rxTools是一個款功能全面的工具,老實說,用習慣了會讓我懶惰的,但是快速開發就除外了。
謝謝大佬們的分享!