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;
}
}
}
11 |
* @param context 應用程序的上下文對象
|
14 |
public
static boolean
isNetworkAvailable(Context context) { |
15 |
ConnectivityManager connectivity = (ConnectivityManager) context
|
16 |
.getSystemService(Context.CONNECTIVITY_SERVICE);
|
17 |
if
(connectivity == null ) {
|
20 |
NetworkInfo[] info = connectivity.getAllNetworkInfo();
|
22 |
for
( int i =
0 ; i < info.length; i++) {
|
23 |
if
(info[i].isConnected()) {
|