Android|Java 開發常用工具類整理
來源:程序員人生 發布時間:2015-05-08 07:51:19 閱讀次數:3401次
如題 該文章展現的是我開發進程中使用的部份經常使用工具類方法,不定期更新。
歡迎各位大牛批評指教,如有發現毛病,歡迎留言指教,如有更好的實現方式,也歡迎留言交換學習,謝謝。
<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
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈