主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java。

目前包括  HttpUtils、DownloadManagerPro、Safe.ijiami、ShellUtils、PackageUtils、PreferencesUtils、JSONUtils、FileUtils、ResourceUtils、StringUtils、ParcelUtils、RandomUtils、ArrayUtils、ImageUtils、ListUtils、MapUtils、ObjectUtils、SerializeUtils、SystemUtils、TimeUtils。

  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

       3、Safe.ijiami

Android漏洞检测工具,在线上传Android apk,检测apk开发过程中产生的一些易被黑客利用、攻击的漏洞,根据存在的漏洞提出相应的解决方案,一键生成详细的分析报告,让Android开发者可以一目了然的知道自己的Android应用存在的漏洞并及时采取措施保护起来。

        4、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

  5、PackageUtils
        Android包相关工具类,可用于(root)安装应用、(root)卸载应用、判断是否系统应用等,

如:install(Context, String) 安装应用,如果是系统应用或已经root,则静默安装,否则一般安装uninstall(Context, String) 卸载应用,如果是系统应用或已经root,则静默卸载,否则一般卸载isSystemApplication(Context, String) 判断应用是否为系统应用
        源码可见PackageUtils.java,更多方法及更详细参数介绍可见ShellUtils Api Guide

    6、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

 7、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

8、FileUtils
        文件工具类,可用于读写文件及对文件进行操作。如:
        readFile(String filePath) 读文件
        writeFile(String filePath, String content, boolean append) 写文件
        getFileSize(String path) 得到文件大小
        deleteFile(String path) 删除文件
        源码可见FileUtils.java,更多方法及更详细参数介绍可见FileUtils Api Guide

    9、ResourceUtils
        Android Resource工具类,可用于从android资源目录的raw和assets目录读取内容,如:
        geFileFromAssets(Context context, String fileName) 得到assets目录下某个文件内容
        geFileFromRaw(Context context, int resId) 得到raw目录下某个文件内容
        源码可见ResourceUtils.java,更多方法及更详细参数介绍可见ResourceUtils Api Guide

   10、StringUtils
        String工具类,可用于常见字符串操作,如:
        isEmpty(String str) 判断字符串是否为空或长度为0
        isBlank(String str) 判断字符串是否为空或长度为0 或由空格组成
        utf8Encode(String str) 以utf-8格式编码
        capitalizeFirstLetter(String str) 首字母大写
        源码可见StringUtils.java,更多方法及更详细参数介绍可见StringUtils Api Guide

 11、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

  12、RandomUtils
        随机数工具类,可用于获取固定大小固定字符内的随机数,如:
        getRandom(char[] sourceChar, int length) 生成随机字符串,所有字符均在某个字符串内
        getRandomNumbers(int length) 生成随机数字
        源码可见RandomUtils.java,更多方法及更详细参数介绍可见RandomUtils Api Guide

   13、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

    14、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

   15、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

      16、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

   17、ObjectUtils
        Object工具类,可用于Object常用操作,如:
        isEquals(Object actual, Object expected) 比较两个对象是否相等
        compare(V v1, V v2) 比较两个对象大小
        transformIntArray(int[] source)  Integer 数组转换为int数组
        源码可见ObjectUtils.java,更多方法及更详细参数介绍可见ObjectUtils Api Guide

18、SerializeUtils
        序列化工具类,可用于序列化对象到文件或从文件反序列化对象,如:
       deserialization(String filePath) 从文件反序列化对象
       serialization(String filePath, Object obj) 序列化对象到文件
       源码可见SerializeUtils.java,更多方法及更详细参数介绍可见SerializeUtils Api Guide

 19、SystemUtils
       系统信息工具类,可用于得到线程池合适的大小,目前功能薄弱,后面会进行增强。如:
        getDefaultThreadPoolSize() 得到跟系统配置相符的线程池大小
        源码可见SystemUtils.java,更多方法及更详细参数介绍可见SystemUtils Api Guide

     20、TimeUtils
        时间工具类,可用于时间相关操作,如:
        getCurrentTimeInLong() 得到当前时间
       getTime(long timeInMillis, SimpleDateFormat dateFormat) 将long转换为固定格式时间字符串
       源码可见TimeUtils.java,更多方法及更详细参数介绍可见TimeUtils Api Guide

最全Android开发常用工具类的更多相关文章

  1. Android开发常用工具类

    来源于http://www.open-open.com/lib/view/open1416535785398.html 主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java. 目前 ...

  2. android 开发 常用工具类

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38965311,本文出自[张鸿洋的博客] 打开大家手上的项目,基本都会有一大批的辅 ...

  3. Android开发常用工具汇总

    Android开发常用工具汇总,本文章不断更新完善 一.数据库小工具Sqlite Developer  SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它的设计目标是嵌入式的, ...

  4. Android 开发常用工具合集

    在 Android 开发中经常使用到的小功能,用于记录开发的那些事^_^ 1. 获取 release 和 debug 版本的 SHA1 public static String getSHA1(Con ...

  5. IOS开发--常用工具类收集整理(Objective-C)(持续更新)

    前言:整理和收集了IOS项目开发常用的工具类,最后也给出了源码下载链接. 这些可复用的工具,一定会给你实际项目开发工作锦上添花,会给你带来大大的工作效率. 重复造轮子的事情,除却自我多练习编码之外,就 ...

  6. 29个android开发常用的类、方法及接口

    在安卓开发中,我们常常都需要借助各种各样的方法.类和接口来实现相关功能.提升开发效率,但对于初学者而言,什么时候该用什么类.方法和接口呢?下面小编整理了29个,日常开发中比较常用的类.方法.接口及其应 ...

  7. android开发Tost工具类管理(一)

    Tost工具类管理: package com.gzcivil.utils; import android.content.Context; import android.widget.Toast; / ...

  8. java 微信开发 常用工具类(xml传输和解析 json转换对象)

    与微信通信常用工具(xml传输和解析) package com.lownsun.wechatOauth.utl; import java.io.IOException; import java.io. ...

  9. Flutter 实际开发常用工具类(全局提示,请求封装,token缓存,验证码倒计时、常用窗帘动画及布局)

    介绍: 一星期从入门到实际开发经验分享及总结           代码传送门github Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面.未来App开发 ...

随机推荐

  1. DAO,Service接口与实现类设计

    DAO接口 为每个DAO声明接口的好处在于 1. 可以在尚未实现具体DAO的时候编写上层代码,如Service里对DAO的调用 2. 可以为DAO进行多实现,例如有JDBCDAO实现,MyBatisD ...

  2. 共享锁&排它锁 || 乐观锁&悲观索

    1.共享锁只用于表级,排他锁用于行级. 2.加了共享锁的对象,可以继续加共享锁,不能再加排他锁.加了排他锁后,不能再加任何锁. 3.比如一个DML操作,就要对受影响的行加排他锁,这样就不允许再加别的锁 ...

  3. Android中intent如何传递自定义数据类型

    转载自:http://www.cnblogs.com/GoAhead/archive/2012/07/16/2593868.html 大家好,好久不见,今天要给大家讲一下Android中Intent中 ...

  4. UNdelete

    --90兼容模式以上,2005+ -- http://raresql.com/2012/10/24/sql-server-how-to-find-who-deleted-what-records-at ...

  5. SQL2005,错误 0xc00470fe 数据流任务 产品级别对于 组件“源 - 2009_txt”(1) 而言不足

    今天在将txt文件导入MSSQL2005时,出了这个错误,到网上查了一下资料,说是因为没有安装SQL 2005 SP1的原因,所以我就下载了个. 安装后,再次导入数据,OK 没问题了.http://w ...

  6. 解决百度ueditor支持iframe框架页面的视频播放问题

    新下载的ueditor 增加了xss 安全过虑,把iframe过滤了,导致发表的文章包含的视频播放功能被限制了. 说明:新版本ueditor要修改 xss过滤白名单 修改配置文件ueditor.con ...

  7. 微信小程序价值思考:手机端的CS-BS迁移

    从很多特点来看,小程序都非常类似于网页:主要的业务逻辑在服务端.客户端无需安装应用程序.小程序的开发采用的HTML+JS+CSS技术等等.张小龙自己对小程序的定位也大概如此:无意做小程序分发平台,只是 ...

  8. Inf2Cat应用的参数使用详细介绍

    http://msdn.microsoft.com/zh-cn/subscriptions/ff547089   Inf2Cat Inf2Cat (Inf2Cat.exe) 是一个命令行工具,该工具确 ...

  9. 装上了Fedora19

    超期服役的Aspire黑机器在一个下午主动退役了,为了填补它留下的空白,趁JD减价入手了一台宏碁(acer) SQX4610 120N,就为了玩Linux. 这机器用光驱启动有些特殊,需要在启动时不断 ...

  10. 【C#】C#委托学习

    虽然做.NET这行也快2年了,但基础不太好啊,今天看了下委托方面的知识,记录下. 1.委托 总的来说,委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋 ...