亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > WEB開發 > 正文

19個Android常用工具類匯總

2024-04-29 21:01:10
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了19個Android常用工具類匯總,需要的朋友可以參考下
 
 

主要介紹總結的Android開發中常用的工具類,大部分同樣適用于Java。
目前包括HttpUtils、DownloadManagerPro、ShellUtils、PackageUtils、PreferencesUtils、JSONUtils、FileUtils、ResourceUtils、StringUtils、ParcelUtils、RandomUtils、ArrayUtils、ImageUtils、ListUtils、MapUtils、ObjectUtils、SerializeUtils、SystemUtils、TimeUtils。

The English version of this article see:Android Common Utils

所有代碼都在TrineaAndroidCommon@Github中,歡迎Star或Fork^_*,除這些工具類外此項目還包括緩存、下拉ListView等。詳細接口介紹可見TrineaAndroidCommon API Guide。

具體使用:可直接引入TrineaAndroidCommon作為你項目的library(如何拉取代碼及添加公共庫),或是自己抽取其中的部分使用。

1、HttpUtils

Http網絡工具類,主要包括httpGet、httpPost以及http參數相關方法,以httpGet為例:
static HttpResponse httpGet(HttpRequest request)
static HttpResponse httpGet(java.lang.String httpUrl)
static String httpGetString(String httpUrl)
包含以上三個方法,默認使用gzip壓縮,使用bufferedReader提高讀取速度。
HttpRequest中可以設置url、timeout、userAgent等其他http參數
HttpResponse中可以獲取返回內容、http響應碼、http過期時間(Cache-Control的max-age和expires)等
前兩個方法可以進行高級參數設置及豐富內容返回,第三個方法可以簡單的傳入url獲取返回內容,httpPost類似。更詳細的設置可以直接使用HttpURLConnection或apache的HttpClient。
源碼可見HttpUtils.java,更多方法及更詳細參數介紹可見HttpUtils Api Guide。

2、DownloadManagerPro

Android系統下載管理DownloadManager增強方法,可用于包括獲取下載相關信息,如:
getStatusById(long) 得到下載狀態
getDownloadBytes(long) 得到下載進度信息
getBytesAndStatus(long) 得到下載進度信息和狀態
getFileName(long) 得到下載文件路徑
getUri(long) 得到下載uri
getReason(long) 得到下載失敗或暫停原因
getPausedReason(long) 得到下載暫停原因
getErrorCode(long) 得到下載錯誤碼
源碼可見DownloadManagerPro.java,更多方法及更詳細參數介紹可見DownloadManagerPro Api Guide。關于Android DownManager使用可見DownManager Demo。

3、ShellUtils

Android Shell工具類,可用于檢查系統root權限,并在shell或root用戶下執行shell命令。如:
checkRootPermission() 檢查root權限
execCommand(String[] commands, boolean isRoot, boolean isNeedResultMsg) shell環境執行命令,第二個參數表示是否root權限執行
execCommand(String command, boolean isRoot) shell環境執行命令
源碼可見ShellUtils.java,更多方法及更詳細參數介紹可見ShellUtils Api Guide。關于靜默安裝可見apk-root權限靜默安裝。

4、PackageUtils

Android包相關工具類,可用于(root)安裝應用、(root)卸載應用、判斷是否系統應用等,如:
install(Context, String) 安裝應用,如果是系統應用或已經root,則靜默安裝,否則一般安裝
uninstall(Context, String) 卸載應用,如果是系統應用或已經root,則靜默卸載,否則一般卸載
isSystemApplication(Context, String) 判斷應用是否為系統應用
源碼可見PackageUtils.java,更多方法及更詳細參數介紹可見ShellUtils Api Guide。關于靜默安裝可見apk-root權限靜默安裝。

5、PreferencesUtils

Android SharedPreferences相關工具類,可用于方便的向SharedPreferences中讀取和寫入相關類型數據,如:
putString(Context, String, String) 保存string類型數據
putInt(Context, String, int) 保存int類型數據
getString(Context, String) 獲取string類型數據
getInt(Context, String) 獲取int類型數據
可通過修改PREFERENCE_NAME變量修改preference name
源碼可見PreferencesUtils.java,更多方法及更詳細參數介紹可見PreferencesUtils Api Guide。

6、JSONUtils

JSONUtils工具類,可用于方便的向Json中讀取和寫入相關類型數據,如:
String getString(JSONObject jsonObject, String key, String defaultValue) 得到string類型value
String getString(String jsonData, String key, String defaultValue) 得到string類型value
表示從json中讀取某個String類型key的值

getMap(JSONObject jsonObject, String key) 得到map
getMap(String jsonData, String key) 得到map
表示從json中讀取某個Map類型key的值
源碼可見JSONUtils.java,更多方法及更詳細參數介紹可見JSONUtils Api Guide。

7、FileUtils

文件工具類,可用于讀寫文件及對文件進行操作。如:
readFile(String filePath) 讀文件
writeFile(String filePath, String content, boolean append) 寫文件
getFileSize(String path) 得到文件大小
deleteFile(String path) 刪除文件
源碼可見FileUtils.java,更多方法及更詳細參數介紹可見FileUtils Api Guide。

8、ResourceUtils

Android Resource工具類,可用于從android資源目錄的raw和assets目錄讀取內容,如:
geFileFromAssets(Context context, String fileName) 得到assets目錄下某個文件內容
geFileFromRaw(Context context, int resId) 得到raw目錄下某個文件內容
源碼可見ResourceUtils.java,更多方法及更詳細參數介紹可見ResourceUtils Api Guide。

9、StringUtils

String工具類,可用于常見字符串操作,如:
isEmpty(String str) 判斷字符串是否為空或長度為0
isBlank(String str) 判斷字符串是否為空或長度為0 或由空格組成
utf8Encode(String str) 以utf-8格式編碼
capitalizeFirstLetter(String str) 首字母大寫
源碼可見StringUtils.java,更多方法及更詳細參數介紹可見StringUtils Api Guide。

10、ParcelUtils

Android Parcel工具類,可用于從parcel讀取或寫入特殊類型數據,如:
readBoolean(Parcel in) 從pacel中讀取boolean類型數據
readHashMap(Parcel in, ClassLoader loader) 從pacel中讀取map類型數據
writeBoolean(boolean b, Parcel out) 向parcel中寫入boolean類型數據
writeHashMap(Map<K, V> map, Parcel out, int flags) 向parcel中寫入map類型數據
源碼可見ParcelUtils.java,更多方法及更詳細參數介紹可見ParcelUtils Api Guide。

11、RandomUtils

隨機數工具類,可用于獲取固定大小固定字符內的隨機數,如:
getRandom(char[] sourceChar, int length) 生成隨機字符串,所有字符均在某個字符串內
getRandomNumbers(int length) 生成隨機數字
源碼可見RandomUtils.java,更多方法及更詳細參數介紹可見RandomUtils Api Guide。

12、ArrayUtils

數組工具類,可用于數組常用操作,如:
isEmpty(V[] sourceArray) 判斷數組是否為空或長度為0
getLast(V[] sourceArray, V value, V defaultValue, boolean isCircle) 得到數組中某個元素前一個元素,isCircle表示是否循環
getNext(V[] sourceArray, V value, V defaultValue, boolean isCircle) 得到數組中某個元素下一個元素,isCircle表示是否循環
源碼可見ArrayUtils.java,更多方法及更詳細參數介紹可見ArrayUtils Api Guide。

13、ImageUtils

圖片工具類,可用于Bitmap, byte array, Drawable之間進行轉換以及圖片縮放,目前功能薄弱,后面會進行增強。如:
bitmapToDrawable(Bitmap b) bimap轉換為drawable
drawableToBitmap(Drawable d) drawable轉換為bitmap
drawableToByte(Drawable d) drawable轉換為byte
scaleImage(Bitmap org, float scaleWidth, float scaleHeight) 縮放圖片
源碼可見ImageUtils.java,更多方法及更詳細參數介紹可見ImageUtils Api Guide。

14、ListUtils

List工具類,可用于List常用操作,如:
isEmpty(List<V> sourceList) 判斷List是否為空或長度為0
join(List<String> list, String separator) List轉換為字符串,并以固定分隔符分割
addDistinctEntry(List<V> sourceList, V entry) 向list中添加不重復元素
源碼可見ListUtils.java,更多方法及更詳細參數介紹可見ListUtils Api Guide。

15、MapUtils

Map工具類,可用于Map常用操作,如:
isEmpty(Map<K, V> sourceMap) 判斷map是否為空或長度為0
parseKeyAndValueToMap(String source, String keyAndValueSeparator, String keyAndValuePairSeparator, boolean ignoreSpace) 字符串解析為map
toJson(Map<String, String> map) map轉換為json格式
源碼可見MapUtils.java,更多方法及更詳細參數介紹可見MapUtils Api Guide。

16、ObjectUtils

Object工具類,可用于Object常用操作,如:
isEquals(Object actual, Object expected) 比較兩個對象是否相等
compare(V v1, V v2) 比較兩個對象大小
transformIntArray(int[] source)  Integer 數組轉換為int數組
源碼可見ObjectUtils.java,更多方法及更詳細參數介紹可見ObjectUtils Api Guide。

17、SerializeUtils

序列化工具類,可用于序列化對象到文件或從文件反序列化對象,如:
deserialization(String filePath) 從文件反序列化對象
serialization(String filePath, Object obj) 序列化對象到文件
源碼可見SerializeUtils.java,更多方法及更詳細參數介紹可見SerializeUtils Api Guide。

18、SystemUtils

系統信息工具類,可用于得到線程池合適的大小,目前功能薄弱,后面會進行增強。如:
getDefaultThreadPoolSize() 得到跟系統配置相符的線程池大小
源碼可見SystemUtils.java,更多方法及更詳細參數介紹可見SystemUtils Api Guide。

19、TimeUtils

時間工具類,可用于時間相關操作,如:
getCurrentTimeInLong() 得到當前時間
getTime(long timeInMillis, SimpleDateFormat dateFormat) 將long轉換為固定格式時間字符串
源碼可見TimeUtils.java,更多方法及更詳細參數介紹可見TimeUtils Api Guide。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美洲成人男女午夜视频| 亚洲成人久久一区| 欧美中文字幕视频在线观看| 91综合免费在线| 亚洲欧美日韩精品久久奇米色影视| 91情侣偷在线精品国产| 久久综合久中文字幕青草| 91久久久久久久久久久久久| 欧美日韩一区二区精品| 亚洲欧美成人一区二区在线电影| 欧美在线亚洲一区| 欧美老肥婆性猛交视频| 亚洲美女久久久| 色琪琪综合男人的天堂aⅴ视频| 日韩欧美在线观看| 欧美精品在线看| 久久精品视频在线播放| 日韩成人在线播放| 国产一区二区三区三区在线观看| 国产精品在线看| 欧美片一区二区三区| 国产精品久久久久不卡| 亚洲欧美精品一区二区| 国产精品久久激情| 国模吧一区二区三区| 亚洲色图综合网| 国产精品v日韩精品| 国产精品一区专区欧美日韩| 中文字幕在线日韩| 久久久久久久久久久国产| 2020欧美日韩在线视频| 国产精品成久久久久三级| 亚洲天堂免费在线| 午夜精品久久久久久久久久久久久| 欧美成人午夜免费视在线看片| 久久精品在线播放| 亚洲成人xxx| 日韩美女写真福利在线观看| 日韩精品视频在线观看免费| 青青久久av北条麻妃海外网| 国产国产精品人在线视| 97精品国产97久久久久久免费| 日本精品久久久久影院| 亚洲精品电影在线观看| 欧美国产一区二区三区| 欧美色视频日本高清在线观看| 国产国语刺激对白av不卡| 国产精品久久久久久亚洲调教| 久久久之久亚州精品露出| 国产精品福利小视频| 国产成人免费91av在线| 日本欧美国产在线| 综合欧美国产视频二区| 中文字幕亚洲无线码a| 另类天堂视频在线观看| 欧美中文在线观看国产| 久久久视频在线| 欧美国产第二页| 亚洲乱码国产乱码精品精| 亚洲精品97久久| 亚洲人成网站色ww在线| 国产综合视频在线观看| 欧美性猛交xxxx富婆弯腰| 国产日韩中文字幕在线| 九九视频这里只有精品| 久久久久久久国产精品视频| 国产亚洲欧美一区| 精品国产福利视频| 夜夜嗨av一区二区三区免费区| 97久久精品人人澡人人爽缅北| 欧美在线一区二区三区四| 国产精品爽爽爽爽爽爽在线观看| 亚洲人成77777在线观看网| 日韩大片在线观看视频| 亚洲欧美日韩一区二区三区在线| 亚洲欧美视频在线| 成人观看高清在线观看免费| 国产色综合天天综合网| 国产亚洲精品91在线| 久久综合色影院| 韩剧1988在线观看免费完整版| 2019中文在线观看| 国产大片精品免费永久看nba| 欧美成人剧情片在线观看| 久久综合久久八八| 人人澡人人澡人人看欧美| 欧美肥臀大乳一区二区免费视频| 欧美精品999| 亚洲激情视频在线| 久久久av亚洲男天堂| 亚洲加勒比久久88色综合| 久久久欧美一区二区| 亚洲欧美综合v| 久久福利网址导航| 欧美亚洲国产日本| 亚洲国产欧美一区二区三区同亚洲| 欧美成人精品在线| 96sao精品视频在线观看| 国产精品成人一区| 国产精品678| 欧美视频一区二区三区…| 91在线国产电影| 欧美孕妇毛茸茸xxxx| 日韩在线高清视频| 成人福利网站在线观看| 久久综合伊人77777蜜臀| 在线观看欧美视频| 国产中文字幕亚洲| 亚洲成人黄色网| 亚洲欧美日韩一区在线| 国产手机视频精品| 亚洲精品福利免费在线观看| 国产精品99久久久久久久久久久久| 国产在线拍揄自揄视频不卡99| 国产一区二区三区在线| 日韩大陆欧美高清视频区| 欧美成人性色生活仑片| 亚洲天堂成人在线视频| 国产精品白嫩初高中害羞小美女| 国产精品成人av性教育| 欧美电影在线观看高清| 日日噜噜噜夜夜爽亚洲精品| 久久国产精品影片| 久久久精品免费| 北条麻妃99精品青青久久| 97精品一区二区三区| 97精品久久久中文字幕免费| 91老司机在线| 成人免费在线视频网址| 欧美一区第一页| 国产精品久久久久久久午夜| 久久国产精品久久久久久| 欧美最顶级的aⅴ艳星| 国产精品高潮粉嫩av| 中文一区二区视频| 欧美性猛交xxxx乱大交| 国产综合久久久久久| 成人福利在线视频| 国内伊人久久久久久网站视频| 亚洲午夜国产成人av电影男同| 超碰91人人草人人干| 久久精品视频在线播放| 国产精品自拍偷拍视频| 国产精品女视频| 国产精品久久久久久久一区探花| 亚洲色图综合网| 一区二区三区天堂av| 一区二区三区回区在观看免费视频| 亚洲天堂久久av| 精品久久久视频| 亚洲天堂网在线观看| 亚洲性线免费观看视频成熟| 欧美片一区二区三区| 日韩中文字幕免费看| 欧洲美女免费图片一区| 亚洲 日韩 国产第一| 97超级碰在线看视频免费在线看| 69久久夜色精品国产69乱青草| 欧美日韩亚洲系列| 日韩精品黄色网| 日韩精品在线观看一区| 欧美成人国产va精品日本一级| 97碰碰碰免费色视频| 成人综合国产精品|