小编整理了一些在Android上常用的工具类;这些工具类在开发app的工程中,有些是必不可少的。

package com.example.administrator.componentdemo;import android.app.Activity;import android.app.ActivityManager;import android.content.ComponentName;import android.content.Context;import android.net.ConnectivityManager;import android.net.NetworkInfo;import android.util.DisplayMetrics;import java.io.File;import java.io.FileFilter;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import java.util.List;import java.util.regex.Pattern;/** * Android常用的工具类 * */public class Utils {    /** * 判断网络是否已经连接 * @param context 上下文 * @return true 已经连接网络, false 网络连接失效 * */    public static boolean isNetworkAvailable(Context context){        try{            ConnectivityManager cm = (ConnectivityManager)                    context.getSystemService(Context.CONNECTIVITY_SERVICE);            if(cm != null){                NetworkInfo ni = cm.getActiveNetworkInfo();                if(ni!=null && ni.isConnected()){                    if(ni.getState() == NetworkInfo.State.CONNECTED){                        return true;                    }                }            }        } catch (Exception e){            return false;        }        return false;    }    /** * 判断当前网络是否是WIFI * */    public static boolean isWIFI(Context context){        try{            ConnectivityManager cm = (ConnectivityManager)                    context.getSystemService(Context.CONNECTIVITY_SERVICE);            if(cm != null){                NetworkInfo ni = cm.getActiveNetworkInfo();                if(ni!=null && ni.getType() == ConnectivityManager.TYPE_WIFI){                    return true;                }            }        } catch (Exception e){            return false;        }        return false;    }    /** * 判断当前网络是否是GPRS * */    public static boolean is3G(Context context){        try{            ConnectivityManager cm =                    (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);            if(cm != null){                NetworkInfo ni = cm.getActiveNetworkInfo();                if(ni!=null && ni.getType() == ConnectivityManager.TYPE_MOBILE){                    return true;                }            }        } catch (Exception e){        }        return false;    }    /** * 获取手机分辨率--W * */    public static int getPhoneHW(Context context){        DisplayMetrics dm = new DisplayMetrics();        ((Activity)context).getWindowManager().getDefaultDisplay().getMetrics(dm);        int disW = dm.widthPixels;        return disW;    }    /** * 获取手机分辨率--H * */    public static int getPhoneWH(Context context){        DisplayMetrics dm = new DisplayMetrics();        ((Activity)context).getWindowManager().getDefaultDisplay().getMetrics(dm);        int disH = dm.heightPixels;        return disH;    }    /** * MD5加密 * * @param str 传入的密码 * @return */    public static String md5(String str) {        MessageDigest md;        try {            md = MessageDigest.getInstance("MD5");            md.update(str.getBytes());            byte b[] = md.digest();            int i;            StringBuffer buf = new StringBuffer("");            for (int offset = 0; offset < b.length; offset++) {                i = b[offset];                if (i < 0)                    i += 256;                if (i < 16)                    buf.append("0");                buf.append(Integer.toHexString(i));            }            return buf.toString();        } catch (NoSuchAlgorithmException e) {            e.printStackTrace();        }        return str;    }    /** * 获取当前sdk版本 * @return */    public static int getAndroidSDKVersion() {        int version = 0;        try {            version = Integer.valueOf(android.os.Build.VERSION.SDK_INT);        } catch (NumberFormatException e) {            e.printStackTrace();        } catch (Exception e){            e.printStackTrace();        }        return version;    }    /** * 获取CPU数量 * */    public static int cpuNums(){        int nums = 1;        try{            File file = new File("/sys/devices/system/cpu/");            File[] files = file.listFiles(new FileFilter() {                @Override                public boolean accept(File arg0) {                    if(Pattern.matches("cpu[0-9]", arg0.getName())){                        return true;                    }                    return false;                }            });            nums = files.length;        } catch (Exception e){            e.printStackTrace();        }        return nums;    }    /** * 判断app是否在后台运行 * * @param context * @return */    public static boolean isBackgroundRunning(Context context) {        ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);        List<ActivityManager.RunningTaskInfo> tasks = am.getRunningTasks(1);        if (!tasks.isEmpty()) {            ComponentName topActivity = tasks.get(0).topActivity;            if (!topActivity.getPackageName().equals(context.getPackageName())) {                return true;            }        }        return false;    }}

更多相关文章

  1. Android使用OKHttp访问网络获取Cookie和带Cookie的请求
  2. Java加密解密工具(适用于JavaSE/JavaEE/Android)
  3. Android程序开发调试工具(一):dx和dexdump
  4. android中进入设置页面(常见网络设置页面,设置页面,蓝牙页面等等)的a
  5. android http通信(二) 英译汉字典实例探究网络通信三种方法
  6. android studio 主线程中访问网络,遇到android.os.NetworkOnMainT

随机推荐

  1. clickhouse
  2. 2012.06.28(2)——— android onMeasure
  3. Android(安卓)RxJava:功能性操作符 全面讲
  4. 关于onConfigurationChanged
  5. 测试freg驱动的功能内置C程程序
  6. Android(安卓)屏幕适配(1)
  7. 玩Android项目开发4------首页(ListView实
  8. 非常简单的Android打开和保存对话框功能
  9. android 图片双缓存,开源框架 universali
  10. 绝对精品—史上最全最权威的Android(安卓