| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
e4cb
9年前发布

Android 工具类

目前工具类中的方法有: 获取屏幕宽度高度密度 获取MAC地址 获取当前时间 日期格式转换 获取当前版本名,版本号 网络检测.

import java.text.SimpleDateFormat;  import java.util.Date;  import java.util.Locale;     import android.app.Activity;  import android.content.Context;  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.wifi.WifiInfo;  import android.net.wifi.WifiManager;  import android.text.TextUtils;  import android.util.DisplayMetrics;        public class MyUtils {             /**       * 获取屏幕宽度高度密度       *        *  如果屏幕密度低,需要在工程的AndroidManifest.xml文件中,加入supports-screens节点        * <supports-screens          android:smallScreens="true"          android:normalScreens="true"          android:largeScreens="true"          android:resizeable="true"          android:anyDensity="true"/>       * @param activity 屏幕界面       * @param type     类型1:宽度,2:高度,3:密度,4dpi密度       * @return 屏幕宽度或高度或密度       */      public Object getWindowSize(Activity activity,int type){          DisplayMetrics metric = new DisplayMetrics();          activity.getWindowManager().getDefaultDisplay().getMetrics(metric);          if (type == 1) {              int width = metric.widthPixels;  // 屏幕宽度(像素)              return width;          }else if (type == 2) {              int height = metric.heightPixels;  // 屏幕高度(像素)              return height;          }else if (type == 3) {              float density = metric.density;  // 屏幕密度(0.75 / 1.0 / 1.5)              return density;          }else if (type == 4) {              int densityDpi = metric.densityDpi;  // 屏幕密度DPI(120 / 160 / 240)              return densityDpi;          }          return 0;      }             /**       * 获取MAC地址           * @param context 上下文       * @param replaceSymbol 替换字符,默认替换字符为""       * @return 返回MAC地址     错误返回12个0       */      public String getMacAddress(Context context,String replaceSymbol) {          String macAddress = "000000000000";          if (replaceSymbol == null) {              replaceSymbol = "";          }          try {              WifiManager wifiMgr = (WifiManager) context                      .getSystemService(Context.WIFI_SERVICE);              WifiInfo info = (null == wifiMgr ? null : wifiMgr                      .getConnectionInfo());              if (null != info) {                  if (!TextUtils.isEmpty(info.getMacAddress()))                      macAddress = info.getMacAddress().replace(":", replaceSymbol);                  else                      return macAddress;              }          } catch (Exception e) {              e.printStackTrace();              return macAddress;          }          return macAddress;      }             /**       *  获取当前时间       * @param type 日期时间格式       * @param locale 地区默认为 Locale.CHINA       * @return 按照格式返回当前时间       */      public String getCurrentTime(String type,Locale locale) {          if (locale == null) {              locale = Locale.CHINA;          }          Date curDate = new Date(System.currentTimeMillis());          SimpleDateFormat sdf = new SimpleDateFormat(type,locale);          return sdf.format(curDate);      }             /**       * 日期格式转换       *        * @param date 待转换日期       * @param type 格式       * @param locale 地区 默认为 Locale.CHINA       * @return 日期       */      public String formatDate(String date, String type,Locale locale) {          String fmDate = "";          if (date != null) {              if (locale == null) {                  locale = Locale.CHINA;              }              SimpleDateFormat sdf = new SimpleDateFormat(type,locale);              fmDate = sdf.format(new Date(Long.parseLong(date)));          }          return fmDate;      }             /**       * 获取当前版本名,版本号       * @param context 上下文       * @param type 1:版本名称,2:版本号       * @return 版本名或版本号       */      public Object getCurrentVersionName(Context context,int type){          PackageManager manager = context.getPackageManager();          String packageName = context.getPackageName();          String versionName = null;          int versionCode = 0;          try {              PackageInfo info = manager.getPackageInfo(packageName, 0);              if (type == 1) {                  versionName = info.versionName;                  return versionName;              }else if (type == 2) {                  versionCode = info.versionCode;                  return versionCode;              }                         } catch (NameNotFoundException e) {              e.printStackTrace();              return null;          }          return null;      }             /**       * 网络检测        * @param context 上下文       * @return false:无网络,true:有网络       */      public boolean isOnline(Context context) {          boolean isOnline = false;          final ConnectivityManager cm = (ConnectivityManager) context                  .getSystemService(Context.CONNECTIVITY_SERVICE);          final NetworkInfo networkInfo = cm.getActiveNetworkInfo();          if (networkInfo != null) {              isOnline = networkInfo.isAvailable();          }          // String netType = "当前网络类型为:" + networkInfo.getTypeName();          return isOnline;      }     }