Android 工具类

常用工具类:

  • 表单验证
  • 验证非空
  • 验证邮箱
  • 验证手机号码
  • 验证固话号码
  • 验证传真号码
  • 验证QQ号码
  • 验证网址
  • 判断当前网络是否是:wifi
  • 获取sd卡路径 1
  • 获取sd卡路径 2
  • 查看所有的sd路径
  • 获取当前路径,可用空间

代码块

/*** 使用正则表达式进行表单验证*/
public class RegexValidateUtils {static boolean flag = false;static String regex = "";public static boolean check(String str, String regex) {try {Pattern pattern = Pattern.compile(regex);Matcher matcher = pattern.matcher(str);flag = matcher.matches();} catch (Exception e) {flag = false;}return flag;}/*** 验证非空* @return*/public static boolean checkNotEmputy(String notEmputy) {regex = "^\\s*$";return check(notEmputy, regex) ? false : true;}/*** 验证邮箱** @param email* @return*/public static boolean checkEmail(String email) {String regex = "^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$";return check(email, regex);}/*** 验证手机号码* <p>* 移动号码段:139、138、137、136、135、134、150、151、152、157、158、159、182、183、187、188、147* 联通号码段:130、131、132、136、185、186、145 电信号码段:133、153、180、189** @param cellphone* @return*/public static boolean checkCellphone(String cellphone) {String regex = "^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0,5-9]))\\d{8}$";return check(cellphone, regex);}/*** 验证固话号码** @param telephone* @return*/public static boolean checkTelephone(String telephone) {String regex = "^(0\\d{2}-\\d{8}(-\\d{1,4})?)|(0\\d{3}-\\d{7,8}(-\\d{1,4})?)$";return check(telephone, regex);}/*** 验证传真号码** @param fax* @return*/public static boolean checkFax(String fax) {String regex = "^(0\\d{2}-\\d{8}(-\\d{1,4})?)|(0\\d{3}-\\d{7,8}(-\\d{1,4})?)$";return check(fax, regex);}/*** 验证QQ号码** @param QQ* @return*/public static boolean checkQQ(String QQ) {String regex = "^[1-9][0-9]{4,}$";return check(QQ, regex);}/*** 验证网址* @param keyword* @return*/public static boolean checkUrl(String keyword){String domainRules = "com.cn|net.cn|org.cn|gov.cn|com.hk|公司|中国|网络|com|net|org|int|edu|gov|mil|arpa|Asia|biz|info|name|pro|coop|aero|museum|ac|ad|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cf|cg|ch|ci|ck|cl|cm|cn|co|cq|cr|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|eh|es|et|ev|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gp|gr|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|ml|mm|mn|mo|mp|mq|mr|ms|mt|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|va|vc|ve|vg|vn|vu|wf|ws|ye|yu|za|zm|zr|zw";String regex = "^((https|http|ftp|rtsp|mms)?://)"+ "?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?" //ftp的user@+ "(([0-9]{1,3}\\.){3}[0-9]{1,3}" // IP形式的URL- 199.194.52.184+ "|" // 允许IP和DOMAIN(域名)+ "(([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]+\\.)?" // 域名- www.+ "([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\\." // 二级域名+ "("+domainRules+"))" // first level domain- .com or .museum+ "(:[0-9]{1,4})?" // 端口- :80+ "((/?)|" // a slash isn't required if there is no file name+ "(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$";Pattern pattern = Pattern.compile(regex);Matcher isUrl = pattern.matcher(keyword.toLowerCase());return isUrl.matches();}/**判断当前网络是否是:wifi* make true current connect service is wifi* @param mContext* @return*/public static boolean isWifi(Context mContext) {ConnectivityManager connectivityManager = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE);NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();if (activeNetInfo != null&& activeNetInfo.getType() == ConnectivityManager.TYPE_WIFI) {return true;}return false;}
//----------------------------------/*** 获取sd卡路径* 双sd卡时,根据”设置“里面的数据存储位置选择,获得的是内置sd卡或外置sd卡** @return*/public static String getNormalSDCardPath() {return Environment.getExternalStorageDirectory().getPath();}/*** 获取sd卡路径* 双sd卡时,获得的是外置sd卡** @return*/public static String getSDCardPath() {String cmd = "cat /proc/mounts";Runtime run = Runtime.getRuntime();// 返回与当前 Java 应用程序相关的运行时对象BufferedInputStream in = null;BufferedReader inBr = null;try {Process p = run.exec(cmd);// 启动另一个进程来执行命令in = new BufferedInputStream(p.getInputStream());inBr = new BufferedReader(new InputStreamReader(in));String lineStr;while ((lineStr = inBr.readLine()) != null) {// 获得命令执行后在控制台的输出信息//Log.i("CommonUtil:getSDCardPath", lineStr);
//                Log.v("GetPath", "lineStr == " + lineStr);if (lineStr.contains("sdcard") && lineStr.contains(".android_secure")) {String[] strArray = lineStr.split(" ");if (strArray != null && strArray.length >= 5) {String result = strArray[1].replace("/.android_secure", "");return result;}}// 检查命令是否执行失败。if (p.waitFor() != 0 && p.exitValue() == 1) {// p.exitValue()==0表示正常结束,1:非正常结束//Log.e("CommonUtil:getSDCardPath", "命令执行失败!");}}} catch (Exception e) {//Log.e("CommonUtil:getSDCardPath", e.toString());//return Environment.getExternalStorageDirectory().getPath();} finally {try {if (in != null) {in.close();}} catch (IOException e) {// TODO Auto-generated catch block//e.printStackTrace();}try {if (inBr != null) {inBr.close();}} catch (IOException e) {// TODO Auto-generated catch block//e.printStackTrace();}}return Environment.getExternalStorageDirectory().getPath();}//查看所有的sd路径public String getSDCardPathEx() {String mount = new String();try {Runtime runtime = Runtime.getRuntime();Process proc = runtime.exec("mount");InputStream is = proc.getInputStream();InputStreamReader isr = new InputStreamReader(is);String line;BufferedReader br = new BufferedReader(isr);while ((line = br.readLine()) != null) {if (line.contains("secure")) continue;if (line.contains("asec")) continue;if (line.contains("fat")) {String columns[] = line.split(" ");if (columns != null && columns.length > 1) {mount = mount.concat("*" + columns[1] + "\n");}} else if (line.contains("fuse")) {String columns[] = line.split(" ");if (columns != null && columns.length > 1) {mount = mount.concat(columns[1] + "\n");}}}} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}return mount;}//获取当前路径,可用空间@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR2)@SuppressLint("NewApi")public static long getAvailableSize(String path) {try {File base = new File(path);StatFs stat = new StatFs(base.getPath());long nAvailableCount = stat.getBlockSizeLong() * (stat.getAvailableBlocksLong());return nAvailableCount;} catch (Exception e) {e.printStackTrace();}return 0;}
}... prompt'''

暂时到此…后期会定时添加 更新 工具类。

Android 工具类总:相关推荐

  1. Android 工具类

    前言 相信用过工具类的各位仁兄都觉得工具类好用,小弟不才,今天斗胆拿出自己感觉比较顺手的工具类. 1.Activity控制类 public class ActivityCollector{//acti ...

  2. Android工具类整合

    Android-JSONUtil工具类 常用的Json工具类,包含Json转换成实体.实体转json字符串.list集合转换成json.数组转换成json public class JSONUtil ...

  3. Android工具类的整理

    文章目录 android开发的工具类 Acvitity的栈式管理工具 GlideUtils和ImageLoader] ImageSelector Json数据解析工具 ListView自适应高度的方法 ...

  4. android工具类怎么写,用kotlin写了一些android常用的一些工具类

    最近在学习kotlin语言,写了一些android常用的工具类 FileUtils.kt 文件操作类 创建多级文件目录 mkDir(dirPath: String) 创建文件 creatFile(fi ...

  5. 常用的android工具类和库

    这篇博客主要记录我认为比较有用的android开源框架或者工具,我会持续添加,推荐给大家 1.这里面包含了很多的工具类,包括数据校验工具类,文件操作工具类,汉字转拼音工具类等. https://git ...

  6. Android 工具类 大全

    AppUtil工具类: 常用APP的工具类,包含版本号.版本名称.安装的应用程序ICON https://blog.csdn.net/houyingshang/article/details/8109 ...

  7. android 图片缓存工具类,Android工具类系列-Glide图片缓存与圆角

    Glide的图片缓存和清除图片缓存 public class GlideCacheUtil { private static GlideCacheUtil inst; public static Gl ...

  8. android 调试好事工具类,Android 工具类之总结 Hua

    import java.io.BufferedReader; import java.io.ByteArrayOutputStream; import java.io.IOException; imp ...

  9. Android工具类blankj

    开发人员不得不用的工具这里几乎都已经总结,在这里面很好的一个库. 地址:https://github.com/Blankj/AndroidUtilCode Gradle: compile 'com.b ...

  10. android 工具类

    Android的获取外部存储设备. / / 1.这个是获取安卓内置的SD卡.Environment.getExternalStorageDirectory()getAbsolutePath();< ...

最新文章

  1. SQLite数据转换成sql server数据
  2. 神级开源框架发布!Github排名前三,连Spring Cloud 都被干掉了!
  3. 《C++面向对象高效编程(第2版)》——3.17 编写内存安全类
  4. 生产上如何设置线程池参数?拒绝策略怎么配?|| Executors 中 JDK 给你提供了,为什么不用??
  5. 使用windows自带远程桌面远程办公
  6. C++中的const成员函数(函数声明后加const,或称常量成员函数)用法详解
  7. java计算并显示学生的成绩_Java开学测试-学生成绩管理系统
  8. C语言之scanf中的格式
  9. ASP.NET 数据库缓存依赖
  10. js中获取对象属性的3种方式
  11. 真是虚惊一场的i_like_cpp
  12. ORA-00054 resource busy and acquire with NOWAIT specified Cause 错误解决方法
  13. DOM技术对xml增删改查后更新源文件异常报错
  14. .NET 指南:构造器的设计
  15. php中用get和post传值时的用法 $_GET[], $_POST[]
  16. 机器视觉算法与应用-双语版-学习笔记
  17. matlab erf erfi,误差函数
  18. Visual Studio Code设置自定义背景图片
  19. java 国际象棋_java – 自我项目:使用GUI创建国际象棋游戏
  20. Jenkins HTML Publisher 插件

热门文章

  1. 《中国人工智能学会通讯》——3.25 康复机器人的人机交互控制研究综述
  2. Chrome浏览器 安装插件直接查看.md文件
  3. iPhoneX底部背景图适配
  4. UE4和C++ 开发-常用的宏(二)UPROPERTY(类似于Unity中C#的特性[SerializeField])
  5. 抖音短视频运营技巧及实操:12条干货助你成功
  6. 2023最新版本Activiti7系列-流程中的任务
  7. mysql 取中心点函数_mysql 自定义函数获取两点间距离
  8. 34. IO流--写出数据
  9. 6.18电商大促,如何利用邮件群发实现销量倍增
  10. Python爬虫之爬取豆瓣电影(二)