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()) { |