/yzlibrary

Primary LanguageJava

Android-Library

Getting started

The first step is to include yzlibrary into your project, for example, as a Gradle compile dependency:

compile 'top.slantech:yzlibrary:1.1.1'

Features

  • Custom Application(自定义Application)
  • ArrayTool(数组工具)
  • CalendarTool(时间工具类)
  • CharacterParseUtils(汉字转拼音)
  • CheckUtils(数据格式检查)
  • ChineseCalendarGB(农历工具)
  • DataCleanUtils(数据清除工具)
  • DisplayUtil(屏幕工具)
  • Encode(编码工具)
  • EquipInfoUtils(设备基本信息)
  • FaceConversionUtil(表情转换工具)
  • FileUtils(文件操作类)
  • HexUtils(进制转换工具)
  • HTMLUtil(HTML工具)
  • IdcardValidator(身份证合法性校验)
  • ImageCompressUtil(图片压缩工具类)
  • ImageRotateUtil(图片旋转工具类)
  • ImageUtils(图片操作类)
  • KeyBoardUtils(软键盘操作类)
  • MathUtils(数学工具类)
  • NetUtils(网络状态工具)
  • SettingUtils(系统设置工具类)
  • SPUtils(SharedPreferences工具)
  • StringUtils(字符串处理工具类)
  • ULog(自定义Log输出)
  • Url2Path(URL处理工具类)

Notice

  • Android Studio 2.0
  • Use Okhttp3
  • Use Gson
  • Use Leakcanary

Usage

Using as a library project Including In Your Project

Detail

  • Custom Application(自定义Application)
  • ArrayTool(数组工具)
    1.获取最大值 getMax(int[] arr);
    2.获取最大值及索引值 getMax2(int[] arr);
    3.数组的反转 revArray(int[] arr);
  • CalendarTool(时间工具类)
    1.String类型的日期时间转化为Date类型 getDateByFormat("2016-04-15 12:20:11","yyyy-MM-dd HH:mm:ss");
    2.获取Date偏移之后的Date getDateByOffset(date,Calendar.DATE,1);
    3.获取字符串日期时间的字符串(可偏移) getStringByOffset("2016-04-15 12:20:11","yyyy-MM-dd HH:mm:ss",Calendar.DATE,1);
    4.Date类型转化为String类型(可偏移) getStringByOffset(date,"yyyy-MM-dd HH:mm:ss",Calendar.DATE,1);
    5.Date类型转化为String类型 getStringByFormat((date,"yyyy-MM-dd HH:mm:ss");
    6.获取指定日期时间的字符串,用于导出想要的格式 getStringByFormat("2016-04-15 12:20:11","yyyy-MM-dd HH:mm:ss");
    7.获取milliseconds表示的日期时间的字符串 getStringByFormat(1470816365,"yyyy-MM-dd HH:mm:ss");
    8.获取表示当前日期时间的字符串 getCurrentDate("yyyy-MM-dd HH:mm:ss");
    9.计算两个日期所差的天数 getOffectDay(1470816365,1470816415);
    or getOffectDay(startDate,endDate) 10.计算两个日期所差的小时数 getOffectHour(1470816365,1470816415);
    11.计算两个日期所差的分钟数 getOffectMinutes(1470816365,1470816415);
    12.获取本周一 getFirstDayOfWeek("2016-04-15 12:20:11");
    13.获取本周日 getLastDayOfWeek("2016-04-15 12:20:11");
    14.获取本周的某一天 getDayOfWeek("2016-04-15 12:20:11",Calendar.DATE);
    15.获取本月第一天 getFirstDayOfMonth("2016-04-15 12:20:11");
    16.获取本月最后一天 getLastDayOfMonth("2016-04-15 12:20:11");
    17.获取表示当前日期的0点时间毫秒数 getFirstTimeOfDay();
    18.获取表示当前日期24点时间毫秒数 getLastTimeOfDay();
    19.判断是否是闰年 isLeapYear(2014);
    20.根据时间返回格式化后的时间的描述 formatDateStr2Desc2("2016-04-15 12:20:11","yyyy-MM-dd HH:mm:ss");
    21.以友好的方式显示时间 formatDateStr2Desc("2016-04-15 12:20:11","yyyy-MM-dd HH:mm:ss");
    22.取指定日期为星期几 getWeekNumber("2016-04-15 12:20:11","yyyy-MM-dd HH:mm:ss");
    23.根据给定的日期判断是否为上下午 getTimeQuantum("2016-04-15 12:20:11","yyyy-MM-dd HH:mm:ss");
    24.根据给定的毫秒数算得时间的描述 getTimeDescription(1470816365);
    25.将Calendar转成字符串 calendarConvertString(calendar,"yyyy-MM-dd HH:mm:ss");
    26.将字符串转成Calendar stringConvertCalendar("2016-04-15 12:20:11","yyyy-MM-dd HH:mm:ss");
    27.比较2个时间的大小 calendarCompare(calendar1,calendar2);
    28.得到当前时间的随机数 getCurRandomDate();
    29.某年某月有多少天 getDaysInMonth(2016,5);
    30.某年某月的第一天是周几 getFirstWeekDayInMonth(2016,5);
    31.得到2个时间戳之间相差的 天 时 分 秒 getDate(1470816365,1470816415);
    32.阳历节日 calendarFestival(calendar);
    33.阴历节日 lunarHoliday(calendar);
  • CharacterParseUtils(汉字转拼音)
    1.单字解析拼音 convert("中");
    2.词组解析拼音 getSelling("美国");
  • CheckUtils(数据格式检查)
    1.检查手机号码合法性 checkMDN("18224411300",true);
    or isMobileNo("18224411300");
    2.检测邮箱合法性 checkEmailValid("yz130@163.com");
    3.检查是否是IPV4 isIPv4Address(12.12.10.26);
    4.检查是否是IPV6 isIPv6StdAddress("9489:1572:28fa:1bda%28");
    5.是否只是字母和数字 isNumberLetter("test");
    6.是否只是数字 isNumber("test");
    7.是否是中文 isChinese("test");
    8.是否包含中文 isContainChinese("test");
    9.判断是否为一个合法的url地址 isUrl("http://www.slantech.top");
  • ChineseCalendarGB(农历工具)
    1.传回农历 y年的总天数 yearDays(2016);
    2.传回农历 y年闰月的天数 leapDays(2016);
    3.传回农历 y年闰哪个月 1-12 , 没闰传回 0 leapMonth(2016);
    4.传回农历 y年m月的总天数 monthDays(2016,1);
    5.传入 月日的offset 传回干支, 0=甲子 cyclicalm(12);
    6.通过天获取农历 getChinaDayString(23);
  • DataCleanUtils(数据清除工具)
    1.清除本应用内部缓存 cleanInternalCache(Activity);
    2.清除本应用所有数据库 cleanDatabases(Activity);
    3.清除本应用SharedPreference cleanSharedPreference(Activity);
    4.按名字清除本应用数据库 cleanDatabaseByName(Activity,"test");
    5.清除/data/data/com.xxx.xxx/files下的内容 cleanFiles(Activity);
    6.清除外部cache下的内容 cleanExternalCache(Activity);
    7.清除自定义路径下的文件,使用需小心,请不要误删。而且只支持目录下的文件删除 cleanCustomCache("/sd/ewe");
    8.清除本应用所有的数据 cleanApplicationData(Activity,"/sd/ewe");
    9.删除方法 这里只会删除某个文件夹下的文件 deleteFilesByDirectory(file);
    10.获取文件夹下文件大小 getFolderSize(file);
    11.删除指定目录下文件及目录 deleteFolderFile("/sd/ewe",true);
    12.格式化单位 getFormatSize(1024);
    13.获取文件夹下文件大小并格式化 getCacheSize(file);
  • DisplayUtil(屏幕工具)
    1.dip转px dip2px(Activity,100);
    2.px转dip px2dip(Activity,100);
    3.获取屏幕宽度和高度 getScreenMetrics(Activity);
    4.获取屏幕长宽比 getScreenRate(Activity);
  • Encode(编码工具)
    1.转换为%E4%BD%A0形式 toUtf8String("**");
    2.将%E4%BD%A0转换为汉字 unescape("%E4%BD%A0");
  • EquipInfoUtils(设备基本信息)
    1.系统版本信息 getVersion();
    2.CPU getCpuInfo();
    3.获取CPU核心数 getNumCores();
    4.主频 getMaxCpuFreq();
    5.获取RAM空间大小 getTotalRAMMemory();
    6.获取ROM空间 getRomMemroy();
    7.获取SD空间 getSDCardMemory();
    8.获取手机屏幕信息 getDisplayMetrics(Activity);
    9.获取电池容量 getBatteryCapacity(Activity);
  • FaceConversionUtil(表情转换工具)
  • FileUtils(文件操作类)
    1.通过文件的网络地址从SD卡中读取图片,如果SD中没有则自动下载并保存 getBitmapFromSD("/sd/ese","http://xx.png",ImageUtils.CUTIMG,100,100);
    2.通过文件的本地地址从SD卡读取图片 getBitmapFromSD("/sd/ese/xx.png",100,100);
    3.通过文件的本地地址从SD卡读取图片 getBitmapFromSD(file),getBitmapFromSD("/sd/ese/xx.png");
    4.将图片的byte[]写入本地文件 getBitmapFromByte("/sd/ese",byte[],"test.png",ImageUtils.CUTIMG,100,100);
    5.根据URL从互连网获取图片 getBitmapFromURL("http://xx.png",ImageUtils.CUTIMG,100,100);
    6.获取src中的图片资源 getBitmapFromSrc("image/arrow.png");
    7.获取Asset中的图片资源 getBitmapFromAsset(Activity,"test");
    8.获取Asset中的图片资源 getDrawableFromAsset(Activity,"test");
    9.下载网络文件到SD卡中.如果SD中存在同名文件将不再下载 downloadFile("http://xx.png","/sd/ese");
    10.获取网络文件的大小 getContentLengthFromUrl("http://xx.png");
    11.通过网络获取文件名 getRealFileNameFromUrl("http://xx.png");
    12.通过网络获取真实文件名(xx.后缀) getRealFileName(HttpURLConnection);
    13.通过网络获取真实文件名(xx.后缀) getRealFileName(HttpResponse);
    14.获取文件名(不含后缀) getCacheFileNameFromUrl("http://xx.png");
    15.外链模式和通过网络获取文件名(.后缀) getCacheFileNameFromUrl("http://xx.png",HttpResponse);
    16.外链模式和通过网络获取文件名(.后缀) getCacheFileNameFromUrl("http://xx.png",HttpURLConnection);
    17.获取文件后缀 getMIMEFromUrl("http://xx.png",HttpURLConnection);
    18.获取文件后缀 getMIMEFromUrl("http://xx.png",HttpResponse);
    19.从sd卡中的文件读取到byte[] getByteArrayFromSD("/sd/xx.txt");
    20.将byte数组写入文件 writeByteArrayToSD("/sd/xx",byte[],true);
    21.SD卡是否能用 isCanUseSD();
    22.计算sdcard上的剩余空间 freeSpaceOnSD();
    23.根据文件的最后修改时间进行排序 24.获取文件夹下的文件列表 直级 getFileByPath("/sd/xx");
    25.删除指定文件夹下的所有文件 clearFile("/sd/xx");
    26.读取Assets目录的文件内容 readAssetsByName(Activity,"test","UTF-8");
    27.读取Assets目录的文件内容 readAssetsByName(Activity,"test");
    28.读取Assets目录的文件内容 readAssetsByName(InputStream);
    29.读取Raw目录的文件内容 readRawByName(Activity,R.raw.test,"UTF-8");
    30.保存图片至本地并将图片目录显示到系统图库中 saveFile(Bitmap,"/sd/xx","test.png",Activity);
    31.保存文件 至指定文件夹的本地中同时保存了2份一份系统图库一份指定目录 通知系统图库更新显示 saveFile2(Bitmap,"/sd/xx","test.png",Activity);
    32.Drawable 转 Bitmap drawable2Bitmap(Drawable);
    33.Bitmap对象转换Drawable对象 bitmap2Drawable(Bitmap);
    34.Gets the extension of a file name, like ".png" or ".jpg" getExtension("/sd/xx.png");
    35.是否图片 isPic("/sd/xx.png");
    36.获取文件后缀名(png) getRealFileNameFromPath("/sd/xx.png");
    37.【通过Okio方法】,通过路径得到文件内容 readContentFromPath(String path);
    38.【通过Okio方法】,向指定文件写入文件内容 writeContentFromPath(String path, String content);
  • HexUtils(进制转换工具)
    1.将字符串编码成16进制数字,适用于所有字符(包括中文) encode(String str) 2.将16进制数字解码成字符串,适用于所有字符(包括中文) decode(String bytes) 3.把16进制字符串转换成字节数组 hexStringToByte(String hex) 4.把字节数组转换成16进制字符串 bytesToHexString(byte[] bArray) 5.BCD码转为10进制串(阿拉伯数据) bcd2Str(byte[] bytes) 6.10进制串转为BCD码 str2Bcd(String asc)
  • HTMLUtil(HTML工具)
    1.删除HTML中的标签 delHTMLTag("");
    2.替换标记以正常显示 replaceTag("");
    3.判断标记是否存在 hasSpecialChars("");
    4.过滤所有以"<"开头以">"结尾的标签 filterHtml("");
    5.过滤指定标签 fiterHtmlTag("","html");
    6.替换指定的标签 replaceHtmlTag("test","","html","html","/html");
  • IdcardValidator(身份证合法性校验)
  • ImageCompressUtil(图片压缩工具类)
    1.压缩单张图片方法 compressImage(Activity,"/sd/xx.png",new ProcessImgCallBack);
    2.压缩图片集合方法 compressImageList(Activity,List,new ProcessImgCallBack);
  • ImageRotateUtil(图片旋转工具类)
    1.读取图片的旋转的角度 getBitmapDegree("/sd/xx.png");
    2.将图片按照某个角度进行旋转 rotateBitmapByDegree(Bitmap,180);
    3.将图片按照指定的角度进行旋转 rotateBitmapByDegree("/sd/xx.png",180);
  • ImageUtils(图片操作类)
    1.直接获取互联网上的图片 getBitmap("http://xx.png",ImageUtils.CUTIMG,100,100);
    2.获取原图 getBitmap(file);
    3.缩放图片.压缩 scaleImg(file,100,100);
    4.缩放图片,不压缩的缩放 scaleImg(Bitmap,100,100);
    5.根据等比例缩放图片 scaleImg(Bitmap,0.4);
    6.裁剪图片 cutImg(file,100,100);
    7.裁剪图片 cutImg(Bitmap,100,100);
    8.Bitmap对象转换TransitionDrawable对象 bitmapToTransitionDrawable(Bitmap);
    9.Drawable对象转换TransitionDrawable对象 drawableToTransitionDrawable(Drawable);
    10.将Bitmap转换为byte[] bitmap2Bytes(Bitmap,Bitmap.CompressFormat.JPEG,true);
    11.获取Bitmap大小 getByteCount(Bitmap,Bitmap.CompressFormat.JPEG);
    12.将byte[]转换为Bitmap bytes2Bimap(byte[]);
    13.将ImageView转换为Bitmap imageView2Bitmap(ImageView);
    14.将View转换为Drawable.需要最上层布局为Linearlayout view2Drawable(View);
    15.将View转换为Bitmap.需要最上层布局为Linearlayout view2Bitmap(View);
    16.将View转换为byte[] view2Bytes(View,Bitmap.CompressFormat.JPEG);
    17.旋转Bitmap为一定的角度 rotateBitmap(Bitmap,180);
    18.旋转Bitmap为一定的角度并四周暗化处理 rotateBitmapTranslate(Bitmap,180);
    19.转换图片转换成圆形 toRoundBitmap(Bitmap);
    20.转换图片转换成镜面效果的图片 toReflectionBitmap(Bitmap);
    21.释放Bitmap对象 releaseBitmap(Bitmap);
    22.释放Bitmap数组 releaseBitmapArray(Bitmap[]);
    23.简单的图像的特征值,用于缩略图找原图比较好 getHashCode(Bitmap);
    24.图像的特征值余弦相似度 getDCTHashCode(Bitmap);
    25.图像的特征值颜色分布 将颜色分4个区,0,1,2,3 区组合共64组,计算每个像素点属于哪个区 getColorHistogram(Bitmap);
    26.汉明距离(如果不相同的数据位不超过5,就说明两张图片很相似;如果大于10,就说明这是两张不同的图片) hammingDistance(源hashCode,与之比较的hashCode);
    27.F dct transform fDctTransform(double[][] ablk);
    28.读取图片的旋转的角度 getBitmapDegree("/sd/xx.png");
    29.直接将照片旋转正常 roteBitmap("/sd/xx.png",Bitmap);
    30.压缩 picCompression("/sd/xx.png");
    31.压缩 picCompression("/sd/xx.png",100,100);
    32.将 view 生成 图片 createViewBitmap(View);
  • KeyBoardUtils(软键盘操作类)
    1.打开软键盘 showSoftInput(EditText,Activity) or showSoftInput(Activity);
    2.关闭软键盘 closeSoftInput(EditText,Activity) or closeSoftInput(Activity);
  • MathUtils(数学工具类)
    1.四舍五入保留几位小数 round(123.012,2);
    2.字节数组转换成16进制串 byte2HexStr(byte[],2);
    3.二进制转为十六进制 binaryToHex(00000011);
    4.一维数组转为二维数组 arrayToMatrix(int[] m, int width, int height);
    5.二维数组转为一维数组 matrixToArray(double[][] m);
    6.int数组转换为double数组 intToDoubleArray(int[] input);
    7.int二维数组转换为double二维数组 intToDoubleMatrix(int[][] input);
    8.计算数组的平均值 average(int[] pixels);
    9.计算数组的平均值 average(double[] pixels);
    10.点在直线上 pointAtSLine(double x,double y,double x1,double y1,double x2,double y2);
    11.点在线段上 pointAtELine(double x,double y,double x1,double y1,double x2,double y2);
    12.两条直线相交 lineAtLine(double x1,double y1,double x2,double y2,double x3,double y3,double x4,double y4);
    13.线段与线段相交 eLineAtELine(double x1,double y1,double x2,double y2,double x3,double y3,double x4,double y4);
    14.线段直线相交 eLineAtLine(double x1,double y1,double x2,double y2,double x3,double y3,double x4,double y4);
    15.点在矩形内 pointAtRect(double x,double y,double x1,double y1,double x2,double y2);
    16.矩形在矩形内 rectAtRect(double x1,double y1,double x2,double y2,double x3,double y3,double x4,double y4);
    17.圆心在矩形内 circleAtRect(double x,double y,double r,double x1,double y1,double x2,double y2);
    18.获取两点间的距离 getDistance(double x1,double y1,double x2,double y2);
    19.矩形碰撞检测 isRectCollision(float x1, float y1, float w1,float h1, float x2, float y2, float w2, float h2);
  • NetUtils(网络状态工具)
    1.检测网络是否可用 isNetworkConnected(Context context);
    2.获取当前网络类型 getNetworkType(Context context);
  • SettingUtils(系统设置工具类)
    1.Gps是否打开 isGpsEnabled(Activity);
    2.调用系统分享功能 分享文本 systemShareText(Activity,content,title);
    3.调用系统分享功能 分享图片 systemShareImg(Activity,imgPath,title);
    4.是否root isRootSystem();
    5.是否root getRootAhth();
  • SPUtils(SharedPreferences工具)
    1.保存数据的方法 put(Context context, String key, Object object);
    2.得到保存数据的方法 get(Context context, String key, Object defaultObject)
    3.保存数据的方法 put(Context context, String fileName,String key, Object object)
    4.得到保存数据的方法 get(Context context,String fileName, String key, Object defaultObject);
    5.移除某个key值已经对应的值 remove(Context context, String key);
    6.清除所有数据 clear(Context context);
    7.查询某个key是否已经存在 contains(Context context, String key);
    8.查询某个key是否已经存在 contains(Context context,String fileName, String key);
    9.返回所有的键值对 getAll(Context context);
  • StringUtils(字符串处理工具类)
    1.将null转化为“” parseEmpty(String str) 2.判断一个字符串是否为null或空值 isEmpty(String str);
    3.获取字符串中文字符的长度(每个中文算2个字符) chineseLength(String str);
    4.获取字符串的长度(中文字符计2个) strLength(String str);
    5.获取指定长度的字符所在位置 subStringLength(String str, int maxL);
    6.从输入流中获得String inputStreamConvertToString(InputStream is);
    7.不足2个字符的在前面补“0” strFormat2(String str);
    8.截取字符串到指定字节长度 cutString(String str, int length);
    9.标准化日期时间类型的数据,不足两位的补0 dateTimeFormat(String dateTime);
    10.截取字符串到指定字节长度 cutString(String str, int length, String dot);
    11.截取字符串从第一个指定字符 cutStringFromChar(String str1, String str2, int offset);
    12.获取字节长度 strlen(String str, String charset);
    13.获取大小的描述 getSizeDesc(long size);
    14.获取大小的描述 getSizeDesc2(long length);
    15.获取大小的描述 getSizeDesc3(long size) 16.转换成Mb单位 formatSizeMb(long length);
    17.ip地址转换为10进制数 ip2int(String ip);
    18.获得指定小数位的double getDoubleXS(String num, int scale);
    19.复制文本 copyTxt(Context context, String txt);
    20.米转化成公里 getGongLiFromMi(float a);
    21.获取字符串中的数字 getIntFromString(String str);
  • ULog(自定义Log输出)
  • Url2Path(URL处理工具类)
    1.通过uri 取得path getPath(Context context, Uri contentUri);
    2.Get the value of the data column for this Uri getDataColumn(Context context, Uri uri, String selection, String[] selectionArgs);
    3.Whether the Uri authority is ExternalStorageProvider isExternalStorageDocument(Uri uri);
    4.Whether the Uri authority is DownloadsProvider isDownloadsDocument(Uri uri);
    5.Whether the Uri authority is MediaProvider isMediaDocument(Uri uri);
    6.Whether the Uri authority is Google Photos isGooglePhotosUri(Uri uri);