概述
本人做android开发已有段日子了,在开发的过程中一直使用着工具类,包括别人已经封装好的工具类以及自己封装的工具类,本篇博客向大家介绍自己在开发过程中经常使用到的一些简单实用的工具类,在文章末尾将会献上博客中工具类的代码。
1,AppUtils
AppUtils封装了和我们android整个应用(Application)相关的一些方法
- 方法说明
- getPackageName(Context ctx):获取当前应用的包名
- getAppName(Context ctx):获取当前应用的名称
- getVersionName(Context ctx):获取当前应用版本名称
- getDeviceInfo(Context context):获取当前设备的相关信息(包括手机号码,sim卡号ICCID等相关信息)
- isApplicationBroughtToBackgroundByTask(String packageName, Context context):判断当前应用程序是否处于后台,通过getRunningTasks的方式,true 在后台; false 在前台
- getMetaValue(Context context, String metaKey):获取Manifest中的meta-data值
- doNullStr(String str):得到非null字符串,如果为空则赋予空字符串(“”),否则等于原来的值
2,CheckUtils
该工具类封装了一些常见的格式验证的方法,不熟悉正则的朋友有福了
- 功能说明:
- StrIsNull(String str):判断字符串是否为空 符合返回ture
- StrNotNull(String str):判断字符串是非空 符合返回ture
- doNullStr(String str):得到非null字符串,如果为空则赋予空字符串(“”),否则等于原来的值
- doNullStr(String str, String defaut):得到非null字符串,如果为空则赋予默认值default,否则等于原来的值
- isEmail(String str):判断字段是否为Email 符合返回ture
- isPhone(String str):判断是否为电话号码 符合返回ture
- isMobile(String str):判断是否为手机号码 符合返回ture
- isUrl(String str):判断是否为Url 符合返回ture
- isNumber(String str):判断字段是否为数字 正负整数 正负浮点数 符合返回ture
- isInteger(String str):判断字段是否为INTEGER 符合返回ture
- isINTEGER_NEGATIVE(String str):判断字段是否为正整数正则表达式 >=0 符合返回ture
- isINTEGER_POSITIVE(String str):判断字段是否为负整数正则表达式 <=0 符合返回ture
- isDouble(String str):判断字段是否为DOUBLE 符合返回ture
- isDOUBLE_NEGATIVE(String str):判断字段是否为正浮点数正则表达式 >=0 符合返回ture
- isDOUBLE_POSITIVE(String str):判断字段是否为负浮点数正则表达式 <=0 符合返回ture
- isDate(String str):判断字段是否为日期 符合返回ture
- isDate1(String str):验证2010-12-10
- isAge(String str):判断字段是否为年龄 符合返回ture
- isLengOut(String str, int leng):判断字段是否超长 字串为空返回fasle, 超过长度{leng}返回ture 反之返回false
- isIdCard(String str):判断字段是否为身份证 符合返回ture
- isCode(String str):判断字段是否为邮编 符合返回ture
- isEnglish(String str):判断字符串是不是全部是英文字母
- isENG_NUM(String str):判断字符串是不是全部是英文字母+数字
- isENG_NUM_(String str):判断字符串是不是全部是英文字母+数字+下划线
- filterStr(String str):过滤特殊字符串 返回过滤后的字符串
- isJigouCode(String str):校验机构代码格式
- isSTR_NUM(String str):判断字符串是不是数字组成
- Regular(String str, String pattern):匹配是否符合正则表达式pattern 匹配返回true
好吧,这个工具类代码量有点大,其实每个工具类里面注释都好清楚,看名字就知道
3,CollectionUtils
自己封装了一些和集合有关的方法
- 功能说明
- isNotNull:判断一个集合是否可用(不为空且容量大于0)
- list2map:list转为map
- map2list:map转list
4,CommonUtils
常用的工具类
- 功能说明:
- isNetworkAvailable(Context context):判断当前网络是否可用
- isWifi(Context context):验证是否是wifi连接
- isMobile(Context context):验证是否是移动网络
- checkSdCard():验证sd卡是否存在
- openSetting(Activity activity):打开网络设置界面
5,HttpUtils
Http请求的工具类
- 功能说明:
- 异步的Get请求
- 异步的Post请求
- Get请求,获得返回数据
- 向指定 URL 发送POST方法的请求
具体方法使用看代码注释,很清楚
6,LogUtils
日志统一管理工具类,这个不用多说,直接看代码
7,PictureUtils
图片处理相关工具类,代码量有点大,直接下载看注释说明,很清楚
8,PixelUtil
像素转换工具,CustomApplcation指的是自己定义的application类,一个应用只有一个application类,它代表着当前这个应用
- 功能说明:
- px2dp(float value):px转为dp
- int px2dp(float value, Context context):px转dp,上面方法的重载
- sp2px(float value):sp转px
- sp2px(float value,Context context):sp转px
- px2sp(float value):px转sp
- px2sp(float value, Context context):px转sp
9,ScreenUtils
获得屏幕相关的辅助类
- 功能说明
- getScreenWidth:获取屏幕的宽,单位像素
- getScreenHeight:获取屏幕的高,单位像素
- getStatusHeight:获得状态栏的高度
- snapShotWithStatusBar:获取当前屏幕截图,包含状态栏
- snapShotWithoutStatusBar:获取当前屏幕截图,不包含状态栏:
10,SDCardUtils
SD卡相关的辅助类
- 功能说明:
- isSDCardEnable:判断sd卡是否可用
- checkSDStatus:判断是否装有SD卡、是否可读写、是否有空间
- getSDCardPath:获取SD卡路径
- getSDCardAllSize:获取SD卡的剩余容量 单位byte
- getFreeBytes:获取指定路径所在空间的剩余可用容量字节数,单位byte
- getRootDirectoryPath:获取系统存储路径
- copyFileToFile:复制文件至某个文件夹
- byte2Oral:字节的大小,转成口头语
11,SecurityCode
生成随机验证码
12,SecurityCode
生成随机验证码
- 功能说明:
- createBitmap:生成验证码图片
- createCode:生成验证码(辅助createBitmap)
- randomColor:随机颜色(辅助createBitmap)
13,SoftKeyboardUtils
软键盘工具类,切换软键盘显示与关闭,显示,关闭软键盘
- 功能说明
- popSoftKeyboard:显示和隐藏软键盘 View : EditText、TextView isShow : true = show , false = hide
- toggleInput: 切换软键盘的状态, 如当前为收起变为弹出,若当前为弹出变为收起
- showSoftKeyboard:显示软键盘
- hideSoftKeyboard:隐藏软键盘
14,SPUtils
SharedPreferences工具类,使用时将FILE_NAME改改就行了
15,TimeUtil
时间格式转换工具
- 功能说明
- getDescriptionTimeFromTimestamp:根据时间戳获取描述性时间,如3分钟前,1天前
- getCurrentTime:获取当前日期的指定格式的字符串,如yyyy-MM-dd HH:MM
- dateToString:date类型转换为String类型
- longToString:long类型转换为String类型
- stringToDate:string类型转换为date类型
- longToDate:long转换为Date类型
- stringToLong:string类型转换为long类型
- dateToLong: date类型转换为long类型
- getTime:将long的时间转换成yy-MM-dd HH:mm格式
- getHourAndMin:将long的时间转换成HH:mm格式,只要小时和分钟
- getFormatTime:将long时间转换成指定格式的时间
- getChatTime:获取聊天时间:因为sdk的时间默认到秒故应该乘1000