Android开发常用工具类AndroidUtilCode

原文链接地址:https://github.com/Blankj/AndroidUtilCode/blob/master/README-CN.md

API

 
  1. isActivityExists : 判断Activity是否存在

  2. startActivity : 启动Activity

  3. startActivities : 启动多个Activity

  4. startHomeActivity : 回到桌面

  5. getActivityList : 获取Activity栈链表

  6. getLauncherActivity : 获取启动项Activity

  7. getTopActivity : 获取栈顶Activity

  8. isActivityExistsInStack : 判断Activity是否存在栈中

  9. finishActivity : 结束Activity

  10. finishToActivity : 结束到指定Activity

  11. finishOtherActivitiesExceptNewest: 结束除最新之外的同类型Activity

  12. finishAllActivities : 结束所有activity

 
  1. isInstallApp : 判断App是否安装

  2. installApp : 安装App(支持7.0)

  3. installAppSilent : 静默安装App

  4. uninstallApp : 卸载App

  5. uninstallAppSilent : 静默卸载App

  6. isAppRoot : 判断App是否有root权限

  7. launchApp : 打开App

  8. exitApp : 关闭应用

  9. getAppPackageName : 获取App包名

  10. getAppDetailsSettings: 获取App具体设置

  11. getAppName : 获取App名称

  12. getAppIcon : 获取App图标

  13. getAppPath : 获取App路径

  14. getAppVersionName : 获取App版本号

  15. getAppVersionCode : 获取App版本码

  16. isSystemApp : 判断App是否是系统应用

  17. isAppDebug : 判断App是否是Debug版本

  18. getAppSignature : 获取App签名

  19. getAppSignatureSHA1 : 获取应用签名的的SHA1值

  20. isAppForeground : 判断App是否处于前台

  21. getForegroundApp : 获取前台应用包名

  22. getAppInfo : 获取App信息

  23. getAppsInfo : 获取所有已安装App信息

  24. cleanAppData : 清除App所有数据

 
  1. getStatusBarHeight : 获取状态栏高度(px)

  2. addMarginTopEqualStatusBarHeight : 为view增加MarginTop为状态栏高度

  3. subtractMarginTopEqualStatusBarHeight: 为view减少MarginTop为状态栏高度

  4. setStatusBarColor : 设置状态栏颜色

  5. setStatusBarAlpha : 设置状态栏透明度

  6. setStatusBarColor4Drawer : 为DrawerLayout设置状态栏颜色

  7. setStatusBarAlpha4Drawer : 为DrawerLayout设置状态栏透明度

  8. getActionBarHeight : 获取ActionBar高度

  9. showNotificationBar : 显示通知栏

  10. hideNotificationBar : 隐藏通知栏

  11. getNavBarHeight : 获取导航栏高度

  12. hideNavBar : 隐藏导航栏

 
  1. getInstance : 获取缓存实例

  2. put : 缓存中写入数据

  3. getBytes : 缓存中读取字节数组

  4. getString : 缓存中读取String

  5. getJSONObject : 缓存中读取JSONObject

  6. getJSONArray : 缓存中读取JSONArray

  7. getBitmap : 缓存中读取Bitmap

  8. getDrawable : 缓存中读取Drawable

  9. getParcelable : 缓存中读取Parcelable

  10. getSerializable: 缓存中读取Serializable

  11. getCacheSize : 获取缓存大小

  12. getCacheCount : 获取缓存个数

  13. remove : 根据键值移除缓存

  14. clear : 清除所有缓存

 
  1. cleanInternalCache : 清除内部缓存

  2. cleanInternalFiles : 清除内部文件

  3. cleanInternalDbs : 清除内部数据库

  4. cleanInternalDbByName: 根据名称清除数据库

  5. cleanInternalSP : 清除内部SP

  6. cleanExternalCache : 清除外部缓存

  7. cleanCustomCache : 清除自定义目录下的文件

 
  1. closeIO : 关闭IO

  2. closeIOQuietly: 安静关闭IO

 
  1. bytes2HexString, hexString2Bytes : byteArr与hexString互转

  2. chars2Bytes, bytes2Chars : charArr与byteArr互转

  3. memorySize2Byte, byte2MemorySize : 以unit为单位的内存大小与字节数互转

  4. byte2FitMemorySize : 字节数转合适内存大小

  5. timeSpan2Millis, millis2TimeSpan : 以unit为单位的时间长度与毫秒时间戳互转

  6. millis2FitTimeSpan : 毫秒时间戳转合适时间长度

  7. bytes2Bits, bits2Bytes : bytes与bits互转

  8. input2OutputStream, output2InputStream : inputStream与outputStream互转

  9. inputStream2Bytes, bytes2InputStream : inputStream与byteArr互转

  10. outputStream2Bytes, bytes2OutputStream : outputStream与byteArr互转

  11. inputStream2String, string2InputStream : inputStream与string按编码互转

  12. outputStream2String, string2OutputStream: outputStream与string按编码互转

  13. bitmap2Bytes, bytes2Bitmap : bitmap与byteArr互转

  14. drawable2Bitmap, bitmap2Drawable : drawable与bitmap互转

  15. drawable2Bytes, bytes2Drawable : drawable与byteArr互转

  16. view2Bitmap : view转Bitmap

  17. dp2px, px2dp : dp与px互转

  18. sp2px, px2sp : sp与px互转

init: 初始化
 
  1. isDeviceRooted : 判断设备是否rooted

  2. getSDKVersion : 获取设备系统版本号

  3. getAndroidID : 获取设备AndroidID

  4. getMacAddress : 获取设备MAC地址

  5. getManufacturer : 获取设备厂商

  6. getModel : 获取设备型号

  7. shutdown : 关机

  8. reboot : 重启

  9. reboot2Recovery : 重启到recovery

  10. reboot2Bootloader: 重启到bootloader

 
  1. isEmpty : 判断对象是否为空

  2. isNotEmpty: 判断对象是否非空

 
  1. urlEncode : URL编码

  2. urlDecode : URL解码

  3. base64Encode : Base64编码

  4. base64Encode2String: Base64编码

  5. base64Decode : Base64解码

  6. base64UrlSafeEncode: Base64URL安全编码

  7. htmlEncode : Html编码

  8. htmlDecode : Html解码

 
  1. encryptMD2, encryptMD2ToString : MD2加密

  2. encryptMD5, encryptMD5ToString : MD5加密

  3. encryptMD5File, encryptMD5File2String : MD5加密文件

  4. encryptSHA1, encryptSHA1ToString : SHA1加密

  5. encryptSHA224, encryptSHA224ToString : SHA224加密

  6. encryptSHA256, encryptSHA256ToString : SHA256加密

  7. encryptSHA384, encryptSHA384ToString : SHA384加密

  8. encryptSHA512, encryptSHA512ToString : SHA512加密

  9. encryptHmacMD5, encryptHmacMD5ToString : HmacMD5加密

  10. encryptHmacSHA1, encryptHmacSHA1ToString : HmacSHA1加密

  11. encryptHmacSHA224, encryptHmacSHA224ToString : HmacSHA224加密

  12. encryptHmacSHA256, encryptHmacSHA256ToString : HmacSHA256加密

  13. encryptHmacSHA384, encryptHmacSHA384ToString : HmacSHA384加密

  14. encryptHmacSHA512, encryptHmacSHA512ToString : HmacSHA512加密

  15. encryptDES, encryptDES2HexString, encryptDES2Base64 : DES加密

  16. decryptDES, decryptHexStringDES, decryptBase64DES : DES解密

  17. encrypt3DES, encrypt3DES2HexString, encrypt3DES2Base64: 3DES加密

  18. decrypt3DES, decryptHexString3DES, decryptBase64_3DES : 3DES解密

  19. encryptAES, encryptAES2HexString, encryptAES2Base64 : AES加密

  20. decryptAES, decryptHexStringAES, decryptBase64AES : AES解密

 
  1. writeFileFromIS : 将输入流写入文件

  2. writeFileFromBytesByStream : 将字节数组写入文件

  3. writeFileFromBytesByChannel: 将字节数组写入文件

  4. writeFileFromBytesByMap : 将字节数组写入文件

  5. writeFileFromString : 将字符串写入文件

  6. readFile2List : 读取文件到字符串链表中

  7. readFile2String : 读取文件到字符串中

  8. readFile2BytesByStream : 读取文件到字节数组中

  9. readFile2BytesByChannel : 读取文件到字节数组中

  10. readFile2BytesByMap : 读取文件到字节数组中

  11. setBufferSize : 设置缓冲区尺寸

 
  1. getFileByPath : 根据文件路径获取文件

  2. isFileExists : 判断文件是否存在

  3. rename : 重命名文件

  4. isDir : 判断是否是目录

  5. isFile : 判断是否是文件

  6. createOrExistsDir : 判断目录是否存在,不存在则判断是否创建成功

  7. createOrExistsFile : 判断文件是否存在,不存在则判断是否创建成功

  8. createFileByDeleteOldFile : 判断文件是否存在,存在则在创建之前删除

  9. copyDir : 复制目录

  10. copyFile : 复制文件

  11. moveDir : 移动目录

  12. moveFile : 移动文件

  13. deleteDir : 删除目录

  14. deleteFile : 删除文件

  15. deleteAllInDir : 删除目录下所有东西

  16. deleteFilesInDir : 删除目录下所有文件

  17. deleteFilesInDirWithFilter: 删除目录下所有过滤的文件

  18. listFilesInDir : 获取目录下所有文件

  19. listFilesInDirWithFilter : 获取目录下所有过滤的文件

  20. getFileLastModified : 获取文件最后修改的毫秒时间戳

  21. getFileCharsetSimple : 简单获取文件编码格式

  22. getFileLines : 获取文件行数

  23. getDirSize : 获取目录大小

  24. getFileSize : 获取文件大小

  25. getDirLength : 获取目录长度

  26. getFileLength : 获取文件长度

  27. getFileMD5 : 获取文件的MD5校验码

  28. getFileMD5ToString : 获取文件的MD5校验码

  29. getDirName : 根据全路径获取最长目录

  30. getFileName : 根据全路径获取文件名

  31. getFileNameNoExtension : 根据全路径获取文件名不带拓展名

  32. getFileExtension : 根据全路径获取文件拓展名

 
  1. add : 新增fragment

  2. show : 显示fragment

  3. hide : 隐藏fragment

  4. showHide : 先显示后隐藏fragment

  5. replace : 替换fragment

  6. pop : 出栈fragment

  7. popTo : 出栈到指定fragment

  8. popAll : 出栈所有fragment

  9. remove : 移除fragment

  10. removeTo : 移除到指定fragment

  11. removeAll : 移除所有fragment

  12. getTop : 获取顶部fragment

  13. getTopInStack : 获取栈中顶部fragment

  14. getTopShow : 获取顶部可见fragment

  15. getTopShowInStack : 获取栈中顶部可见fragment

  16. getFragments : 获取同级别的fragment

  17. getFragmentsInStack : 获取同级别栈中的fragment

  18. getAllFragments : 获取所有fragment

  19. getAllFragmentsInStack: 获取栈中所有fragment

  20. findFragment : 查找fragment

  21. dispatchBackPress : 处理fragment回退键

  22. setBackgroundColor : 设置背景色

  23. setBackgroundResource : 设置背景资源

  24. setBackground : 设置背景

 
  1. bitmap2Bytes, bytes2Bitmap : bitmap与byteArr互转

  2. drawable2Bitmap, bitmap2Drawable: drawable与bitmap互转

  3. drawable2Bytes, bytes2Drawable : drawable与byteArr互转

  4. view2Bitmap : view转bitmap

  5. getBitmap : 获取bitmap

  6. scale : 缩放图片

  7. clip : 裁剪图片

  8. skew : 倾斜图片

  9. rotate : 旋转图片

  10. getRotateDegree : 获取图片旋转角度

  11. toRound : 转为圆形图片

  12. toRoundCorner : 转为圆角图片

  13. addCornerBorder : 添加圆角边框

  14. addCircleBorder : 添加圆形边框

  15. addReflection : 添加倒影

  16. addTextWatermark : 添加文字水印

  17. addImageWatermark : 添加图片水印

  18. toAlpha : 转为alpha位图

  19. toGray : 转为灰度图片

  20. fastBlur : 快速模糊

  21. renderScriptBlur : renderScript模糊图片

  22. stackBlur : stack模糊图片

  23. save : 保存图片

  24. isImage : 根据文件名判断文件是否为图片

  25. getImageType : 获取图片类型

  26. compressByScale : 按缩放压缩

  27. compressByQuality : 按质量压缩

  28. compressBySampleSize : 按采样大小压缩

 
  1. getInstallAppIntent : 获取安装App(支持6.0)的意图

  2. getUninstallAppIntent : 获取卸载App的意图

  3. getLaunchAppIntent : 获取打开App的意图

  4. getAppDetailsSettingsIntent: 获取App具体设置的意图

  5. getShareTextIntent : 获取分享文本的意图

  6. getShareImageIntent : 获取分享图片的意图

  7. getComponentIntent : 获取其他应用组件的意图

  8. getShutdownIntent : 获取关机的意图

  9. getCaptureIntent : 获取拍照的意图

 
  1. showSoftInput : 动态显示软键盘

  2. hideSoftInput : 动态隐藏软键盘

  3. toggleSoftInput : 切换键盘显示与否状态

  4. clickBlankArea2HideSoftInput: 点击屏幕空白区域隐藏软键盘

 
  1. getConfig : 获取log配置

  2. Config.setLogSwitch : 设置log总开关

  3. Config.setConsoleSwitch : 设置log控制台开关

  4. Config.setGlobalTag : 设置log全局tag

  5. Config.setLogHeadSwitch : 设置log头部信息开关

  6. Config.setLog2FileSwitch: 设置log文件开关

  7. Config.setDir : 设置log文件存储目录

  8. Config.setFilePrefix : 设置log文件前缀

  9. Config.setBorderSwitch : 设置log边框开关

  10. Config.setConsoleFilter : 设置log控制台过滤器

  11. Config.setFileFilter : 设置log文件过滤器

  12. Config.setStackDeep : 设置log栈深度

  13. v : Verbose日志

  14. d : Debug日志

  15. i : Info日志

  16. w : Warn日志

  17. e : Error日志

  18. a : Assert日志

  19. file : log到文件

  20. json : log字符串之json

  21. xml : log字符串之xml

 
  1. openWirelessSettings : 打开网络设置界面

  2. isConnected : 判断网络是否连接

  3. isAvailableByPing : 判断网络是否可用

  4. getDataEnabled : 判断移动数据是否打开

  5. setDataEnabled : 打开或关闭移动数据

  6. is4G : 判断网络是否是4G

  7. getWifiEnabled : 判断wifi是否打开

  8. setWifiEnabled : 打开或关闭wifi

  9. isWifiConnected : 判断wifi是否连接状态

  10. isWifiAvailable : 判断wifi数据是否可用

  11. getNetworkOperatorName: 获取移动网络运营商名称

  12. getNetworkType : 获取当前网络类型

  13. getIPAddress : 获取IP地址

  14. getDomainAddress : 获取域名ip地址

 
  1. isPhone : 判断设备是否是手机

  2. getIMEI : 获取IMEI码

  3. getIMSI : 获取IMSI码

  4. getPhoneType : 获取移动终端类型

  5. isSimCardReady : 判断sim卡是否准备好

  6. getSimOperatorName : 获取Sim卡运营商名称

  7. getSimOperatorByMnc: 获取Sim卡运营商名称

  8. getPhoneStatus : 获取手机状态信息

  9. dial : 跳至拨号界面

  10. call : 拨打phoneNumber

  11. sendSms : 跳至发送短信界面

  12. sendSmsSilent : 发送短信

  13. getAllContactInfo : 获取手机联系人

  14. getContactNum : 打开手机联系人界面点击联系人后便获取该号码

  15. getAllSMS : 获取手机短信并保存到xml中

 
  1. getForegroundProcessName : 获取前台线程包名

  2. killAllBackgroundProcesses: 杀死所有的后台服务进程

  3. killBackgroundProcesses : 杀死后台服务进程

 
  1. isMobileSimple : 验证手机号(简单)

  2. isMobileExact : 验证手机号(精确)

  3. isTel : 验证电话号码

  4. isIDCard15 : 验证身份证号码15位

  5. isIDCard18 : 验证身份证号码18位

  6. isEmail : 验证邮箱

  7. isURL : 验证URL

  8. isZh : 验证汉字

  9. isUsername : 验证用户名

  10. isDate : 验证yyyy-MM-dd格式的日期校验,已考虑平闰年

  11. isIP : 验证IP地址

  12. isMatch : 判断是否匹配正则

  13. getMatches : 获取正则匹配的部分

  14. getSplits : 获取正则匹配分组

  15. getReplaceFirst: 替换正则匹配的第一部分

  16. getReplaceAll : 替换所有正则匹配的部分

 
  1. getScreenWidth : 获取屏幕的宽度(单位:px)

  2. getScreenHeight : 获取屏幕的高度(单位:px)

  3. getScreenDensity : 获取屏幕密度

  4. getScreenDensityDpi: 获取屏幕密度DPI

  5. setFullScreen : 设置屏幕为全屏

  6. setLandscape : 设置屏幕为横屏

  7. setPortrait : 设置屏幕为竖屏

  8. isLandscape : 判断是否横屏

  9. isPortrait : 判断是否竖屏

  10. getScreenRotation : 获取屏幕旋转角度

  11. screenShot : 截屏

  12. isScreenLock : 判断是否锁屏

  13. setSleepDuration : 设置进入休眠时长

  14. getSleepDuration : 获取进入休眠时长

  15. isTablet : 判断是否是平板

 
  1. isSDCardEnable: 判断SD卡是否可用

  2. getSDCardPaths: 获取SD卡路径

 
  1. getAllRunningService: 获取所有运行的服务

  2. startService : 启动服务

  3. stopService : 停止服务

  4. bindService : 绑定服务

  5. unbindService : 解绑服务

  6. isServiceRunning : 判断服务是否运行

execCmd: 是否是在root下执行命令
 
  1. dp2px, px2dp : dp与px转换

  2. sp2px, px2sp : sp与px转换

  3. applyDimension : 各种单位转换

  4. forceGetViewSize : 在onCreate中获取视图的尺寸

  5. measureView : 测量视图尺寸

  6. getMeasuredWidth : 获取测量视图宽度

  7. getMeasuredHeight: 获取测量视图高度

 
  1. with : 设置snackbar依赖view

  2. setMessage : 设置消息

  3. setMessageColor: 设置消息颜色

  4. setBgColor : 设置背景色

  5. setBgResource : 设置背景资源

  6. setDuration : 设置显示时长

  7. setAction : 设置行为

  8. setBottomMargin: 设置底边距

  9. show : 显示snackbar

  10. showSuccess : 显示预设成功的snackbar

  11. showWarning : 显示预设警告的snackbar

  12. showError : 显示预设错误的snackbar

  13. dismiss : 消失snackbar

  14. getView : 获取snackbar视图

  15. addView : 添加snackbar视图

 
  1. setFlag : 设置标识

  2. setForegroundColor: 设置前景色

  3. setBackgroundColor: 设置背景色

  4. setLineHeight : 设置行高

  5. setQuoteColor : 设置引用线的颜色

  6. setLeadingMargin : 设置缩进

  7. setBullet : 设置列表标记

  8. setIconMargin : 设置图标

  9. setFontSize : 设置字体尺寸

  10. setFontProportion : 设置字体比例

  11. setFontXProportion: 设置字体横向比例

  12. setStrikethrough : 设置删除线

  13. setUnderline : 设置下划线

  14. setSuperscript : 设置上标

  15. setSubscript : 设置下标

  16. setBold : 设置粗体

  17. setItalic : 设置斜体

  18. setBoldItalic : 设置粗斜体

  19. setFontFamily : 设置字体系列

  20. setTypeface : 设置字体

  21. setAlign : 设置对齐

  22. setClickSpan : 设置点击事件

  23. setUrl : 设置超链接

  24. setBlur : 设置模糊

  25. setShader : 设置着色器

  26. setShadow : 设置阴影

  27. setSpans : 设置样式

  28. append : 追加样式字符串

  29. appendLine : 追加一行样式字符串

  30. appendImage : 追加图片

  31. appendSpace : 追加空白

  32. create : 创建样式字符串

 
  1. getInstance: 获取SP实例

  2. put : SP中写入数据

  3. getString : SP中读取String

  4. getInt : SP中读取int

  5. getLong : SP中读取long

  6. getFloat : SP中读取float

  7. getBoolean : SP中读取boolean

  8. getAll : SP中获取所有键值对

  9. contains : SP中是否存在该key

  10. remove : SP中移除该key

  11. clear : SP中清除所有数据

 
  1. isEmpty : 判断字符串是否为null或长度为0

  2. isTrimEmpty : 判断字符串是否为null或全为空格

  3. isSpace : 判断字符串是否为null或全为空白字符

  4. equals : 判断两字符串是否相等

  5. equalsIgnoreCase: 判断两字符串忽略大小写是否相等

  6. null2Length0 : null转为长度为0的字符串

  7. length : 返回字符串长度

  8. upperFirstLetter: 首字母大写

  9. lowerFirstLetter: 首字母小写

  10. reverse : 反转字符串

  11. toDBC : 转化为半角字符

  12. toSBC : 转化为全角字符

 
  1. millis2String : 将时间戳转为时间字符串

  2. string2Millis : 将时间字符串转为时间戳

  3. string2Date : 将时间字符串转为Date类型

  4. date2String : 将Date类型转为时间字符串

  5. date2Millis : 将Date类型转为时间戳

  6. millis2Date : 将时间戳转为Date类型

  7. getTimeSpan : 获取两个时间差(单位:unit)

  8. getFitTimeSpan : 获取合适型两个时间差

  9. getNowMills : 获取当前毫秒时间戳

  10. getNowString : 获取当前时间字符串

  11. getNowDate : 获取当前Date

  12. getTimeSpanByNow : 获取与当前时间的差(单位:unit)

  13. getFitTimeSpanByNow : 获取合适型与当前时间的差

  14. getFriendlyTimeSpanByNow: 获取友好型与当前时间的差

  15. getMillis : 获取与给定时间等于时间差的时间戳

  16. getString : 获取与给定时间等于时间差的时间字符串

  17. getDate : 获取与给定时间等于时间差的Date

  18. getMillisByNow : 获取与当前时间等于时间差的时间戳

  19. getStringByNow : 获取与当前时间等于时间差的时间字符串

  20. getDateByNow : 获取与当前时间等于时间差的Date

  21. isToday : 判断是否今天

  22. isLeapYear : 判断是否闰年

  23. getChineseWeek : 获取中式星期

  24. getUSWeek : 获取美式式星期

  25. getWeekIndex : 获取星期索引

  26. getWeekOfMonth : 获取月份中的第几周

  27. getWeekOfYear : 获取年份中的第几周

  28. getChineseZodiac : 获取生肖

  29. getZodiac : 获取星座

 
  1. setGravity : 设置吐司位置

  2. setBgColor : 设置背景颜色

  3. setBgResource : 设置背景资源

  4. setMessageColor: 设置消息颜色

  5. showShort : 显示短时吐司

  6. showLong : 显示长时吐司

  7. showCustomShort: 显示短时自定义吐司

  8. showCustomLong : 显示长时自定义吐司

  9. cancel : 取消吐司显示

 
  1. zipFile : 压缩文件

  2. unzipFile : 解压文件

  3. unzipFileByKeyword: 解压带有关键字的文件

  4. getFilesPath : 获取压缩文件中的文件路径链表

  5. getComments : 获取压缩文件中的注释链表


About


  •  
     
     
     

  • 做这份整理是想把它作为Android开发的小字典,当遇到一些琐碎问题时,不用再面向百度或者谷歌查询API的使用,费时费力,这里有的话,大家尽管撸走;同时也希望它能逐日壮大起来,期待大家的Star和完善,当然我也会一直更新发布版本和日志,为了方便大家导入,现已上传jcenter;其中很多代码也是汇四方之精华,谢谢前辈们的提供,当然最终还是要通过单元测试的,如有错误,请及时告之。

Download

Gradle:

compile 'com.blankj:utilcode:1.9.3'

How to use

 
  1. // init it in the function of onCreate in ur Application

  2. Utils.init(application);

Proguard

 
  1. -keep class com.blankj.utilcode.** { *; }

  2. -keepclassmembers class com.blankj.utilcode.** { *; }

  3. -dontwarn com.blankj.utilcode.**

猜你喜欢

转载自blog.csdn.net/NCTU_to_prove_safety/article/details/87865378