总结的⼀些Java公⽤函数库(各种Utils)
最新内容建议直接访问原⽂:
主要介绍总结的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:
所有代码都在中,欢迎Star或Fork^_*,除这些⼯具类外此项⽬还包括等。详细接⼝介绍可见。
具体使⽤:可直接引⼊作为你项⽬的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过期时间等
前两个⽅法可以进⾏⾼级参数设置及丰富内容返回,第三个⽅法可以简单的传⼊url获取返回内容,httpPost类似。更详细的设置可以直接使⽤HttpURLConnection或apache的HttpClient。
源码可见,更多⽅法及更详细参数介绍可见。
2、DownloadManagerPro
Android系统下载管理DownloadManager增强⽅法,可⽤于包括获取下载相关信息,如:
getStatusById(long) 得到下载状态
getDownloadBytes(long) 得到下载进度信息
getBytesAndStatus(long) 得到下载进度信息和状态
getFileName(long) 得到下载⽂件路径
getUri(long) 得到下载uri
getReason(long) 得到下载失败或暂停原因
getPausedReason(long) 得到下载暂停原因
getErrorCode(long) 得到下载错误码
源码可见,更多⽅法及更详细参数介绍可见。关于Android DownManager使⽤可见。
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环境执⾏命令
源码可见,更多⽅法及更详细参数介绍可见。关于静默安装可见。
4、PackageUtils
Android包相关⼯具类,可⽤于(root)安装应⽤、(root)卸载应⽤、判断是否系统应⽤等,如:
install(Context, String) 安装应⽤,如果是系统应⽤或已经root,则静默安装,否则⼀般安装
uninstall(Context, String) 卸载应⽤,如果是系统应⽤或已经root,则静默卸载,否则⼀般卸载
isSystemApplication(Context, String) 判断应⽤是否为系统应⽤
源码可见,更多⽅法及更详细参数介绍可见。关于静默安装可见。
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
源码可见,更多⽅法及更详细参数介绍可见。
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的值
源码可见,更多⽅法及更详细参数介绍可见。
7、FileUtils
⽂件⼯具类,可⽤于读写⽂件及对⽂件进⾏操作。如:
readFile(String filePath) 读⽂件
writeFile(String filePath, String content, boolean append) 写⽂件
getFileSize(String path) 得到⽂件⼤⼩
deleteFile(String path) 删除⽂件
源码可见,更多⽅法及更详细参数介绍可见。
8、ResourceUtils
Android Resource⼯具类,可⽤于从android资源⽬录的raw和assets⽬录读取内容,如:geFileFromAssets(Context context, String fileName) 得到assets⽬录下某个⽂件内容
geFileFromRaw(Context context, int resId) 得到raw⽬录下某个⽂件内容
源码可见,更多⽅法及更详细参数介绍可见。
9、StringUtils
String⼯具类,可⽤于常见字符串操作,如:
isEmpty(String str) 判断字符串是否为空或长度为0
isBlank(String str) 判断字符串是否为空或长度为0 或由空格组成
utf8Encode(String str) 以utf-8格式编码
capitalizeFirstLetter(String str) ⾸字母⼤写
源码可见,更多⽅法及更详细参数介绍可见。
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类型数据
源码可见,更多⽅法及更详细参数介绍可见。
11、RandomUtils
随机数⼯具类,可⽤于获取固定⼤⼩固定字符内的随机数,如:
getRandom(char[] sourceChar, int length) ⽣成随机字符串,所有字符均在某个字符串内getRandomNumbers(int length) ⽣成随机数字
源码可见,更多⽅法及更详细参数介绍可见。
12、ArrayUtils
数组⼯具类,可⽤于数组常⽤操作,如:
isEmpty(V[] sourceArray) 判断数组是否为空或长度为0
getLast(V[] sourceArray, V value, V defaultValue, boolean isCircle) 得到数组中某个元素前⼀个元素,isCircle表⽰是否循环
java生成随机数的方法getNext(V[] sourceArray, V value, V defaultValue, boolean isCircle) 得到数组中某个元素下⼀个元素,isCircle表⽰是否循环
源码可见,更多⽅法及更详细参数介绍可见。
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) 缩放图⽚
源码可见,更多⽅法及更详细参数介绍可见。
14、ListUtils
List⼯具类,可⽤于List常⽤操作,如:
isEmpty(List<V> sourceList) 判断List是否为空或长度为0
join(List<String> list, String separator) List转换为字符串,并以固定分隔符分割
addDistinctEntry(List<V> sourceList, V entry) 向list中添加不重复元素
源码可见,更多⽅法及更详细参数介绍可见。
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格式
源码可见,更多⽅法及更详细参数介绍可见。
16、ObjectUtils
Object⼯具类,可⽤于Object常⽤操作,如:
isEquals(Object actual, Object expected) ⽐较两个对象是否相等
compare(V v1, V v2) ⽐较两个对象⼤⼩
transformIntArray(int[] source)  Integer 数组转换为int数组
源码可见,更多⽅法及更详细参数介绍可见。
17、SerializeUtils
序列化⼯具类,可⽤于序列化对象到⽂件或从⽂件反序列化对象,如:
deserialization(String filePath) 从⽂件反序列化对象
serialization(String filePath, Object obj) 序列化对象到⽂件
源码可见,更多⽅法及更详细参数介绍可见。
18、SystemUtils
系统信息⼯具类,可⽤于得到线程池合适的⼤⼩,⽬前功能薄弱,后⾯会进⾏增强。如:
getDefaultThreadPoolSize() 得到跟系统配置相符的线程池⼤⼩
源码可见,更多⽅法及更详细参数介绍可见。
19、TimeUtils
时间⼯具类,可⽤于时间相关操作,如:
getCurrentTimeInLong() 得到当前时间
getTime(long timeInMillis, SimpleDateFormat dateFormat) 将long转换为固定格式时间字符串
源码可见,更多⽅法及更详细参数介绍可见。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。