package com.simtice.cnbeta.util;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.NetworkInfo.State;
import android.os.Environment;
import android.text.TextUtils;
import android.view.Display;
import android.view.WindowManager;
import android.widget.Toast;
public class CommonUtil {
// private static final CommonLog log = LogFactory.createLog();
public static boolean hasSDCard() {
String status = Environment.getExternalStorageState();
if (!status.equals(Environment.MEDIA_MOUNTED)) {
return false;
}
return true;
}
public static String getRootFilePath() {
if (hasSDCard()) {
return Environment.getExternalStorageDirectory().getAbsolutePath() + "/";// filePath:/sdcard/
} else {
return Environment.getDataDirectory().getAbsolutePath() + "/data/"; // filePath:
// /data/data/
}
}
public static boolean checkNetState(Context context) {
boolean netstate = false;
ConnectivityManager connectivity = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivity != null) {
NetworkInfo[] info = connectivity.getAllNetworkInfo();
if (info != null) {
for (int i = 0; i < info.length; i++) {
if (info[i].getState() == NetworkInfo.State.CONNECTED) {
netstate = true;
break;
}
}
}
}
return netstate;
}
public static void showToast(Context context, String tip) {
Toast.makeText(context, tip, Toast.LENGTH_SHORT).show();
}
public static void showNoNetworkToast(Context context){
Toast.makeText(context, "网络不可用,请检查网络连接设置", Toast.LENGTH_SHORT).show();
}
public static int getScreenWidth(Context context) {
WindowManager manager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
Display display = manager.getDefaultDisplay();
return display.getWidth();
}
public static int getScreenHeight(Context context) {
WindowManager manager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
Display display = manager.getDefaultDisplay();
return display.getHeight();
}
public static String[] splitArray(String str) {
String[] contents = null;
for (int i = 0; i < str.length(); i++) {
contents = str.split(",");
}
return contents;
}
/**
* 判断网络是否可用(Wi-Fi/3G/ETHERENT)
*
* @return true:可用 false:不可用
*/
public static boolean isNetworkAvailable(Context context) {
// 获得网络连接服务
ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
// State state = connManager.getActiveNetworkInfo().getState();
// 判断是否正在使用WI-FI网络
State wifiState = null;
if (connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI) != null) {
wifiState = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState(); // 获取Wi-Fi网络连接状态
}
// 判断是否正在使用GPRS网络
State mobileState = null;
if (connManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE) != null) {
mobileState = connManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState(); // 获取GPRS网络连接状态
}
// //判断是否正在使用以太网网络
// State ethernetState = null;
// if (connManager.getNetworkInfo(ConnectivityManager.TYPE_ETHERNET) !=
// null) {
// ethernetState =
// connManager.getNetworkInfo(ConnectivityManager.TYPE_ETHERNET).getState();
// //获取以太网网络连接状态
// }
// if (android.net.NetworkInfo.State.CONNECTED == wifiState
// || (mobileState != null && android.net.NetworkInfo.State.CONNECTED ==
// mobileState)
// || (ethernetState != null && android.net.NetworkInfo.State.CONNECTED
// == ethernetState)){
if (android.net.NetworkInfo.State.CONNECTED == wifiState
|| (mobileState != null && android.net.NetworkInfo.State.CONNECTED == mobileState)) {
// 有可用网络
return true;
// } else if (State.DISCONNECTED == wifiState && State.DISCONNECTED
// == mobileState && State.DISCONNECTED == ethernetState){
} else if (State.DISCONNECTED == wifiState && State.DISCONNECTED == mobileState) {
// 网络不可用
return false;
}
return false;
}
/**
* 判断wifi是否连接
*
* @param context
* @return
*/
public static boolean isWifiConnect(Context context) {
ConnectivityManager connectivity = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivity != null) {
NetworkInfo[] info = connectivity.getAllNetworkInfo();
if (info != null) {
for (int i = 0; i < info.length; i++) {
if (info[i].getTypeName().equals("WIFI") && info[i].isConnected()) {
return true;
}
}
}
}
return false;
}
public static void showAlertDialog(Context context, String title, String message, String positiveText,
DialogInterface.OnClickListener positiveListener, String negativeText,
DialogInterface.OnClickListener negativeListener) {
AlertDialog.Builder dialog = new AlertDialog.Builder(context);
if (!TextUtils.isEmpty(message))
dialog.setMessage(message);
if (!TextUtils.isEmpty(title))
dialog.setTitle(title);
dialog.setPositiveButton(positiveText, positiveListener);
dialog.setNegativeButton(negativeText, negativeListener);
dialog.create().show();
}
/**
* 解析摘要
* @param summary
* @return
*/
public static String parseHtml(String summary){
Document doc = Jsoup.parse(summary);
StringBuffer sb = new StringBuffer();
for (Element ele : doc.getElementsByTag("p")) {
if(!ele.select("strong").toString().equals("")){
sb.append(ele.text()+"\n");
}else{
sb.append(ele.text());
}
}
return sb.toString().trim();
}
}