Android工具類RxTool使用

使用環境:

               項目創建之初,快速開發使用

使用方法:

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是一個款功能全面的工具,老實說,用習慣了會讓我懶惰的,但是快速開發就除外了。

謝謝大佬們的分享!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章