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
- Android开发中常用工具方法(1)
- Android开发常用工具方法
- Android开发常用工具方法(CommonTools)
- android开发中常用工具类
- Android开发常用工具类或者方法(整理)
- Android开发模板------常用工具类(方法)
- ===Android开发中常用工具
- Android开发中常用工具类总结
- android开发中apk安装包常用工具
- [转]Android开发中常用工具类总结
- Android开发中常用工具类总结
- Android开发中 10个常用工具类
- Android开发中常用工具类源码积累
- ios开发常用工具汇总(更新中)
- Android开发常用工具
- Android开发常用工具收集
- Android 开发常用工具
- Android开发常用工具
- word2vec 中的数学原理详解(一)目录和前言
- numpy中多维数组的轴(axis)
- Android实现屏幕旋转
- Java GC 相关文章
- LeetCode oj 392. Is Subsequence (字符串)
- Android开发中常用工具方法(1)
- Android 百分比布局库(percent-support-lib)
- ffmpeg的filter分析
- Say Hello to Retrofit
- bower 的安装使用
- 关于CKEditor代码高亮设置--懒人版
- 在BootStarp模态框中是用百度WebUploader失效问题
- jdk的wsgen.exe和cxf的wsimport.bat建立简单JAX-WS客户端服务端实践
- Android Glide加载图片时转换为圆形、圆角、毛玻璃等图片效果