Android 开发各种工具类
2016-08-10 11:19
295 查看
【原文地址
点击打开链接】
为方便查找,已进行大致归类,其目录如下所示:
App相关→AppUtils.java
安装指定路径下的Apk installApp
卸载指定包名的App uninstallApp
获取当前App信息 getAppInfo
获取所有已安装App信息 getAllAppsInfo
根据包名判断App是否安装 isInstallApp
打开指定包名的App openAppByPackageName
打开指定包名的App应用信息界面 openAppInfo
可用来做App信息分享 shareAppInfo
判断当前App处于前台还是后台 isApplicationBackground
设备相关→DeviceUtils.java
获取设备MAC地址 getMacAddress
获取设备厂商,如Xiaomi getManufacturer
获取设备型号,如MI2SC getModel
获取设备SD卡是否可用 isSDCardEnable
获取设备SD卡路径 getSDCardPath
编码解码相关→EncodeUtils.java
以UTF-8编码字符串 encodeUTF8
字符编码 encode
以UTF-8解码字符串 decodeUTF8
字符解码 decode
加解密相关→EncryptUtils.java
MD5加密 getMD5 encryptMD5 getMD5File
SHA加密 getSHA encryptSHA
键盘相关→KeyboardUtils.java
避免输入法面板遮挡
动态隐藏软键盘 hideSoftInput
点击屏幕空白区域隐藏软键盘(注释萌萌哒) clickBlankArea2HideSoftInput0
动态显示软键盘 showSoftInput
切换键盘显示与否状态 toggleSoftInput
网络相关→NetworkUtils.java
打开网络设置界面 openWirelessSettings
判断网络是否可用 isAvailable
判断网络是否连接 isConnected
判断网络是否是4G is4G
判断wifi是否连接状态 isWifiConnected
获取移动网络运营商名称 getNetworkOperatorName
获取移动终端类型 getPhoneType
获取当前的网络类型(WIFI,2G,3G,4G) getNetWorkType getNetWorkTypeName
手机相关→PhoneUtils.java
判断设备是否是手机 isPhone
获取手机的IMIE getDeviceIMEI
获取手机状态信息 getPhoneStatus
跳至填充好phoneNumber的拨号界面 dial
拨打phoneNumber call
发送短信 sendSms
获取手机联系人 getAllContactInfo
打开手机联系人界面点击联系人后便获取该号码(注释萌萌哒) getContantNum
获取手机短信并保存到xml中 getAllSMS
正则相关→RegularUtils.java
正则工具类
屏幕相关→ScreenUtils.java
获取手机分辨率 getDeviceWidth、getDeviceHeight
设置透明状态栏(api >= 19方可使用) setTransparentStatusBar
隐藏状态栏(注释萌萌哒) hideStatusBar
获取状态栏高度 getStatusBarHeight
判断状态栏是否存在 isStatusBarExists
获取ActionBar高度 getActionBarHeight
显示通知栏 showNotificationBar
隐藏通知栏 hideNotificationBar
设置屏幕为横屏(注释萌萌哒) setLandscape
获取屏幕截图 snapShotWithStatusBar、snapShotWithoutStatusBar
判断是否锁屏 isScreenLock
Shell相关→ShellUtils.java
判断设备是否root isRoot
是否是在root下执行命令 execCmd
尺寸相关→SizeUtils.java
dp与px转换 dp2px、px2dp
sp与px转换 sp2px、px2sp
各种单位转换 applyDimension
在onCreate()即可强行获取View的尺寸 forceGetViewSize
ListView中提前测量View尺寸(注释萌萌哒) measureView
SP相关→SPUtils.java
SP中写入String类型value putString
SP中读取String getString
SP中写入int类型value putInt
SP中读取int getInt
SP中写入long类型value putLong
SP中读取long getLong
SP中写入float类型value putFloat
SP中读取float getFloat
SP中写入boolean类型value putBoolean
SP中读取boolean getBoolean
时间相关→TimeUtils.java
将时间戳转为时间字符串 milliseconds2String
将时间字符串转为时间戳 string2Milliseconds
将时间字符串转为Date类型 string2Date
将Date类型转为时间字符串 date2String
将Date类型转为时间戳 date2Milliseconds
将时间戳转为Date类型 milliseconds2Date
毫秒时间戳单位转换(单位:unit) milliseconds2Unit
获取两个时间差(单位:unit) getIntervalTime
获取当前时间 getCurTimeMills getCurTimeString getCurTimeDate
获取与当前时间的差(单位:unit) getIntervalByNow
判断闰年 isLeapYear
未归类→UnclassifiedUtils.java
获取服务是否开启 isRunningService
更新Log
做这份整理只是想把它作为Android的一本小字典,当遇到一些琐碎问题时,不用再面向百度或者谷歌查询API的使用,费时费力,这里有的话,大家尽管撸走。希望它能逐日壮大起来,期待你的Star和完善,用途的话大家想把它们整理成工具类或者什么的话都可以,之后我也会封装工具类并分享之,但本篇只是提供查阅,毕竟看md比看类文件要爽多了,其中好多代码我也是各种搜刮来的,也要谢谢各位的总结,大部分代码已验证过可行,如有错误,请及时告之,开设QQ群提供讨论,群号:74721490,至于验证问题对大家来说肯定都是小case。
由于简书字数已超限,这里只提供更新日志,详情请跳转Github,传送门→期待你的Star和完善
更新Log
16/08/08 新增Shell工具类,已传jcenter()遇到好多坑,javaDoc惹的祸,注释一定要规范
16/08/07 新增6.0获取Mac地址方法,新增对HTML转义,新增编码解码工具类,新增SP工具类
16/08/06 重命名包名,新增加密相关的单元测试,MD5加密新增文件加密重载。
16/08/05 加密新增MD5盐加密,完善NetworkUtils,新增判断状态栏是否存在(在此感谢tiandawu)
16/08/04 新增时间工具类(在此感谢yi520000给的补充),手机正则分简单和精确(在此感谢MIkeeJY),新增判断是否锁屏,注释分段落,目录按首字母排序
16/08/03 修复在onCreate中获取view尺寸的bug,MD5和SHA的Bug修复完成(在此感谢ssyijiu)
16/08/02 wifi设置界面bug修复,注释排版还在修改,获取mac地址增加判空,新增QQ群:74721490,欢迎加入,新增隐藏状态栏,注释更加全面,工具类已封装,写的时候真的是一个一个测试过去的,宝宝心里苦
16/08/01 新增获取SD卡路径,手机和设备进行分类,代码bug修改部分,小修排版,正在封装类,新增目录中显示方法名,新增获取当前App版本Code
16/07/31 新增点击屏幕空白区域隐藏软键盘,未能成功增加本页目录跳转功能(不支持)
点击打开链接】
为方便查找,已进行大致归类,其目录如下所示:
App相关→AppUtils.java
安装指定路径下的Apk installApp
卸载指定包名的App uninstallApp
获取当前App信息 getAppInfo
获取所有已安装App信息 getAllAppsInfo
根据包名判断App是否安装 isInstallApp
打开指定包名的App openAppByPackageName
打开指定包名的App应用信息界面 openAppInfo
可用来做App信息分享 shareAppInfo
判断当前App处于前台还是后台 isApplicationBackground
设备相关→DeviceUtils.java
获取设备MAC地址 getMacAddress
获取设备厂商,如Xiaomi getManufacturer
获取设备型号,如MI2SC getModel
获取设备SD卡是否可用 isSDCardEnable
获取设备SD卡路径 getSDCardPath
编码解码相关→EncodeUtils.java
以UTF-8编码字符串 encodeUTF8
字符编码 encode
以UTF-8解码字符串 decodeUTF8
字符解码 decode
加解密相关→EncryptUtils.java
MD5加密 getMD5 encryptMD5 getMD5File
SHA加密 getSHA encryptSHA
键盘相关→KeyboardUtils.java
避免输入法面板遮挡
动态隐藏软键盘 hideSoftInput
点击屏幕空白区域隐藏软键盘(注释萌萌哒) clickBlankArea2HideSoftInput0
动态显示软键盘 showSoftInput
切换键盘显示与否状态 toggleSoftInput
网络相关→NetworkUtils.java
打开网络设置界面 openWirelessSettings
判断网络是否可用 isAvailable
判断网络是否连接 isConnected
判断网络是否是4G is4G
判断wifi是否连接状态 isWifiConnected
获取移动网络运营商名称 getNetworkOperatorName
获取移动终端类型 getPhoneType
获取当前的网络类型(WIFI,2G,3G,4G) getNetWorkType getNetWorkTypeName
手机相关→PhoneUtils.java
判断设备是否是手机 isPhone
获取手机的IMIE getDeviceIMEI
获取手机状态信息 getPhoneStatus
跳至填充好phoneNumber的拨号界面 dial
拨打phoneNumber call
发送短信 sendSms
获取手机联系人 getAllContactInfo
打开手机联系人界面点击联系人后便获取该号码(注释萌萌哒) getContantNum
获取手机短信并保存到xml中 getAllSMS
正则相关→RegularUtils.java
正则工具类
屏幕相关→ScreenUtils.java
获取手机分辨率 getDeviceWidth、getDeviceHeight
设置透明状态栏(api >= 19方可使用) setTransparentStatusBar
隐藏状态栏(注释萌萌哒) hideStatusBar
获取状态栏高度 getStatusBarHeight
判断状态栏是否存在 isStatusBarExists
获取ActionBar高度 getActionBarHeight
显示通知栏 showNotificationBar
隐藏通知栏 hideNotificationBar
设置屏幕为横屏(注释萌萌哒) setLandscape
获取屏幕截图 snapShotWithStatusBar、snapShotWithoutStatusBar
判断是否锁屏 isScreenLock
Shell相关→ShellUtils.java
判断设备是否root isRoot
是否是在root下执行命令 execCmd
尺寸相关→SizeUtils.java
dp与px转换 dp2px、px2dp
sp与px转换 sp2px、px2sp
各种单位转换 applyDimension
在onCreate()即可强行获取View的尺寸 forceGetViewSize
ListView中提前测量View尺寸(注释萌萌哒) measureView
SP相关→SPUtils.java
SP中写入String类型value putString
SP中读取String getString
SP中写入int类型value putInt
SP中读取int getInt
SP中写入long类型value putLong
SP中读取long getLong
SP中写入float类型value putFloat
SP中读取float getFloat
SP中写入boolean类型value putBoolean
SP中读取boolean getBoolean
时间相关→TimeUtils.java
将时间戳转为时间字符串 milliseconds2String
将时间字符串转为时间戳 string2Milliseconds
将时间字符串转为Date类型 string2Date
将Date类型转为时间字符串 date2String
将Date类型转为时间戳 date2Milliseconds
将时间戳转为Date类型 milliseconds2Date
毫秒时间戳单位转换(单位:unit) milliseconds2Unit
获取两个时间差(单位:unit) getIntervalTime
获取当前时间 getCurTimeMills getCurTimeString getCurTimeDate
获取与当前时间的差(单位:unit) getIntervalByNow
判断闰年 isLeapYear
未归类→UnclassifiedUtils.java
获取服务是否开启 isRunningService
更新Log
做这份整理只是想把它作为Android的一本小字典,当遇到一些琐碎问题时,不用再面向百度或者谷歌查询API的使用,费时费力,这里有的话,大家尽管撸走。希望它能逐日壮大起来,期待你的Star和完善,用途的话大家想把它们整理成工具类或者什么的话都可以,之后我也会封装工具类并分享之,但本篇只是提供查阅,毕竟看md比看类文件要爽多了,其中好多代码我也是各种搜刮来的,也要谢谢各位的总结,大部分代码已验证过可行,如有错误,请及时告之,开设QQ群提供讨论,群号:74721490,至于验证问题对大家来说肯定都是小case。
由于简书字数已超限,这里只提供更新日志,详情请跳转Github,传送门→期待你的Star和完善
更新Log
16/08/08 新增Shell工具类,已传jcenter()遇到好多坑,javaDoc惹的祸,注释一定要规范
16/08/07 新增6.0获取Mac地址方法,新增对HTML转义,新增编码解码工具类,新增SP工具类
16/08/06 重命名包名,新增加密相关的单元测试,MD5加密新增文件加密重载。
16/08/05 加密新增MD5盐加密,完善NetworkUtils,新增判断状态栏是否存在(在此感谢tiandawu)
16/08/04 新增时间工具类(在此感谢yi520000给的补充),手机正则分简单和精确(在此感谢MIkeeJY),新增判断是否锁屏,注释分段落,目录按首字母排序
16/08/03 修复在onCreate中获取view尺寸的bug,MD5和SHA的Bug修复完成(在此感谢ssyijiu)
16/08/02 wifi设置界面bug修复,注释排版还在修改,获取mac地址增加判空,新增QQ群:74721490,欢迎加入,新增隐藏状态栏,注释更加全面,工具类已封装,写的时候真的是一个一个测试过去的,宝宝心里苦
16/08/01 新增获取SD卡路径,手机和设备进行分类,代码bug修改部分,小修排版,正在封装类,新增目录中显示方法名,新增获取当前App版本Code
16/07/31 新增点击屏幕空白区域隐藏软键盘,未能成功增加本页目录跳转功能(不支持)
相关文章推荐
- android开发软件工具类,获取软件的各种属性
- 移动开发----Android 开发各种工具类
- Android UI开发专题(三) 各种Drawable
- Android UI开发专题(三) 各种Drawable
- Android各种屏幕的分布率以及自适应各种屏幕的开发研究
- Android开发中各种问题集锦
- android google地图开发总结——往地图上添加各种东西
- Android UI开发专题(三) 各种Drawable
- Android各种分辨率一览,方便开发对应
- Android开发中各种问题集锦【11-20】
- 【Android】关于Netbeans 开发 Android 环境搭建及各种困难解决
- Android开发中各种问题集锦
- Android UI开发专题(三) 各种Drawable
- Android开发实现HttpClient工具类
- Android腾讯微薄客户端开发七:图片加圆角以及时间处理工具类
- Android开发中各种问题集锦
- Android UI开发专题(三) 各种Drawable
- Android_UI开发专题之各种Drawable
- Android 开发学习中 各种问题收集
- Android应用开发之(支持各种密度的屏幕)