編輯:關於Android編程
如題 該文章展示的是我開發過程中使用的部分常用工具類方法,不定期更新。
歡迎各位大牛批評指教,如有發現錯誤,歡迎留言指教,如有更好的實現方式,也歡迎留言交流學習,謝謝。
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_]+@[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); } }
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(); } }
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(); } }
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(轉換字符串不合法); } } }
最近學到用AsyncTask來處理有關網絡的操作。雖然代碼看上去不是很復雜,但仍有很多地方有疑惑。所以研讀了一下API文檔,在這裡把我學到的和練習的代碼展示出來。如有錯誤
本Demo的實現效果是調用手機上已安裝的照相機來實現拍照的功能,拍好的照片以ImageView形式展示。 目的:學習手機調用安裝的相機照相,對大的圖片處理有所認識,這裡主
Drawable天天用,可你是否對Drawable家族有一個完整的認知?今天我們就來系統的學習一下Drawable的使用。1.概述用過Drawable的筒子都知道Draw
一睹為快 需求 1.動態加載屬性,如尺碼,顏色,款式等 由於每件商品的屬性是不確定的,有的商品的屬性是顏色和尺碼,有的是口味,有的是大小,所以這些屬性不能直接