您的位置:首页 > 移动开发 > Android开发

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 新增点击屏幕空白区域隐藏软键盘,未能成功增加本页目录跳转功能(不支持)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: