程序员人生 网站导航

Android|Java 开发常用工具类整理

栏目:综合技术时间:2015-05-08 07:51:19

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


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


<span style="background-color: rgb(240, 240, 240);">package com.kevin.test.utils;</span> /** * 字符串格式匹配工具类 匹配手机号、座机号、邮箱等 * * @author blj * */ public class FormatCheckUtils { /** * 判断是不是符合邮箱格式 */ public static boolean checkEmailValid(String strEmail) { if (null == strEmail) { return false; } return strEmail.matches("[a-zA-Z0⑼_]+@[a-z0⑼]+(.[a-z]+){2}"); } /** * 判断是不是符合座机号格式 * * @param phoneNumber * @return */ public static boolean checkPhoneNumberValid(String phoneNumber) { if (null == phoneNumber) { return false; } /** * 匹配北京上海等3⑻格式:(^0[1,2]{1}d{1}-?d{8} * 匹配其他省分等4⑺/8格式:(^0[3⑼]{1}d{2}-?d{7,8}) * 匹配内部电话转接号:(-(d{1,4}))?$) */ // 区号与座机号之间可不添加“-” 外部号码与内部号码之间必须添加“-” String check = "((^0[1,2]{1}d{1}-?d{8}|(^0[3⑼]{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⑵9)百度百科“手机号”罗列号码 */ String checkphone = "^(((13|18)[0⑼])|(15[^4,D])|170|176|177|178)d{8}$"; return strPhoneNum.matches(checkphone); } }

2 、Android Toast 工具类 打Toast 比较麻烦 抽取封装了1下 传值只传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(); } }

3、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(); } }

4、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("转换字符串不合法"); } } }


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


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

原创文章 转载请注明出处:http://blog.csdn.net/blogblj/article/details/45364965

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐