package com.dahuo.learn.utils;
import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.text.TextUtils;
import com.dahuo.learn.startup.R;
import java.io.Closeable;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
/**
* Created by hugo on 2016/2/20 0020.
*/
public class Util {
/**
* 获取版本号
*
* @return 当前应用的版本号
*/
public static String getVersion(Context context) {
try {
PackageManager manager = context.getPackageManager();
PackageInfo info = manager.getPackageInfo(context.getPackageName(), 0);
return info.versionName;
} catch (Exception e) {
e.printStackTrace();
return context.getString(R.string.can_not_find_version_name);
}
}
/**
* @return 版本号
*/
public static int getVersionCode(Context context) {
try {
PackageManager manager = context.getPackageManager();
PackageInfo info = manager.getPackageInfo(context.getPackageName(), 0);
int version = info.versionCode;
return version;
} catch (Exception e) {
e.printStackTrace();
return 0;
}
}
/**
* 只关注是否联网
*/
public static boolean isNetworkConnected(Context context) {
if (context != null) {
ConnectivityManager mConnectivityManager =
(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo();
if (mNetworkInfo != null) {
return mNetworkInfo.isAvailable();
}
}
return false;
}
/**
* 判断当前日期是星期几
*
* @param pTime 修要判断的时间
* @return dayForWeek 判断结果
* @Exception 发生异常
*/
public static String dayForWeek(String pTime) throws Exception {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
c.setTime(format.parse(pTime));
int dayForWeek = 0;
String week = "";
dayForWeek = c.get(Calendar.DAY_OF_WEEK);
switch (dayForWeek) {
case 1:
week = "星期日";
break;
case 2:
week = "星期一";
break;
case 3:
week = "星期二";
break;
case 4:
week = "星期三";
break;
case 5:
week = "星期四";
break;
case 6:
week = "星期五";
break;
case 7:
week = "星期六";
break;
}
return week;
}
/**
* 安全的 String 返回
*
* @param prefix 默认字段
* @param obj 拼接字段 (需检查)
*/
public static String safeText(String prefix, String obj) {
if (TextUtils.isEmpty(obj)) return "";
return TextUtils.concat(prefix, obj).toString();
}
public static String safeText(String msg) {
return safeText("", msg);
}
/**
* 天气代码 100 为晴 101-213 500-901 为阴 300-406为雨
*
* @param code 天气代码
* @return 天气情况
*/
public static String getWeatherType(int code) {
if (code == 100) {
return "晴";
}
if ((code >= 101 && code <= 213) || (code >= 500 && code <= 901)) {
return "阴";
}
if (code >= 300 && code <= 406) {
return "雨";
}
return "错误";
}
/**
* 正则匹配掉错误信息
*/
public static String replaceCity(String city) {
city = safeText(city).replaceAll("(?:省|市|自治区|特别行政区|地区|盟)", "");
return city;
}
/**
* Java 中有一个 Closeable 接口,标识了一个可关闭的对象,它只有一个 close 方法.
*/
public static void closeQuietly(Closeable closeable) {
if (null != closeable) {
try {
closeable.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}