Android开发人员不得不收集的代码(持续更新中)

来源:互联网 发布:js 遍历数组 编辑:程序博客网 时间:2024/05/29 13:43

Android开发人员不得不收集的代码(持续更新中)

2016-09-13 APP架构师

原文链接:https://github.com/passiontim/AndroidUtilCode

Android开发人员不得不收集的代码(持续更新中)

Blankj 2016-08-01 16:51

Android开发人员不得不收集的代码(持续更新中)


为方便查找,已进行大致归类,其目录如下所示:

  • App相关→AppUtils.java

    • 安装App installApp

    • 卸载指定包名的App uninstallApp

    • 获取当前App信息 getAppInfo

    • 获取所有已安装App信息 getAllAppsInfo

    • 根据包名判断App是否安装 isInstallApp

    • 打开指定包名的App openAppByPackageName

    • 打开指定包名的App应用信息界面 openAppInfo

    • 可用来做App信息分享 shareAppInfo

    • 判断当前App处于前台还是后台 isAppBackground

  • 常量相关→ConstUtils.java

    • 存储相关常量

    • 时间相关常量

    • 正则相关常量

  • 转换相关→ConvertUtils.java→Test

    • byteArr与hexString互转 bytes2HexStringhexString2Bytes

    • charArr与byteArr互转 chars2Bytesbytes2Chars

    • inputStream与outputStream互转 input2OutputStreamoutput2InputStream

    • inputStream与byteArr互转 inputStream2Bytesbytes2InputStream

    • outputStream与byteArr互转 outputStream2Bytesbytes2OutputStream

    • inputStream与string按编码互转 inputStream2Stringstring2InputStream

    • outputStream与string按编码互转 outputStream2Stringstring2OutputStream

    • bitmap与byteArr互转 bitmap2Bytesbytes2Bitmap

    • drawable与bitmap互转 drawable2Bitmapbitmap2Drawable

    • drawable与byteArr互转 drawable2Bytesbytes2Drawable

    • dp与px互转 dp2pxpx2dp

    • sp与px互转 sp2pxpx2sp

  • 设备相关→DeviceUtils.java

    • 获取设备MAC地址 getMacAddress

    • 获取设备厂商,如Xiaomi getManufacturer

    • 获取设备型号,如MI2SC getModel

  • 编码解码相关→EncodeUtils.java→Test

    • URL编码 urlEncode

    • URL解码 urlDecode

    • Base64编码 base64Encodebase64Encode2String

    • Base64解码 base64Decode

    • Base64URL安全编码 base64UrlSafeEncode

    • Html编码 htmlEncode

    • Html解码 htmlDecode

  • 加密解密相关→EncryptUtils.java→Test

    • MD2加密 encryptMD2ToStringencryptMD2

    • MD5加密 encryptMD5ToStringencryptMD5

    • SHA1加密 encryptSHA1ToStringencryptSHA1

    • SHA224加密 encryptSHA224ToStringencryptSHA224

    • SHA256加密 encryptSHA256ToStringencryptSHA256

    • SHA384加密 encryptSHA384ToStringencryptSHA384

    • SHA512加密 encryptSHA512ToStringencryptSHA512

    • 获取文件的MD5校验码 encryptMD5File2StringencryptMD5File

    • DES加密后转为Base64编码 encryptDES2Base64

    • DES加密后转为16进制 encryptDES2HexString

    • DES加密 encryptDES

    • DES解密Base64编码密文 decryptBase64DES

    • DES解密16进制密文 decryptHexStringDES

    • DES解密 decryptDES

    • 3DES加密后转为Base64编码 encrypt3DES2Base64

    • 3DES加密后转为16进制 encrypt3DES2HexString

    • 3DES加密 encrypt3DES

    • 3DES解密Base64编码密文 decryptBase64_3DES

    • 3DES解密16进制密文 decryptHexString3DES

    • 3DES解密 decrypt3DES

    • AES加密后转为Base64编码 encryptAES2Base64

    • AES加密后转为16进制 encryptAES2HexString

    • AES加密 encryptAES

    • AES解密Base64编码密文 decryptBase64AES

    • AES解密16进制密文 decryptHexStringAES

    • AES解密 decryptAES

  • 文件相关→FileUtils.java→Test

    • 根据文件路径获取文件 getFileByPath

    • 判断文件是否存在 isFileExists

    • 判断是否是目录 isDir

    • 判断是否是文件 isFile

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

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

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

    • 复制目录 copyDir

    • 复制文件 copyFile

    • 移动目录 moveDir

    • 移动文件 moveFile

    • 删除目录 deleteDir

    • 删除文件 deleteFile

    • 获取目录下所有文件 listFilesInDir

    • 获取目录下所有文件包括子目录 listFilesInDir

    • 获取目录下所有后缀名为suffix的文件 listFilesInDirWithFilter

    • 获取目录下所有后缀名为suffix的文件包括子目录 listFilesInDirWithFilter

    • 获取目录下所有符合filter的文件 listFilesInDirWithFilter

    • 获取目录下所有符合filter的文件包括子目录 listFilesInDirWithFilter

    • 获取目录下指定文件名的文件包括子目录 searchFileInDir

    • 将输入流写入文件 writeFileFromIS

    • 将字符串写入文件 writeFileFromString

    • 简单获取文件编码格式 getFileCharsetSimple

    • 获取文件行数 getFileLines

    • 指定编码按行读取文件到List readFile2List

    • 指定编码按行读取文件到StringBuilder中 readFile2SB

    • 字节数转以unit为单位的size byte2Size

    • 以unit为单位的size转字节数 size2Byte

    • 获取文件大小 getFileSize

    • 关闭IO closeIO

    • 根据全路径获取最长目录 getDirName

    • 根据全路径获取文件名 getFileName

    • 根据全路径获取文件名不带拓展名 getFileNameNoExtension

    • 根据全路径获取文件拓展名 getFileExtension

  • 图片相关→ImageUtils.java

    • bitmap与byteArr互转 bitmap2Bytesbytes2Bitmap

    • drawable与bitmap互转 drawable2Bitmapbitmap2Drawable

    • drawable与byteArr互转 drawable2Bytesbytes2Drawable

    • 缩放图片 scaleImage

    • 转为圆形图片 toRound

    • 转为圆角图片 toRoundCorner

    • 快速模糊 fastBlur

    • renderScript模糊图片 renderScriptBlur

    • stack模糊图片 stackBlur

    • 添加颜色边框 addFrame

    • 添加倒影 addReflection

    • 添加水印文字 addText

    • 压缩图片 compress

    • 保存图片 save

    • 判断文件是否为图片 isImage

    • 获取图片类型 getImageType

  • 键盘相关→KeyboardUtils.java

    • 避免输入法面板遮挡

    • 动态隐藏软键盘 hideSoftInput

    • 点击屏幕空白区域隐藏软键盘(注释萌萌哒) clickBlankArea2HideSoftInput0

    • 动态显示软键盘 showSoftInput

    • 切换键盘显示与否状态 toggleSoftInput

  • 网络相关→NetworkUtils.java

    • 打开网络设置界面 openWirelessSettings

    • 判断网络是否可用 isAvailable

    • 判断网络是否连接 isConnected

    • 判断网络是否是4G is4G

    • 判断wifi是否连接状态 isWifiConnected

    • 获取移动网络运营商名称 getNetworkOperatorName

    • 获取移动终端类型 getPhoneType

    • 获取当前的网络类型(WIFI,2G,3G,4G) getNetWorkTypegetNetWorkTypeName

  • 手机相关→PhoneUtils.java

    • 判断设备是否是手机 isPhone

    • 获取手机的IMIE getPhoneIMEI

    • 获取手机状态信息 getPhoneStatus

    • 跳至填充好phoneNumber的拨号界面 dial

    • 拨打phoneNumber call

    • 发送短信 sendSms

    • 获取手机联系人 getAllContactInfo

    • 打开手机联系人界面点击联系人后便获取该号码(注释萌萌哒) getContantNum

    • 获取手机短信并保存到xml中 getAllSMS

  • 正则相关→RegularUtils.java→Test

    • 验证手机号(简单) isMobileSimple

    • 验证手机号(精确) isMobileExact

    • 验证电话号码 isTel

    • 验证身份证号码15位 isIDCard15

    • 验证身份证号码18位 isIDCard18

    • 验证邮箱 isEmail

    • 验证URL isURL

    • 验证汉字 isChz

    • 验证用户名 isUsername

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

    • 验证IP地址 isIP

    • string是否匹配regex isMatch

  • 屏幕相关→ScreenUtils.java

    • 获取手机分辨率 getDeviceWidthgetDeviceHeight

    • 设置透明状态栏(api大于19方可使用) setTransparentStatusBar

    • 隐藏状态栏(注释萌萌哒) hideStatusBar

    • 获取状态栏高度 getStatusBarHeight

    • 判断状态栏是否存在 isStatusBarExists

    • 获取ActionBar高度 getActionBarHeight

    • 显示通知栏 showNotificationBar

    • 隐藏通知栏 hideNotificationBar

    • 设置屏幕为横屏(注释萌萌哒) setLandscape

    • 获取屏幕截图 snapShotWithStatusBarsnapShotWithoutStatusBar

    • 判断是否锁屏 isScreenLock

  • SD卡相关→SDCardUtils.java

    • 判断SD卡是否可用 isSDCardEnable

    • 获取SD卡路径 getSDCardPath

    • 获取SD卡Data路径 getDataPath

    • 计算SD卡的剩余空间 getFreeSpace

  • Shell相关→ShellUtils.java

    • 判断设备是否root isRoot

    • 是否是在root下执行命令 execCmd

  • 尺寸相关→SizeUtils.java

    • dp与px转换 dp2pxpx2dp

    • sp与px转换 sp2pxpx2sp

    • 各种单位转换 applyDimension

    • 在onCreate()即可强行获取View的尺寸 forceGetViewSize

    • ListView中提前测量View尺寸(注释萌萌哒) measureView

  • SP相关→SPUtils.java→Test

    • SPUtils构造函数 SPUtils

    • 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

    • 获取SP中所有键值对 getAll

    • 从SP中移除该key remove

    • 判断SP中是否存在该key contains

    • 清除SP中所有数据 clear

  • 字符串相关→StringUtils.java→Test

    • 判断字符串是否为null或长度为0 isEmpty

    • 判断字符串是否为null或全为空格 isSpace

    • null转为长度为0的字符串 null2Length0

    • 返回字符串长度 length

    • 首字母大写 upperFirstLetter

    • 首字母小写 lowerFirstLetter

    • 转化为半角字符 toDBC

    • 转化为全角字符 toSBC

  • 线程池相关工具类→ThreadPoolUtils.java

    • ThreadPoolUtils构造函数 ThreadPoolUtils

    • 在未来某个时间执行给定的命令 execute

    • 在未来某个时间执行给定的命令链表 execute

    • 待以前提交的任务执行完毕后关闭线程池 shutDown

    • 试图停止所有正在执行的活动任务 shutDownNow

    • 判断线程池是否已关闭 isShutDown

    • 关闭线程池后判断所有任务是否都已完成 isTerminated

    • 请求关闭、发生超时或者当前线程中断 awaitTermination

    • 提交一个Callable任务用于执行 submit

    • 提交一个Runnable任务用于执行 submit

    • 执行给定的任务 invokeAllinvokeAny

    • 延迟执行Runnable命令 schedule

    • 延迟执行Callable命令 schedule

    • 延迟并循环执行命令 scheduleWithFixedRatescheduleWithFixedDelay

  • 时间相关→TimeUtils.java→Test

    • 将时间戳转为时间字符串 milliseconds2String

    • 将时间字符串转为时间戳 string2Milliseconds

    • 将时间字符串转为Date类型 string2Date

    • 将Date类型转为时间字符串 date2String

    • 将Date类型转为时间戳 date2Milliseconds

    • 将时间戳转为Date类型 milliseconds2Date

    • 毫秒时间戳单位转换(单位:unit) milliseconds2Unit

    • 获取两个时间差(单位:unit) getIntervalTime

    • 获取当前时间 getCurTimeMillsgetCurTimeStringgetCurTimeDate

    • 获取与当前时间的差(单位:unit) getIntervalByNow

    • 判断闰年 isLeapYear

  • 未归类→UnclassifiedUtils.java

    • 获取服务是否开启 isRunningService

  • 压缩相关工具类→ZipUtils.java

    • 批量压缩文件 zipFiles

    • 压缩文件 zipFile

    • 解压缩一个文件 upZipFile

    • 解压文件名包含传入文字的文件 upZipSelectedFile

    • 获得压缩文件内文件列表 getEntriesNames

    • 获得压缩文件内压缩文件对象以取得其属性 getEntriesEnumeration

    • 获得压缩文件对象的注释 getEntryComment

    • 获得压缩文件对象的名称 getEntryName

  • 更新Log→update_log.md


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

0 0