Android|Java 开发常用工具类


如题 该文章展示的是我开发过程中使用的部分常用工具类方法,不定期更新。

欢迎各位大牛批评指教,如有发现错误,欢迎留言指教,如有更好的实现方式,也欢迎留言交流学习,谢谢。

一、手机号 座机号、邮箱格式匹配工具类

package com.kevin.test.utils;

/**
 * 字符串格式匹配工具类 匹配手机号、座机号、邮箱等
 *
 * @author blj
 *
 */
public class FormatCheckUtils
{

	/**
	 * 判断是否符合邮箱格式
	 */
	public static boolean checkEmailValid(String strEmail)
	{
		if (null == strEmail)
		{
			return false;
		}
		return strEmail.matches("[a-zA-Z0-9_][email protected][a-z0-9]+(.[a-z]+){2}");
	}

	/**
	 * 判断是否符合座机号格式
	 *
	 * @param phoneNumber
	 * @return
	 */
	public static boolean checkPhoneNumberValid(String phoneNumber)
	{
		if (null == phoneNumber)
		{
			return false;
		}

		/**
		 * 匹配北京上海等3-8格式:(^0[1,2]{1}\\d{1}-?\\d{8}
		 * 匹配其他省份等4-7/8格式:(^0[3-9]{1}\\d{2}-?\\d{7,8})
		 * 匹配内部电话转接号:(-(\\d{1,4}))?$)
		 */
		// 区号与座机号之间可不添加“-” 外部号码与内部号码之间必须添加“-”
		String check = "((^0[1,2]{1}\\d{1}-?\\d{8}|(^0[3-9]{1}\\d{2}-?\\d{7,8}))(-(\\d{1,4}))?$)";
		return phoneNumber.matches(check);
	}

	/**
	 * 验证手机号方法
	 *
	 * @param strPhoneNum
	 * @return
	 */
	public static boolean checkMobileNumberValid(String strPhoneNum)
	{
		if (null == strPhoneNum)
		{
			return false;
		}
		/**
		 * 匹配13、15、18开头手机号 排除154 开头手机号
		 * 匹配170、176、177、178开头手机号
		 * 匹配规则参考当前(2015-04-29)百度百科“手机号”罗列号码
		 */
		String checkphone = "^(((13|18)[0-9])|(15[^4,\\D])|170|176|177|178)\\d{8}$";
		return strPhoneNum.matches(checkphone);

	}

}

二 、Android Toast 工具类 打Toast 比较麻烦 抽取封装了一下 传值只传Context String 或 Context StringID即可。

import android.content.Context;
import android.widget.Toast;

/**
 * Toast 工具类
 *
 * @author blj
 *
 */
public class ToastUtils
{

	/**
	 * 短提示 by resId
	 *
	 * @param context
	 * @param resId
	 */
	public static void shortShowResId(Context context, int resId)
	{
		Toast.makeText(context, resId, Toast.LENGTH_SHORT).show();
	}

	/**
	 * 长提示 by resId
	 *
	 * @param context
	 * @param resId
	 */
	public static void longShowResId(Context context, int resId)
	{
		Toast.makeText(context, resId, Toast.LENGTH_LONG).show();
	}

	/**
	 * 短提示 by String
	 *
	 * @param context
	 * @param string
	 */
	public static void shortShowStr(Context context, String string)
	{
		Toast.makeText(context, string, Toast.LENGTH_SHORT).show();
	}

	/**
	 * 常提示 by String
	 *
	 * @param context
	 * @param string
	 */
	public static void longShowStr(Context context, String string)
	{
		Toast.makeText(context, string, Toast.LENGTH_LONG).show();
	}

}

三、Android 剪切粘贴工具类

import android.annotation.SuppressLint;
import android.content.ClipboardManager;
import android.content.Context;

public class ClipBoardUtil {
	/**
	 * 实现文本复制功能
	 *
	 * @param content
	 */
	@SuppressLint("NewApi")
	public static void copy(Context context, String content) {
		// 得到剪贴板管理器
		ClipboardManager cmb = (ClipboardManager) context
				.getSystemService(Context.CLIPBOARD_SERVICE);
		cmb.setText(content.trim());
	}

	/**
	 * 实现粘贴功能
	 *
	 * @param context
	 * @return
	 */
	@SuppressLint("NewApi")
	public static String paste(Context context) {
		// 得到剪贴板管理器
		ClipboardManager cmb = (ClipboardManager) context
				.getSystemService(Context.CLIPBOARD_SERVICE);
		return cmb.getText().toString().trim();
	}

}

四、Android dp、px 转换工具类

import android.content.Context;

/**
 * dp与px转换工具
 *
 */
public class DensityUtil
{
	/**
	 * 根据手机的分辨率从 dip 的单位 转成为 px(像素)
	 */
	public static int dip2px(Context context, float dpValue)
	{
		final float scale = context.getResources().getDisplayMetrics().density;
		return (int) (dpValue * scale + 0.5f);
	}

	/**
	 * 根据手机的分辨率从 px(像素) 的单位 转成为 dp
	 */
	public static int px2dip(Context context, float pxValue)
	{
		final float scale = context.getResources().getDisplayMetrics().density;
		return (int) (pxValue / scale + 0.5f);
	}

	public static int getPXFromString(Context context, String value)
	{
		String lowerValue = value.toLowerCase();

		if (lowerValue.endsWith("px"))
		{
			return Integer.parseInt(lowerValue.substring(0, lowerValue.indexOf("px")));
		}
		else if (lowerValue.endsWith("dp") || lowerValue.endsWith("dip"))
		{
			return dip2px(context, Integer.parseInt(lowerValue.substring(0, lowerValue.indexOf("d"))));
		}
		else if (lowerValue.matches("\\d+"))
		{
			return Integer.parseInt(lowerValue);
		}
		else
		{
			throw new RuntimeException("转换字符串不合法");
		}
	}
}

未完待续,持续更新中。。。

欢迎留言批评指教,交流学习,谢谢!

时间: 2024-12-25 16:16:52

Android|Java 开发常用工具类的相关文章

[精品] 收集的27个java开发常用工具类.基本满足开发需求

原文:[精品] 收集的27个java开发常用工具类.基本满足开发需求 源代码下载地址:http://www.zuidaima.com/share/1596028005993472.htm 最近从网上收集的java开发常用的工具类,分享给大家.基本满足开发需求.推荐给热爱最代码以及java的牛牛们.   每个类都有注释的,欢迎大家可以下载使用. 字符编码:CharTools, base64:Base64 *.java Md5加密:  MD5*.java 上传:*Uploader* 生成缩略图类:T

java开发常用工具类

1 package com.rui.util; 2 3 import java.text.DateFormat; 4 import java.text.DecimalFormat; 5 import java.text.SimpleDateFormat; 6 import java.util.Date; 7 import java.util.Random; 8 9 /** 10 * 11 * @ClassName: StrUtils 12 * @Description: 工具类 13 * @au

java开发常用工具类集合总结

转自:https://blog.csdn.net/wu1226419614/article/details/72673686 1)java正则表达式的匹配包括:邮箱,手机,姓名,昵称,身份证号,银行卡号等: 2)生成6位随机数: 3)对url中字符串进行编码和解码 4)获取客户端ip地址 5)获取系统当前时间 6)生成32位编码不含横线 7)生成MD5编码 8)通过身份证获取性别 9)通过身份证获取生日 10)通过身份证获取生日 11)手机号中间4位替换成星号 12)邮箱地址加星号 13)生成随

iOS开发常用工具类

iOS开发常用工具类(提高开发的工作效率) 前言 作为一个开发者应该学会去整理收集开发常用的工具类,这些复用的工具可以在项目开发中给你很大程度提高你的工作效率.难道你不想早点完成工作,然后出去撩妹.陪女朋友或者回家陪老婆孩子吗?反正我想早点回家??. 一.常用的宏定义 善于利用宏在开发中过程中会减少很多工作量比如定义开发过程中的常用尺寸,这样在后续开发中不用为了改一个相同尺寸而满世界的去找这个尺寸在哪用到了.宏定义用的很广泛,例如屏幕的宽高,网络请求的baseUrl等等下面是自己整理的一些示例:

Android开发常用工具类

来源于http://www.open-open.com/lib/view/open1416535785398.html 主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java. 目前包括  HttpUtils.DownloadManagerPro.Safe.ijiami.ShellUtils.PackageUtils. PreferencesUtils.JSONUtils.FileUtils.ResourceUtils.StringUtils. ParcelUtils.Rand

20个Android开发常用工具类

主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java. 目前包括  HttpUtils.DownloadManagerPro.Safe.ijiami.ShellUtils.PackageUtils.PreferencesUtils.JSONUtils.FileUtils.ResourceUtils.StringUtils.ParcelUtils.RandomUtils.ArrayUtils.ImageUtils.ListUtils.MapUtils.ObjectUtils.S

最全Android开发常用工具类

主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java. 目前包括  HttpUtils.DownloadManagerPro.Safe.ijiami.ShellUtils.PackageUtils.PreferencesUtils.JSONUtils.FileUtils.ResourceUtils.StringUtils.ParcelUtils.RandomUtils.ArrayUtils.ImageUtils.ListUtils.MapUtils.ObjectUtils.S

J2EE开发框架搭建(5) - Java项目开发常用工具类

工具类下项目中的目录位置: 1. 中文转化成拼音.首字母  ,ChineseCharToPinYin,使用这个类的时候必须要加入pinyin.jar,pinyin.jar已经放到hqhop-framework-web项目的lib目录中: 使用方式: ChineseCharToPinYin只提供了两个方法: public static String getPinYin(String src) {.....}      将汉字转换为全拼 public static String getPinYinH

java 微信开发 常用工具类(xml传输和解析 json转换对象)

与微信通信常用工具(xml传输和解析) package com.lownsun.wechatOauth.utl; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.InetAddress; import java.net.MalformedURLException; import