CheckForAllUtils.java

//從http://www.reibang.com/p/fef3307293a5拿來的


package com.demo.czh.judgeutilslibrary;

import android.app.ActivityManager;
import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Environment;
import android.text.TextUtils;

import java.io.File;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * Created by hasee on 2016/9/26.
 */

public class CheckForAllUtils {

    /**
     * 判斷字符串是否為空
     */
    public static boolean isNotNull(String string) {
        if (string != null) {
            return true;
        } else {
            return false;
        }
    }

    /**
     * 判斷字符串是否為空和是否等于""
     */
    public static boolean isNotNull2(String string) {
        if (string != null && !string.equals("")) {
            return true;
        } else {
            return false;
        }
    }

    /*
     *  判斷字符串是否為空和是否等于""和"null"
     */
    public static boolean isNotNullAndOther(String string, String string2) {
        if (string != null && !string.equals(string2)) {
            //不為空且不與string2想等時返回true
            return true;
        } else {
            return false;
        }
    }

    /**
     * 字符串為數(shù)字
     */
    public static boolean isNumber(String number) {
        if (TextUtils.isEmpty(number))
            return false;
        else {
            Pattern p = Pattern.compile("[0-9]*");
            Matcher m = p.matcher(number);
            if (m.matches())
                return true;
            else
                return false;
        }
    }

    /**
     * 帶小數(shù)的數(shù)字
     */
    public static boolean isDecimal(String number) {
        if (TextUtils.isEmpty(number))
            return false;
        else {
            Pattern p = Pattern.compile("^[-+]?[0-9]+(\\.[0-9]+)?$");
            Matcher m = p.matcher(number);
            if (m.matches())
                return true;
            else
                return false;
        }
    }

    /**
     * 字符串為字母
     */
    public static boolean isLetter(String letter) {
        if (TextUtils.isEmpty(letter))
            return false;
        else
            return letter.matches("^[a-zA-Z]*");
    }

    /**
     * 字符串是否含有漢字漢字
     */
    public static boolean hasChinese(String str) {
        if (TextUtils.isEmpty(str))
            return false;
        else {
            String regEx = "[\u4e00-\u9fa5]";
            Pattern p = Pattern.compile(regEx);
            Matcher m = p.matcher(str);
            if (m.find())
                return true;
            else
                return false;
        }
    }


    /**
     * 判斷數(shù)字是奇數(shù)還是偶數(shù)
     */
    public static int isEvenNumbers(String even) {
        if (!TextUtils.isEmpty(even) && isNumber(even)) {
            int i = Integer.parseInt(even);
            if (i % 2 == 0) {
                //偶數(shù)
                return 2;
            } else {
                //奇數(shù)
                return 1;
            }
        } else {
            //不是奇數(shù)也不是偶數(shù)
            return 0;
        }
    }

    /**
     * 判斷字符串是否字母開頭
     */
    public static boolean isLetterBegin(String s) {
        if (TextUtils.isEmpty(s))
            return false;
        else {
            char c = s.charAt(0);
            int i = (int) c;
            if ((i >= 65 && i <= 90) || (i >= 97 && i <= 122)) {
                return true;
            } else {
                return false;
            }
        }
    }

    /**
     * 判斷字符串是否以指定內(nèi)容開頭
     */
    public static boolean startWithMytext(String mytext, String begin) {
        if (TextUtils.isEmpty(mytext) && TextUtils.isEmpty(begin))
            return false;
        else {
            if (mytext.startsWith(begin))
                return true;
            else
                return false;
        }
    }

    /**
     * 判斷字符串是否以指定內(nèi)容結(jié)尾
     */
    public static boolean endWithMytext(String mytext, String end) {
        if (TextUtils.isEmpty(mytext) && TextUtils.isEmpty(end))
            return false;
        else {
            if (mytext.endsWith(end))
                return true;
            else
                return false;
        }
    }

    /**
     * 判斷字符串中是否含有指定內(nèi)容
     */
    public static boolean hasMytext(String string, String mytext) {
        if (TextUtils.isEmpty(string) && TextUtils.isEmpty(mytext))
            return false;
        else {
            if (string.contains(mytext))
                return true;
            else
                return false;
        }
    }


    /**
     * 驗證是否是手機格式
     */
    public static boolean isMobileNO(String mobiles) {
        /*
        移動:134雕薪、135、136列荔、137僻爽、138成畦、139煮落、150、151咱士、157(TD)、158轧钓、159序厉、187、188
        聯(lián)通:130毕箍、131弛房、132、152而柑、155文捶、156、185牺堰、186
        電信:133拄轻、153颅围、180伟葫、189、(1349衛(wèi)通)
        總結(jié)起來就是第一位必定為1院促,第二位必定為3或5或8筏养,其他位置的可以為0-9
        */
        String telRegex = "[1][358]\\d{9}";//"[1]"代表第1位為數(shù)字1,"[358]"代表第二位可以為3常拓、5渐溶、8中的一個,"\\d{9}"代表后面是可以是0~9的數(shù)字弄抬,有9位茎辐。
        if (TextUtils.isEmpty(mobiles)) return false;
        else return mobiles.matches(telRegex);
    }

    /**
     * 驗證是否是郵箱格式格式
     */
    public static boolean isEmailAdd(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);
    }


    /**
     * 1,判斷是否有網(wǎng)絡連接
     *
     * @param context
     * @return
     */
    public static boolean isNetworkConnected(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;
    }


    /**
     * 2.判斷WIFI網(wǎng)絡是否可用
     *
     * @param context
     * @return
     */
    public static boolean isWifiConnected(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;
    }


    /**
     * 3.判斷MOBILE網(wǎng)絡是否可用
     *
     * @param context
     * @return
     */
    public static boolean isMobileConnected(Context context) {
        if (context != null) {
            ConnectivityManager mConnectivityManager = (ConnectivityManager)
                    context
                            .getSystemService(Context.CONNECTIVITY_SERVICE);
            NetworkInfo mMobileNetworkInfo = mConnectivityManager
                    .getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
            if (mMobileNetworkInfo != null) {
                return mMobileNetworkInfo.isAvailable();
            }
        }
        return false;
    }


    /**
     * 判斷網(wǎng)絡類型
     *
     * @param context
     * @return -1:沒有網(wǎng)絡  1:WIFI網(wǎng)絡2:wap網(wǎng)絡3:net網(wǎng)絡
     */
    public static int getNetType(Context context) {
        int netType = -1;
        ConnectivityManager connMgr = (ConnectivityManager) context
                .getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();
        if (networkInfo == null) {
            return netType;
        }
        int nType = networkInfo.getType();
        if (nType == ConnectivityManager.TYPE_MOBILE) {
            if (networkInfo.getExtraInfo().toLowerCase().equals("cmnet")) {
                netType = 3;
            } else {
                netType = 2;
            }
        } else if (nType == ConnectivityManager.TYPE_WIFI) {
            netType = 1;
        }
        return netType;
    }

    /**
     * 判斷當前應用程序處于前臺還是后臺
     */
    public static boolean isBackground(Context context) {
        ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
        List<ActivityManager.RunningAppProcessInfo> appProcesses = activityManager.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;
    }

    /* 用來判斷服務是否運行.
    * @param context
    * @param className 判斷的服務名字
    * @return true 在運行 false 不在運行
    */
    public static boolean isServiceRunning(Context mContext, String className) {
        boolean isRunning = false;
        ActivityManager activityManager = (ActivityManager)
                mContext.getSystemService(Context.ACTIVITY_SERVICE);
        List<ActivityManager.RunningServiceInfo> serviceList
                = activityManager.getRunningServices(30);
        if (!(serviceList.size() > 0)) {
            return false;
        }
        for (int i = 0; i < serviceList.size(); i++) {
            if (serviceList.get(i).service.getClassName().equals(className) == true) {
                isRunning = true;
                break;
            }
        }
        return isRunning;
    }


    /**
     * 判斷apk是否安裝
     */
    public static boolean checkApkExist(Context context, String packageName) {
        if (packageName == null || "".equals(packageName))
            return false;
        try {
            ApplicationInfo info = context.getPackageManager()
                    .getApplicationInfo(packageName,
                            PackageManager.GET_UNINSTALLED_PACKAGES);
            return true;
        } catch (PackageManager.NameNotFoundException e) {
            return false;
        }
    }

    /**
     * 判斷sd卡是否可以用
     */
    public static boolean sdCardExists() {
        if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
            // sd card 可用
            return true;
        } else {
            // 當前不可用
            return false;
        }
    }

    /**
     * 判斷一個文件是否存在
     */
    public static boolean isFileExists(String path) {
        try {
            File f = new File(path);
            if (!f.exists()) {
                return false;
            }
        } catch (Exception e) {
            return false;
        }
        return true;
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子拖陆,更是在濱河造成了極大的恐慌弛槐,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,029評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件依啰,死亡現(xiàn)場離奇詭異乎串,居然都是意外死亡,警方通過查閱死者的電腦和手機速警,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,395評論 3 385
  • 文/潘曉璐 我一進店門叹誉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人闷旧,你說我怎么就攤上這事长豁。” “怎么了忙灼?”我有些...
    開封第一講書人閱讀 157,570評論 0 348
  • 文/不壞的土叔 我叫張陵蕉斜,是天一觀的道長。 經(jīng)常有香客問我缀棍,道長宅此,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,535評論 1 284
  • 正文 為了忘掉前任爬范,我火速辦了婚禮父腕,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘青瀑。我一直安慰自己璧亮,他們只是感情好,可當我...
    茶點故事閱讀 65,650評論 6 386
  • 文/花漫 我一把揭開白布斥难。 她就那樣靜靜地躺著枝嘶,像睡著了一般。 火紅的嫁衣襯著肌膚如雪哑诊。 梳的紋絲不亂的頭發(fā)上群扶,一...
    開封第一講書人閱讀 49,850評論 1 290
  • 那天,我揣著相機與錄音镀裤,去河邊找鬼竞阐。 笑死,一個胖子當著我的面吹牛暑劝,可吹牛的內(nèi)容都是我干的骆莹。 我是一名探鬼主播,決...
    沈念sama閱讀 39,006評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼担猛,長吁一口氣:“原來是場噩夢啊……” “哼幕垦!你這毒婦竟也來了丢氢?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,747評論 0 268
  • 序言:老撾萬榮一對情侶失蹤先改,失蹤者是張志新(化名)和其女友劉穎卖丸,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體盏道,經(jīng)...
    沈念sama閱讀 44,207評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡稍浆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,536評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了猜嘱。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片衅枫。...
    茶點故事閱讀 38,683評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖朗伶,靈堂內(nèi)的尸體忽然破棺而出弦撩,到底是詐尸還是另有隱情,我是刑警寧澤论皆,帶...
    沈念sama閱讀 34,342評論 4 330
  • 正文 年R本政府宣布益楼,位于F島的核電站,受9級特大地震影響点晴,放射性物質(zhì)發(fā)生泄漏感凤。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,964評論 3 315
  • 文/蒙蒙 一粒督、第九天 我趴在偏房一處隱蔽的房頂上張望陪竿。 院中可真熱鬧,春花似錦屠橄、人聲如沸族跛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,772評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽礁哄。三九已至,卻和暖如春溪北,著一層夾襖步出監(jiān)牢的瞬間桐绒,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,004評論 1 266
  • 我被黑心中介騙來泰國打工刻盐, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留掏膏,地道東北人劳翰。 一個月前我還...
    沈念sama閱讀 46,401評論 2 360
  • 正文 我出身青樓敦锌,卻偏偏與公主長得像,于是被迫代替她去往敵國和親佳簸。 傳聞我的和親對象是個殘疾皇子乙墙,可洞房花燭夜當晚...
    茶點故事閱讀 43,566評論 2 349

推薦閱讀更多精彩內(nèi)容

  • 北京時間10月2日,據(jù)《圣何塞水星新聞》報道汉买,昨天勇士與掘金的季前賽開始之前衔峰,4屆最佳防守球員本-華萊士把上賽季的...
    coco9981閱讀 514評論 0 1
  • 聽君一席話,勝讀十年書蛙粘。今晚七點有幸聆聽了作家安寧講述如何把日常生活轉(zhuǎn)化為寫作素材垫卤。 如果說人生是無邊的海岸,寫作...
    筱春閱讀 189評論 0 0
  • 溝通是什么出牧? 溝通是一座橋梁穴肘, 架接你我的思想; 溝通是一根紐帶舔痕, 系緊你我的心靈评抚; 溝通是一捧火焰, 融化矛盾的...
    快樂靈芝閱讀 585評論 14 21
  • 忙碌了一天伯复,感覺有點累慨代。接上孩子,回到家啥也不想動啸如。孩子也說很累鱼响,今天學的技巧展示,由于長時間不練组底,吃了一...
    周佳怡媽媽閱讀 229評論 0 6
  • 1. 介紹: 盡管剛剛安裝好系統(tǒng)丈积,但是軟件卻不一定是最新的,所以需要進行系統(tǒng)更新與升級债鸡; 2. 展示: 3. 切換...
    淡漠丶frozen閱讀 828評論 0 0