Android 开发常用工具类
后续将封装更多的工具类,将尝试封装一些跟View相关的工具类,像Adapter....,功能将不断完善,同时感谢每一位开源者的贡献,本工具类参考了很多网上工具类。
1.由于水平有限,难免有Bug,如果有任何问题,请反馈 xyb520zly@gmail.com
2.如果你有更好的代码,请提交Pull request.
3.感谢各位的star,你们的支持是我继续前进的动力.
SPUtil SharedPreferences工具
getSpName(Context context) 获取SharedPreferences存储在sd卡中的文件名字setSP(Context context, String key, Object object) 根据传入不同参数类型调用不同的保存方法getSP(Context context, String key, Object defaultObject) 根据默认值得到保存的数据的具体类型,然后调用对应方法获取值removeSP(Context context, String key) 移除某个key值已经对应的值clearAllSP(Context context) 清除所有SharedPreferences数据contains(Context context, String key) 查询某个key是否存在getAllKeyValue(Context context) 返回所有的键值对
DateUtil 时间工具
DateUtils类里面重载方法比较多
str2Date(...) 将时间字符串转换成Datedate2Str(...) 将Date转换成时间字符串str2Calendar(...) 将时间字符串转换成CalendargetCurDateStr(...) 获得当前日期的字符串getMillon(...) 获得当前日期的字符串,精确到秒strAddOneDay(...) 实现加一天的功能,返回的格式为StringstrDecreaseOneDay(...) 实现减一天的功能,返回的格式为StringgetLastdayDate(...) 获取昨天 DatagetNextdayDate(...) 获取明天DateisTheSameDay(...) 判断是否是同一天
LogUtil 日志工具
init 初始化日志开关和TAG(默认日志为开,TAG为"ghost")v VERBOSEd DEBUGi INFOw WARNe ERRORa ASSERTjson 输出jsonxml 输出xml ## StringUtil 字符串工具isEmpty(CharSequence str) 判断是否是空字符串、null、""subStringOmit(String subject, int size) 字符串截取到指定长度size+...的形式getLimitLengthStr(String str, int len, String symbol)截取字符串 超出的字符用symbol代替getStrLength(String str)获取字符串的实际长度(考虑了汉字的情况一个汉字按照俩个字符算)getHideEmailPrefix(String email)隐藏邮件地址前缀Str2List(String str,String symbol)字符串分割成一个数组List2Str(List list, String symbol)将list 用传入的分隔符组装为StringreplaceBracketStr(String str) 全角括号转为半角full2Half(String str)全角字符变半角字符replaceBlank(String str)去除字符串中的空格、回车、换行符、制表符str2Unicode(String string)字符串转换unicodeunicode2Str(String unicode)unicode 转字符串trimPunct(String str)删除所有的标点符号SimilarDegree(String str1, String str2)字符串相似度比较getStrEncode(String str)获取字符串的编码countSubStr(String string, String str)获取字符串str在String中出现的次数nullToEmptyStr(Object str)空对象转化为空串capitalizeFirstLetter(String str)首字母大写
utf8Encode(String str)str使用UTF-8编码
GsonUtil Gson工具
object2Json(...)object转jsonjson2List(String jsonStr) jsonStr转Listjson2Map(String jsonStr)jsonStr转Mapjson2Bean(String jsonStr, Class<?> cl) jsonStr转BeangetJsonValue(String jsonStr, String key) 获取key值
JsonUtil Json工具
getLong(String jsonData, String key, long defaultValue)getInt(String jsonData, String key, int defaultValue)getDouble(String jsonData, String key, Double defaultValue)getString(String jsonData, String key, String defaultValue)getStringArray(String jsonData, String key, String[] defaultValue)getStringList(String jsonData, String key, List defaultValue)getJSONArray(String jsonData, String key, JSONArray defaultValue)getBoolean(String jsonData, String key, Boolean defaultValue)getMap(String jsonData, String key)
DeviceUtil 设备信息工具
getAndroidID(...) 获取AndroidIDgetIMEI(...) 获取设备IMEI码getIMSI(...) 获取设备IMSI码getWifiMacAddr(...) 获取MAC地址getIP(...) 获取网络IP地址(优先获取wifi地址)getWifiIP(...) 获取WIFI连接下的ip地址getGPRSIP(...) 获取GPRS连接下的ip地址getSerial(...) 获取设备序列号getSIMSerial(...) 获取SIM序列号getPhoneNumber(...) 获取手机号码(未获取成功)getMNC(...) 获取网络运营商 46000,46002,46007 中国移动,46001 中国联通,46003 中国电信getCarrier(...) 获取网络运营商:中国电信,中国移动,中国联通getModel(...) 获取硬件型号getBuildBrand(...) 获取编译厂商getBuildHost(...) 获取编译服务器主机getBuildTags(...) 获取描述Build的标签getBuildTime(...) 获取系统编译时间getBuildUser(...) 获取系统编译作者getBuildVersionRelease(...) 获取编译系统版本(5.1)getBuildVersionCodename(...) 获取开发代号getBuildVersionIncremental(...) 获取源码控制版本号getBuildVersionSDK(...) 获取编译的SDKgetBuildID(...) 获取修订版本列表(LMY47D)getSupportedABIS(...) CPU指令集getManufacturer(...) 获取硬件制造厂商getBootloader(...) 获取系统启动程序版本号getScreenDisplayID(...)getDisplayVersion(...) 获取系统版本号getLanguage(...) 获取语言getCountry(...) 获取国家getOSVersion(...) 获取系统版本:5.1.1getGSFID(...) 获取GSF序列号getBluetoothMAC(...) 获取蓝牙地址getPsuedoUniqueID(...) Android设备物理唯一标识符getFingerprint(...)构建标识,包括brand,name,device,version.release,id,version.incremental,type,tags这些信息getHardware(...) 获取硬件信息getProduct(...) 获取产品信息getDevice(...) 获取设备信息getBoard(...) 获取主板信息getRadioVersion(...) 获取基带版本(无线电固件版本 Api14以上)getUA(...) 获取的浏览器指纹(User-Agent)getDensity(...) 获取得屏幕密度getGoogleAccounts(...) 获取google账号
AppUtils APP工具类
getAppName(...) 获取应用名称getAppIcon(...) 获取应用图标getAppDate(...) 获取应用更新日期getAppSize(...) 获取应用大小getAppApk(...) 获取应用apk文件getAppVersionName(...) 获取应用版本名称getAppVersionCode(...) 获取应用版本号getAppInstaller(...) 获取应用的安装市场getAppPackageName(...) 获取应用包名hasPermission(...) 是否有权限isInstalled(...) 应用是否安装installApk(...) 安装应用uninstallApk(...) 卸载应用isSystemApp(...) 是否是系统应用isServiceRunning(...) 服务是否在运行stopRunningService(...) 停止服务getNumCores(...) 获取Cpu内核数killProcesses(...) 结束进程runScript(...) 运行脚本getRootPermission(...) 获得root权限
BitmapUtil bitmap的工具类
bytes2Bitmap(...) Byte[]转Bitmapbitmap2Bytes(...) Bitmap转Byte[]bitmap2Drawable(...) Bitmap转Drawabledrawable2Bitmap(...)Drawable转Bitmapbitmap2File(...) bitmap转filerotateBitmap(Bitmap bmp, int degrees) 旋转图像getBitmapSize(Bitmap bitmap)获取bitmap的大小getBestOptions(...)计算目标宽度,目标高度,inSampleSizecalculateBestInSampleSize(...)计算Bitmap最适合大小createScaleBitmap(...)进行缩放,得到符合标准的bitmapgetRoundedCornerBitmap(Bitmap bitmap, float roundPx)获取圆角图片compressImage(Bitmap image)质量压缩Bitmap compressFixBitmap(Bitmap bitMap, int outWidth, int outHeight)固定大小质量压缩
NetUtils 网络工具
getNetworkType 获取网络类型getNetworkTypeName 获取网络名称isConnected 检查网络状态isNetworkAvailable 网络可用性isWiFi 是否wifiopenNetSetting 打开网络设置界面setWifiEnabled 设置wifi状态getWifiScanResults 获取wifi列表getScanResultsByBSSID 过滤扫描结果getWifiConnectionInfo 获取wifi连接信息
SystemUtils 系统工具
getDefaultThreadPoolSize(...)获取默认线程池大小sendSMS(...) 调用系统发送短信forwardToDial(...) 跳转到拨号callPhone(...) 直接呼叫号码sendMail(...) 发邮件hideKeyBoard(...) 隐藏系统键盘isBackground(...) 判断当前应用程序是否后台运行isSleeping(...) 判断手机是否处理睡眠isRooted(...)是否rootisRunningOnEmulator(...) 当前设备是否是模拟器goHome(...) 返回HomegetDeviceUsableMemory(...) 获取设备可用空间gc(...) 清理后台进程和服务createDeskShortCut(...) 创建桌面快捷方式createShortcut(...) 创建快捷方式shareText(...) 分享文本shareFile(...) 分享文件(此方法是调用FileUtils.shareFile中的方式)getShareTargets(...) 获取可接受分享的应用getCurrentLanguage(...)获取当前系统的语言isGpsEnabled GPS(...)是否打开showSoftInputMethod(Context context, EditText editText) 显示软键盘closeSoftInputMethod(...) 关闭软键盘showSoftInput(Context context) 显示软键盘closeSoftInput(...) 关闭软键盘
FileUtil 文件工具类
countLines(File file)获取文件的行数List Lines(File file)以列表的方式获取文件的所有行appendLine(File file, String str)在文件末尾追加一行cleanFile(File file) 快速清空一个超大的文件mimeType(String file)获取文件的Mime类型fileType(File file)获取文件的类型modifyTime(File file)获取文件最后的修改时间hash(File file)获取文件的Hashcopy(...)复制文件copyDir(...)复制目录createPaths(String paths)创建多级目录deleteFile(File file)删除一个文件deleteFile(String path)删除文件deleteDir(File file)删除一个目录searchFile(File dirPath, String fileName)在指定的目录下搜寻文个文件writeFile(...)将内容写入文件getFileName(String filePath)获取文件名getFolderName(String filePath)获取路径名getFileSize(String path)获取文件大小isFileExist(String filePath)判断文件是否存在openVideo(Context mContext, String videoPath)打开video
VerificationUtil 验证工具类
matcherRealName(String value) 判断姓名格式
1.真实姓名可以是汉字,也可以是字母,但是不能两者都有,也不能包含任何符号和数字 2.如果是英文名,可以允许英文名字中出现空格 3.英文名的空格可以是多个,但是不能连续出现多个 4.汉字不能出现空格
matcherPhoneNum(String value) 判断手机号格式 (匹配11数字,并且13-19开头)
matcherAccount(String value) 判断账号格式 (4-20位字符)matcherPassword(String value) 判断密码格式 (6-12位字母或数字)matcherPassword2(String value) 判断密码格式(6-12位字母或数字,必须同时包含字母和数字)matcherEmail(String value) 判断邮箱格式matcherIP(String value) 判断IP地址matcherUrl(String value) 判断URL (http,https,ftp)matcherVehicleNumber(String value) 判断中国民用车辆号牌matcherIdentityCard(String value) 判断身份证号码格式isNumeric(String value) 是否数值型testRegex(String regex, String inputValue) 是否匹配正则checkPostcode(String postcode) 匹配中国邮政编码
ZipUtil 压缩文档相关的工具类
WindowUtil 与屏幕相关的工具类
ValidUtil 提供一些对象有效性校验封装类
StreamUtil 流相关的操作方法封装
EncryptUtil 常用加密工具类
ClassUtil 反射相关的一些工具类
ChinesUtil 中文相关的操作封装类
CharsetUtil 编码相关的封装类
SingletonUtil 单例工具封装类
ResourceUtil 获取 Assets,Raw 文件封装类
ScreenUtil 用单位转换的辅助类