android验证通用类

这是一个包含多种验证、字符串操作、提示消息、键盘管理等方法的Android工具类,如手机号验证、密码验证、颜色设置、字体大小设置、网络错误提示等。
public class UsualTools {
    private static long lastClick;
    public static boolean isShowPrintMsg = false;

    public UsualTools() {
    }

    public static boolean isPhoneNumber(String input) {
        String regex = "(1[0-9][0-9]|15[0-9]|18[0-9])\\d{8}";
        Pattern p = Pattern.compile(regex);
        return Pattern.matches(regex, input);
    }

    public static boolean checkPassword(String password, String checkPassword) {
        return password.equals(checkPassword);
    }

    public static SpannableString setSpanWord(String word) {
        SpannableString sp = new SpannableString(word);
        sp.setSpan(new StyleSpan(3), 0, word.length(), 34);
        return sp;
    }

    public static SpannableStringBuilder setStringColor(String word, String changePart, String color) {
        char[] c = changePart.toCharArray();
        SpannableStringBuilder style = new SpannableStringBuilder(word);
        if(c.length != 0) {
            int lastIndex = c.length - 1;
            int start = word.indexOf(c[0]);
            int end = start + lastIndex + 1;
            style.setSpan(new ForegroundColorSpan(Color.parseColor(color)), start, end, 33);
            return style;
        } else {
            return style;
        }
    }

    public static SpannableStringBuilder setStringColor(String word, String changePart, int colorId) {
        char[] c = changePart.toCharArray();
        SpannableStringBuilder style = new SpannableStringBuilder(word);
        if(c.length != 0) {
            int lastIndex = c.length - 1;
            int start = word.indexOf(c[0]);
            int end = start + lastIndex + 1;
            style.setSpan(new ForegroundColorSpan(colorId), start, end, 33);
            return style;
        } else {
            return style;
        }
    }

    public static SpannableStringBuilder setTwoStringColor(String word, String changePart, String color, String changePart2, String color2) {
        char[] c = changePart.toCharArray();
        char[] c2 = changePart2.toCharArray();
        SpannableStringBuilder style = new SpannableStringBuilder(word);
        if(c.length != 0) {
            int lastIndex = c.length - 1;
            int start = word.indexOf(c[0]);
            int end = start + lastIndex + 1;
            style.setSpan(new ForegroundColorSpan(Color.parseColor(color)), start, end, 33);
            int lastIndex2 = c2.length - 1;
            int start2 = word.indexOf(c2[0]);
            int end2 = start2 + lastIndex2 + 1;
            style.setSpan(new ForegroundColorSpan(Color.parseColor(color2)), start2, end2, 33);
            return style;
        } else {
            return style;
        }
    }

    public static SpannableStringBuilder setStringFontSize(String word, String changePart, int size) {
        char[] c = changePart.toCharArray();
        SpannableStringBuilder style = new SpannableStringBuilder(word);
        if(c.length != 0) {
            int lastIndex = c.length - 1;
            int start = word.indexOf(c[0]);
            int end = start + lastIndex + 1;
            style.setSpan(new TextAppearanceSpan((String)null, 0, size, (ColorStateList)null, (ColorStateList)null), start, end, 33);
            return style;
        } else {
            return style;
        }
    }

    public static void showNetErrorToast(Context context) {
        if(context != null) {
            Toast.makeText(context, "网络连接异常", 0).show();
        }

    }

    public static void showDataErrorToast(Context context) {
        Toast.makeText(context, "数据解析出错", 0).show();
    }

    public static void showNoDataErrorToast(Context context) {
        Toast.makeText(context, "没有数据", 0).show();
    }

    public static void showLastPageToast(Context context) {
        Toast.makeText(context, "没有更多数据了", 0).show();
    }

    public static void showNoFunctionToast(Context context) {
        Toast.makeText(context, "该功能暂未开通,敬请期待", 0).show();
    }

    public static void showShortToast(Context context, String text) {
        Toast.makeText(context, text, 0).show();
    }

    public static void stopTooMuchClick() {
        if(System.currentTimeMillis() - lastClick > 1000L) {
            lastClick = System.currentTimeMillis();
        }
    }

    public static boolean isNumeric(String str) {
        Pattern pattern = Pattern.compile("[0-9]*");
        return pattern.matcher(str).matches();
    }

    public static String TimestampToDate(String time, String dateFormat) {
        if(isNumeric(time) && !time.equals("")) {
            int length = time.length();
            if(length == 13) {
                time = time.substring(0, 10);
            }

            long timeI = (long)Integer.parseInt(time);
            long temp = timeI * 1000L;
            Timestamp ts = new Timestamp(temp);
            Object date = new Date();

            try {
                date = ts;
            } catch (Exception var11) {
                var11.printStackTrace();
            }

            SimpleDateFormat formatter = new SimpleDateFormat(dateFormat);
            String dateString = formatter.format((Date)date);
            return dateString;
        } else {
            return time;
        }
    }

    public static long dataToTime(String time, String dateFormat) {
        SimpleDateFormat sdr = new SimpleDateFormat(dateFormat, Locale.CHINA);

        try {
            Date e = sdr.parse(time);
            long l = e.getTime();
            return l;
        } catch (Exception var6) {
            var6.printStackTrace();
            return 0L;
        }
    }

    public static String changeNullToEmpty(String nullString) {
        return nullString.equals("null")?"":nullString;
    }

    public static String changeNullToZero(String nullString) {
        return nullString.equals("null")?"0":nullString;
    }

    public static void telNumber(Context context, String phone) {
        Intent intent = new Intent();
        intent.setAction("android.intent.action.CALL");
        intent.addCategory("android.intent.category.DEFAULT");
        intent.setData(Uri.parse("tel:" + phone));
        intent.setFlags(268435456);
        context.startActivity(intent);
    }

    public static void showSoftKeyboard(EditText edit, Context context) {
        InputMethodManager imm = (InputMethodManager)context.getSystemService("input_method");
        if(imm.isActive()) {
            imm.toggleSoftInput(0, 2);
        } else {
            imm.hideSoftInputFromWindow(edit.getApplicationWindowToken(), 0);
        }

    }

    public static String getCurrentActivityName(Context context) {
        ActivityManager am = (ActivityManager)context.getSystemService("activity");
        List taskInfo = am.getRunningTasks(1);
        ComponentName componentInfo = ((RunningTaskInfo)taskInfo.get(0)).topActivity;
        return componentInfo.getClassName();
    }

    public static void jumpActivity(Context context, Class<?> toClass) {
        Intent intent = new Intent(context, toClass);
        intent.setFlags(268435456);
        context.startActivity(intent);
    }

    public static void jumpActivity(Context context, Class<?> toClass, Bundle bundle) {
        Intent intent = new Intent(context, toClass);
        intent.setFlags(268435456);
        intent.putExtra("bundle", bundle);
        context.startActivity(intent);
    }

    public static void jumpActivityForResult(Context context, Class<?> toClass, int requestCode) {
        Intent intent = new Intent(context, toClass);
        ((Activity)context).startActivityForResult(intent, requestCode);
    }

    public static void jumpActivityForResult(Context context, Class<?> toClass, Bundle bundle, int requestCode) {
        Intent intent = new Intent(context, toClass);
        intent.putExtra("bundle", bundle);
        ((Activity)context).startActivityForResult(intent, requestCode);
    }

    public static void loginOut(Context context, Class<?> toClass) {
        Intent intent = new Intent(context, toClass);
        intent.setFlags(268468224);
        ((Activity)context).startActivity(intent);
    }

    public static Bundle getIntentBundle(Activity activity) {
        Bundle bundle = activity.getIntent().getBundleExtra("bundle");
        return bundle;
    }

    public static int getViewMeasureHeight(View view) {
        int w = MeasureSpec.makeMeasureSpec(0, 0);
        int h = MeasureSpec.makeMeasureSpec(0, 0);
        view.measure(w, h);
        int height = view.getMeasuredHeight();
        return height;
    }

    public static int getViewMeasureWidth(View view) {
        int w = MeasureSpec.makeMeasureSpec(0, 0);
        int h = MeasureSpec.makeMeasureSpec(0, 0);
        view.measure(w, h);
        int width = view.getMeasuredWidth();
        return width;
    }

    public static int getViewHeight(View view) {
        int w = MeasureSpec.makeMeasureSpec(0, 0);
        int h = MeasureSpec.makeMeasureSpec(0, 0);
        view.measure(w, h);
        int height = view.getHeight();
        return height;
    }

    public static int getViewWidth(View view) {
        int w = MeasureSpec.makeMeasureSpec(0, 0);
        int h = MeasureSpec.makeMeasureSpec(0, 0);
        view.measure(w, h);
        int width = view.getWidth();
        return width;
    }

    public static int pxToDip(Context context, float pxValue) {
        float scale = context.getResources().getDisplayMetrics().density;
        return (int)(pxValue / scale + 0.5F);
    }

    public static int getScreenWidth(Context context) {
        WindowManager manager = (WindowManager)context.getSystemService("window");
        Display display = manager.getDefaultDisplay();
        int width = display.getWidth();
        return width;
    }

    public static int getScreenHeight(Context context) {
        WindowManager manager = (WindowManager)context.getSystemService("window");
        Display display = manager.getDefaultDisplay();
        int height = display.getHeight();
        return height;
    }

    public static String getAppVerson(Context context) {
        PackageInfo info = null;
        PackageManager manager = context.getPackageManager();

        try {
            info = manager.getPackageInfo(context.getPackageName(), 0);
            String e = info.versionName;
            return e;
        } catch (NameNotFoundException var4) {
            var4.printStackTrace();
            return "";
        }
    }

    public static int getAppVersonCode(Context context) {
        PackageInfo info = null;
        PackageManager manager = context.getPackageManager();

        try {
            info = manager.getPackageInfo(context.getPackageName(), 0);
            int e = info.versionCode;
            return e;
        } catch (NameNotFoundException var4) {
            var4.printStackTrace();
            return 1;
        }
    }

    public static void hideSoftKeyboard(Activity activity) {
        InputMethodManager inputMethodManager = (InputMethodManager)activity.getSystemService("input_method");
        if(inputMethodManager != null) {
            View localView = activity.getCurrentFocus();
            if(localView != null && localView.getWindowToken() != null) {
                IBinder windowToken = localView.getWindowToken();
                inputMethodManager.hideSoftInputFromWindow(windowToken, 0);
            }
        }

    }

    public static String stringToMD5(String string) {
        byte[] hash;
        try {
            hash = MessageDigest.getInstance("MD5").digest(string.getBytes("UTF-8"));
        } catch (NoSuchAlgorithmException var7) {
            var7.printStackTrace();
            return null;
        } catch (UnsupportedEncodingException var8) {
            var8.printStackTrace();
            return null;
        }

        StringBuilder hex = new StringBuilder(hash.length * 2);
        byte[] var6 = hash;
        int var5 = hash.length;

        for(int var4 = 0; var4 < var5; ++var4) {
            byte b = var6[var4];
            if((b & 255) < 16) {
                hex.append("0");
            }

            hex.append(Integer.toHexString(b & 255));
        }

        return hex.toString();
    }

    public static String stayPoint(float number, int stayNumber) {
        NumberFormat ddf1 = NumberFormat.getNumberInstance();
        ddf1.setMaximumFractionDigits(stayNumber);
        String s = ddf1.format((double)number);
        return s;
    }

    public static void sendMessage(Context context, String phone) {
        Uri uri = Uri.parse("smsto:" + phone);
        Intent intent = new Intent("android.intent.action.SENDTO", uri);
        intent.putExtra("sms_body", "");
        context.startActivity(intent);
    }

    public static int getRandomNumber(int maxValue, int minValue) {
        int random = (int)((double)minValue + Math.random() * (double)(maxValue - minValue + 1));
        return random;
    }

    public static void showPrintMsg(String title, String msg) {
        if(isShowPrintMsg) {
            Log.d("showPrintMsg", title + "=" + msg);
        }

    }

    public static void showPrintMsg(String msg) {
        if(isShowPrintMsg) {
            Log.d("showPrintMsg", msg);
        }

    }

    public static String getWeekday(int year, int monthOfYear, int dayOfMonth) {
        int y = year - 1;
        byte c = 20;
        int d = dayOfMonth + 12;
        int w = (y + y / 4 + c / 4 - 2 * c + 26 * (monthOfYear + 1) / 10 + d - 1) % 7;
        String myWeek = null;
        switch(w) {
        case 0:
            myWeek = "日";
            break;
        case 1:
            myWeek = "一";
            break;
        case 2:
            myWeek = "二";
            break;
        case 3:
            myWeek = "三";
            break;
        case 4:
            myWeek = "四";
            break;
        case 5:
            myWeek = "五";
            break;
        case 6:
            myWeek = "六";
        }

        return myWeek;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值