工具類

package com.cilent.logistics.common;

import java.io.StringReader;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.xmlpull.v1.XmlPullParser;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.Uri;
import android.telephony.TelephonyManager;
import android.util.Xml;
import android.widget.Toast;
import com.cilent.logistics.R;

/**
 *
 * @author Eric
 *
 */
public class Commons {
 
 /**
  * 獲取手機Imei號
  * @param context
  * @return
  */
 public static String getImeiCode(Context context)
 {
  TelephonyManager tm = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
  return tm.getDeviceId();
 }
 
 /**
  * 獲取手機號
  * @param context
  * @return
  */
 public static String getMobileNumber(Context context)
 {
  TelephonyManager tm = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
  return tm.getLine1Number();
 }
 
 /**
  * 獲取軟件版本名
  *
  * @param context
  * @return
  */
 public static String getVersionName(Context context) {
  PackageManager manager = null;
  PackageInfo info = null;
  try {
   manager = context.getPackageManager();
   info = manager.getPackageInfo(context.getPackageName(), 0);
   return info.versionName; // 版本名,versionCode同理
  } catch (NameNotFoundException e) {
   return null;
  }
 }

 public static boolean checkMobileNumber(String number) {
  if (matchingText("^(13[0-9]|15[0-9]|18[7|8|9|6|5])\\d{4,8}$", number)) {
   return true;
  }
  return false;
 }

 /**
  * 驗證手機號格式是否正確
  *
  * @param mobileNumber
  * @return
  */
 public static boolean validateMobileNumber(String mobileNumber) {
  if (matchingText("^(13[0-9]|15[0-9]|18[7|8|9|6|5])\\d{4,8}$",
    mobileNumber)) {
   return true;
  }
  return false;
 }

 /**
  * 驗證郵箱格式是否正確
  *
  * @param email
  * @return
  */
 public boolean validateEmail(String email) {
  if (matchingText("\\w+@(\\w+\\.){1,3}\\w+", email)) {
   return true;
  }
  return false;
 }

 /**
  *
  * 驗證字符串,是否適合某種格式
  *
  * @param expression
  *            正則表達式
  * @param text
  *            操作的字符串
  * @return
  */
 private static boolean matchingText(String expression, String text) {
  Pattern p = Pattern.compile(expression); // 正則表達式
  Matcher m = p.matcher(text); // 操作的字符串
  boolean b = m.matches();
  return b;
 }

 /**
  * 撥打電話
  *
  * @param context
  * @param mobilenumber
  */
 public static void Call(Context context, String mobilenumber) {
  try {
   Uri uri = Uri.parse("tel:" + mobilenumber);
   Intent intent = new Intent(Intent.ACTION_CALL, uri);
   context.startActivity(intent);
  } catch (Exception e) {
   alert(context, "手機號有誤");
  }
 }

 /**
  * 手機號加密 中間四位顯示爲星號
  *
  * @param mobileNumber
  *            手機號
  * @return 如:134****1082
  */
 public static String SetAsterisk(String mobileNumber) {
  try {
   if (mobileNumber.length() != 11) {
    return "0";
   }
   return mobileNumber.substring(0, 3) + "****"
     + mobileNumber.substring(7, 11);
  } catch (Exception e) {
   return null;
  }
 }

 /**
  * 彈出提示框 Toast
  *
  * @param context
  * @param 內容
  */
 public static void alert(Context context, String content) {
  Toast.makeText(context, content, Toast.LENGTH_LONG).show();

 }

 /**
  * 判斷設備是否連網,如果連網返回true,否則返回false
  *
  * @param context
  *            上下文對象
  * @return true爲連網,false爲未聯網
  */
 public static boolean networkIsAvaiable(Context context) {
  ConnectivityManager connManager = null;
  NetworkInfo networkInfo = null;
  boolean result = false;
  try {
   connManager = (ConnectivityManager) context
     .getSystemService(Context.CONNECTIVITY_SERVICE);
   networkInfo = connManager.getActiveNetworkInfo();
   if (networkInfo != null) {
    result = networkInfo.isAvailable();
   }
   if (result == false) {
    alert(context, "網絡不可用");
   }
   return result;
  } catch (Exception ex) {
   System.out.println("Common:networkIsAvaiable---->"
     + ex.getMessage());
   return result;
  } finally {
   context = null;
   connManager = null;
   networkInfo = null;
  }
 }

 /**
  * 驗證輸入字符串是否滿足某個正則表達式
  *
  * @param inputData
  *            輸入字符串
  * @param regStr
  *            正則表達式
  * @return 布爾值,如果滿足返回true,否則返回false
  */
 public static boolean validInput(String inputData, String regStr) {
  Pattern pattern = null;
  Matcher matcher = null;
  try {
   pattern = Pattern.compile(regStr);
   matcher = pattern.matcher(inputData);
   return matcher.matches();
  } finally {
   inputData = null;
   regStr = null;
   pattern = null;
   matcher = null;
  }
 }

 /**
  * 顯示Loading對話框
  *
  * @param context
  *            上下文對象
  * @return ProgressDialog對象
  */
 public static ProgressDialog showLoadingDialog(Context context) {
  ProgressDialog progressDialog = null;
  try {
   progressDialog = new ProgressDialog(context);
   progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
   progressDialog.setMessage(context.getString(R.string.str_loading));
   progressDialog.setCancelable(true);
   return progressDialog;
  } finally {
   progressDialog = null;
   context = null;
  }
 }
 
}

09 /**
10 * 檢查網絡是否可用
11 * @param context 應用程序的上下文對象
12 * @return
13 */
14 public static boolean isNetworkAvailable(Context context) {
15 ConnectivityManager connectivity = (ConnectivityManager) context
16 .getSystemService(Context.CONNECTIVITY_SERVICE); //獲取系統網絡連接管理器
17 if (connectivity == null) { //如果網絡管理器爲null
18 return false; //返回false表明網絡無法連接
19 } else {
20 NetworkInfo[] info = connectivity.getAllNetworkInfo(); //獲取所有的網絡連接對象
21 if (info != null) { //網絡信息不爲null時
22 for (int i = 0; i < info.length; i++) { //遍歷網路連接對象
23 if (info[i].isConnected()) { //當有一個網絡連接對象連接上網絡時
24 return true; //返回true表明網絡連接正常
25 }
26 }
27 }
28 }
29 return false;
30 }

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章