Android常用的工具类

40.Android 资源Id工具类ResourcesUtil 40.Android 资源Id工具类ResourcesUtilAndroid 资源Id工具类ResourcesUtil ResourcesUtil ResourcesUtilActivity ResourcesUtilpublic class ResourcesUtil { /** * 根据mipmap文件的名字取得id * * @param context 阅读详情

主要介绍总结的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。

来自【http://www.trinea.cn/android/android-common-utils/】

Android快速开发之PackageUtils,PreferencesUtils Android包相关工具类,可用于(root)安装应用、(root)卸载应用、判断是否系统应用等,如:install(Context, String) 安装应用,如果是系统应用或已经root,则静默安装,否则一般安装 uninstall(Context, String) 卸载应用,如果是系统应用或已经root,则静默卸载,否则一般卸载 isSystemApplication(Context, Str 阅读详情

相关推荐

Android 常见的工具类总结

这些工具类涵盖了各种功能,包括字符串处理、时间转换、网络请求、文件操作等等。以上是Android开发中常见的工具类总结,涵盖了字符串处理、日期处理、网络请求、文件操作等功能。下面是一个简单的FileUtils工具类示例,封装了常用的文件操作方法。下面是一个简单的DateUtils工具类示例,包含了常用的日期和时间转换方法。下面是一个简单的StringUtils工具类示例,包含了常用的字符串处理方法。下面是一个简单的HttpUtils工具类示例,封装了常用的网络请求方法。Android 常见的工具类总结。

Byte_O_O的博客 624

总结的一些Java公用函数库

最新内容建议直接访问原文:Android常用的工具类   主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java。目前包括HttpUtils、DownloadManagerPro、ShellUtils、PackageUtils、PreferencesUtils、JSONUtils、FileUtils、ResourceUtils、StringUtils、ParcelUtil...

微信号codek2 专注于 Android 开源项目源码解析 开源项目分享 885

电机控制框架选型指南:从TI MotorWare到ST MC SDK,5种架构优缺点对比

本文深入对比了TI MotorWare、ST MC SDK、AUTOSAR、FPGA+ARM及集成方案等五种主流电机控制软件框架的架构特点、实时性、开发效率与硬件兼容性。通过工业伺服和消费电子的实战案例分析,为工程师提供了清晰的选型逻辑与决策清单,旨在帮助规避技术债务,选择最适合项目需求的电机控制框架。

rnn9storyteller的博客 1172

AndroidUtil - 强大易用的安卓工具类库

utilcode,其中的工具类是开发中常用到的;subutil,它包含的工具类并不是很常用,它的出现是为了防止主工具类的臃肿。utilcode。

一个IT人的技术成长历程。 3423

Innovus ECO技巧:用setEcoMode+ecoAddRepeater实现批量buffer替换的5个关键步骤

本文详细介绍了在Cadence Innovus工具中,利用setEcoMode与ecoAddRepeater命令实现高效、批量Buffer/Inverter替换的工程化策略。通过启用批处理模式、构建可维护的替换规则、掌握高级定位技巧以及规避布线陷阱等5个关键步骤,帮助芯片设计工程师在ECO阶段大幅提升修改效率与质量,确保设计稳定签核。

d6e7f8的博客 1115

告别Docker Desktop!Colima在Mac上的5分钟极速安装与配置指南(M1芯片实测)

本文详细介绍了如何在Mac(尤其是M1芯片)上快速安装和配置Colima,作为Docker Desktop的免费替代品。通过优化配置和实战指南,帮助开发者提升容器运行效率,减少资源占用,实现丝滑的开发体验。

weixin_28839601的博客 445

安卓开发中常用的十个工具类

一、网络请求工具类: 最重要的是对http协议的理解,HttpUrlConnection  package com.example.tuhuadmin.fanxinglei.utils; import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.ByteArrayOutputStream;

陈如水的专栏 4343

hcaptcha逆向实战:从API解析到参数构造的完整链路

本文详细拆解了hcaptcha验证码的逆向实战流程,从环境准备、捕获API与版本号,到解析核心加密逻辑hsw.js,再到构造getcaptcha请求参数,最后完成验证提交。文章重点剖析了motionData、n、c等关键参数的获取与构造方法,为开发者模拟浏览器行为、实现自动化验证提供了清晰的完整链路指南。

ik678901的博客 629

【大前端】常用 Android 工具类整理

(日志、Toast、SP、屏幕单位、网络、时间、文件),这些是日常开发里用得最多的。Bitmap 与 Drawable 转换、缩放、压缩、圆角/圆形处理。获取设备 ID、系统版本、厂商型号、IMEI/AndroidID。获取 App 版本号、包名、签名校验、跳转应用市场。判空、反转、截取、大小写转换、MD5/SHA 加密。快速调用系统功能:打电话、发短信、打开相机、浏览器。获取内置存储、外部存储路径,App 缓存路径。手机号、邮箱、身份证、URL、IP 等验证。,支持统一 TAG、开关控制、日志文件存储。

子冉冰清的博客 1175

DrawCall、Batches、SetPassCalls的区别和联系

一、DrawCall、Batches、SetPassCalls的基本理解 我们先从图形渲染的角度对这些概念做一个基本的理解。 1.1 DrawCall DrawCall实际上指的是一次图形渲染接口的调用,比如OpenGL的glDrawArrays或者glDrawElements的一次调用,以及DirectX的DrawPrimitive或者DrawIndexedPrimitive。因此,DrawCall可以简单理解为一次渲染指令调用。 1.2 Batches 我们知道,在调用DrawCall之前,需要设置渲染

远行's Blog 6377

计算机网络实验六 RIP 配置实验

Man! What can I say?

AClerk的博客 1591

安卓开发常用到的工具类

安卓开发常用到的工具类参考文章 Android快速开发系列 10个常用工具类 SharedPreferencesUtils 工具类 及 SharedPreferences apply和commit方法异同 -

qq_39230245的博客 340

姿态传感器/陀螺仪之ICM-42670-P应用原理图设计

ICM-42670-P采用LGA-14封装,尺寸为2.5x3x0.76毫米,工作电压范围为1.71V至3.6V,支持I3CSM、I2C和SPI串行通信接口。其设计目标是提供高精度、低功耗和小型化的解决方案,以满足消费类和工业应用的需求。ICM-42670-P是一款由TDK InvenSense推出的高性能六轴MEMS运动追踪传感器,集成了3轴陀螺仪和3轴加速度计,适用于多种应用场景,包括可穿戴设备、游戏控制器、无人机、AR/VR设备等。

corlin6688的博客 1199

android字符串工具类,一个安卓开发中常用的字符串工具类

实在是不好意思 在上次写了那进度条的动画之后,本来预计该发一篇结合进度条的小视频录制的功能,结果发现还是有一些坑没有填完,为了避免误导大家,所以就先写这一篇吧因为前段时间家中老人去世再加上项目即将上线,所以一直忙的没有空来更新,才拖到了国庆,今天给大家分享一个工具类,里面包含了各种常用的类,例如判断密码是否是纯数字,字母,是否是6-18位等各种常用的判断,这里就直接提供给大家,可以直接拿去使用下面...

weixin_31191387的博客 300

QGIS编译(跨平台编译)001:Flex、Bison编译(安装)(Windows、Linux、MacOS环境下安装)

QGIS编译;Flex、Bison编译(安装)(Windows、Linux、MacOS环境下安装)

LuckyHanMo的博客 3077

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Android中常用的工具类总结

1.文件操作工具类

逍遥飞鹤的专栏 2556

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Android中常用的工具类

本文主要介绍Android开发中常用到的工具类和他们的相对应的方法,对于一个开发者来说这都是很有用的。目前这些工具类主要有:HttpUtils、DownloadManagerPro、ShellUtils、PackageUtils、PreferencesUtils、JSONUtils、FileUtils、ResourceUtils、StringUtils、ParcelUtils、RandomUtil

yyyysjhappy的专栏 600

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Android常用的工具类汇总(方便日后使用)

平时进行android开发时候,可能需要使用各种各样的工具类,每次总要去上网搜索,费时费力,因此特此将其整理发出来,小伙伴可自行收藏. 1.LogUtils工具类 ...

你全家都是博客 1684

android文件管理工具类,GitHub - RyanYans/Android-Utils: 安卓开发 常用 工具类 汇总

天下文章一大抄,因为从开始学习到现在大约一年多 积攒的工具类。很多都是别人的。但是也不知道是谁的了 如果涉及什么的问题。请联系我。我会做出相应修改;PS:不懂怎么用的,都可以看demo 一些都是已经在demo中使用了~;Usage## Required ConfigConfig.Build.init(this).perform();# JicPackAdd it in your root buil...

weixin_39938312的博客 459

Android开发中常用的工具类

主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java。 目前包括HttpUtils、DownloadManagerPro、ShellUtils、PackageUtils、PreferencesUtils、JSONUtils、FileUtils、ResourceUtils、StringUtils、ParcelUtils、RandomUtils、ArrayUtils、ImageU

2549

Android常用开发工具类

Android常用开发工具类应用工具类

wzgiceman 1万+

android 开发常用的工具类

转自大牛博客 https://blankj.com/ 他的工具类github https://github.com/Blankj https://github.com/Blankj/AndroidUtilCode/blob/master/utilcode/README-CN.md 目录: Activity 相关 -> ActivityUtils.java getActivityByVi...

skyang在路上 1442

安卓常用到的几个工具类(不定期更新)

自己做项目,用到的几个工具类,这里记一下,以后找到方便

逗比学习笔记 5137
上一篇: Apache DbUtils应用实例
下一篇: Android获取屏幕尺寸
系统信息
系统信息 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄23年 2404粉丝 565原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值