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

  • 验证是否是邮箱
   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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值