Android开发中常用工具方法(1)

来源:互联网 发布:给惠网淘宝返利 编辑:程序博客网 时间:2024/06/06 02:55
  • 验证是否是邮箱
   public static boolean isEmail(String email) {        String emailRegex = "^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";        if (TextUtils.isEmpty(email))            return false;        else            return email.matches(emailRegex);    }
  • 验证是否为手机号码
 public static boolean isMobile(String mobiles) {        String telRegex = "[1][358]\\d{9}";        if (TextUtils.isEmpty(mobiles)){             return false;        }          return mobiles.matches(telRegex);    }
  • 验证网络是否可以连接(包括移动数据和wifi)
public static boolean isNetCanConnect(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;    }
  • 验证wifi是否可以连接
public static boolean isWifiCanConnect(Context context) {        if (context != null) {            ConnectivityManager mConnectivityManager = (ConnectivityManager)context                                  .getSystemService(Context.CONNECTIVITY_SERVICE);            NetworkInfo mWiFiNetworkInfo = mConnectivityManager                    .getNetworkInfo(ConnectivityManager.TYPE_WIFI);            if (mWiFiNetworkInfo != null) {                return mWiFiNetworkInfo.isAvailable();            }        }        return false;    }
  • 判断当前程序是否在前台
 public static boolean isBackground(Context context) {        ActivityManager mActivityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);        List<ActivityManager.RunningAppProcessInfo> appProcesses = mActivityManager.getRunningAppProcesses();        for (ActivityManager.RunningAppProcessInfo appProcess : appProcesses) {            if (appProcess.processName.equals(context.getPackageName())) {                if (appProcess.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_BACKGROUND) {                    return true;//后台                } else {                    return false; //前台                }            }        }        return false;    }
  • 获取屏幕高度
 public static int getScreenWidth(Context context) {        WindowManager wm = (WindowManager) context                .getSystemService(Context.WINDOW_SERVICE);        DisplayMetrics outMetrics = new DisplayMetrics();        wm.getDefaultDisplay().getMetrics(outMetrics);        return outMetrics.widthPixels;    }
  • 获取屏幕宽度
  public static int getScreenHeight(Context context) {        WindowManager wm = (WindowManager) context                .getSystemService(Context.WINDOW_SERVICE);        DisplayMetrics outMetrics = new DisplayMetrics();        wm.getDefaultDisplay().getMetrics(outMetrics);        return outMetrics.heightPixels;    }
  • 获取屏幕截屏
 public static String saveCurrentImage(Activity activity, Dialog dialog) {        String result = "";        View dialogView = null;        Bitmap dialogBitmap = null;        //获取当前屏幕的大小        int width = activity.getWindow().getDecorView().getRootView().getWidth();        int height = activity.getWindow().getDecorView().getRootView().getHeight();        //生成相同大小的图片        Bitmap activityBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.RGB_565);        //找到当前页面的根布局        View view = activity.getWindow().getDecorView().getRootView();        //设置缓存        view.setDrawingCacheEnabled(true);        view.buildDrawingCache();        //从缓存中获取当前屏幕的图片        activityBitmap = view.getDrawingCache();        //获取dialog的Bitmap        if (dialog != null) {            dialogView = dialog.getWindow().getDecorView().getRootView();            dialogView.setDrawingCacheEnabled(true);            dialogView.buildDrawingCache();            dialogBitmap = Bitmap.createBitmap(dialogView.getDrawingCache(), 0, 0, dialogView.getWidth(), dialogView.getHeight());            //location1[0]用于存放当前位置的横坐标,location1[1]用于存放当前位置的纵坐标            int[] location1 = new int[2];            //以屏幕左上角为原点,获取一个控件在其整个屏幕上的坐标位置            view.getLocationOnScreen(location1);            int[] location2 = new int[2];            dialogView.getLocationOnScreen(location2);            //将dialogBitmap绘制在activityBitmap上            Canvas canvas = new Canvas(activityBitmap);            canvas.drawBitmap(dialogBitmap, location2[0] - location1[0], location2[1] - location1[1], new Paint());        }        SimpleDateFormat df = new SimpleDateFormat("yyyymmddhhmmss");        String time = df.format(new Date());        if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) {            File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/screen", time + ".jpeg");//            File file = new File(UIUtils.getContext().getFilesDir() + "/" + time + ".png");            if (!file.exists()) {                file.getParentFile().mkdirs();                try {                    file.createNewFile();                } catch (IOException e) {                    e.printStackTrace();                }            }            FileOutputStream fos = null;            try {                fos = new FileOutputStream(file);                activityBitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos);                fos.flush();                result = file.getAbsolutePath();            } catch (FileNotFoundException e) {                e.printStackTrace();            } catch (IOException e) {                e.printStackTrace();            } finally {                if (fos != null) {                    try {                        fos.close();                    } catch (IOException e) {                        e.printStackTrace();                    }                    fos = null;                }            }        }        if (activityBitmap != null) {            activityBitmap = null;            view.destroyDrawingCache();            view.setDrawingCacheEnabled(false);        }        if (dialogBitmap != null) {            dialogBitmap = null;            dialogView.destroyDrawingCache();            dialogView.setDrawingCacheEnabled(false);        }        return result;    }
0 0