Android 通用代码片段

来源:互联网 发布:复古照片软件 编辑:程序博客网 时间:2024/05/24 07:12

1. 判断网络是否可用


 public static boolean isNetworkAvailable() {        Context context = MyApplication.getApplication();        if (context == null) return false;        ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);        NetworkInfo.State wifiState = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();        NetworkInfo.State mobileState = cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();        NetworkInfo.State bluetoothState = null;        if (cm.getNetworkInfo(ConnectivityManager.TYPE_BLUETOOTH) != null) {            bluetoothState = cm.getNetworkInfo(ConnectivityManager.TYPE_BLUETOOTH).getState();        }        NetworkInfo ni = cm.getActiveNetworkInfo();        if (ni != null && ni.getState() == NetworkInfo.State.CONNECTED) {            return true;        }        if (wifiState != null && mobileState != null && NetworkInfo.State.CONNECTED != wifiState && NetworkInfo.State.CONNECTED == mobileState) {            return true;        } else if (wifiState != null && mobileState != null && NetworkInfo.State.CONNECTED == wifiState && NetworkInfo.State.CONNECTED != mobileState) {            return true;        } else if (bluetoothState != null && NetworkInfo.State.CONNECTED == bluetoothState) {            return true;        } else if (wifiState != null && mobileState != null && NetworkInfo.State.CONNECTED != wifiState && NetworkInfo.State.CONNECTED != mobileState) {            return false;        }        return false;    }

2. 判断wifi是否可用


 public static int isWifiAvailable() {        Context context = MyApplication.getApplication();        if (context == null) return NO_CONNECT;        ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);        wifiState = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();        mobileState = cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();        if (wifiState != null && mobileState != null && NetworkInfo.State.CONNECTED != wifiState && NetworkInfo.State.CONNECTED == mobileState) {            return MOBILE_CONNECT;        } else if (wifiState != null && mobileState != null && NetworkInfo.State.CONNECTED == wifiState && NetworkInfo.State.CONNECTED != mobileState) {            return WIFI_CONNECT;        } else if (wifiState != null && mobileState != null && NetworkInfo.State.CONNECTED != wifiState && NetworkInfo.State.CONNECTED != mobileState) {            return NO_CONNECT;        }        return NO_CONNECT;    }

3. 获取App版本名称


public static String getAppVersionName(Context context) {        String versionName = "";        try {            PackageManager pm = context.getPackageManager();            PackageInfo pi = pm.getPackageInfo(context.getPackageName(), 0);            versionName = pi.versionName;            if (VerifyUtil.isEmpty(versionName)) {                versionName = "";            }        } catch (Exception e) {            e.printStackTrace();        }        return versionName;    }

4. Toast的封装


package com.dream.utils;import android.os.Handler;import android.os.Looper;import android.view.Gravity;import android.widget.Toast;import com.dream.MyApplication;/** * Toast 统一处理类 */public class ToastUtil {    private static volatile ToastUtil sToastUtil = null;    private Toast mToast = null;    public void cancelToast() {        if (mToast != null) {            mToast.cancel();        }    }    /**     * 获取实例     *     * @return     */    public static ToastUtil getInstance() {        if (sToastUtil == null) {            synchronized (ToastUtil.class) {                if (sToastUtil == null) {                    sToastUtil = new ToastUtil();                }            }        }        return sToastUtil;    }    protected Handler handler = new Handler(Looper.getMainLooper());    /**     * 显示Toast,多次调用此函数时,Toast显示的时间不会累计,并且显示内容为最后一次调用时传入的内容     * 持续时间默认为short     *     * @param tips 要显示的内容     *             {@link Toast#LENGTH_LONG}     */    public void showToast(final String tips) {        showToast(tips, Toast.LENGTH_SHORT);    }    public void showToast(final int tips) {        showToast(tips, Toast.LENGTH_SHORT);    }    /**     * 显示Toast,多次调用此函数时,Toast显示的时间不会累计,并且显示内容为最后一次调用时传入的内容     *     * @param tips     要显示的内容     * @param duration 持续时间,参见{@link Toast#LENGTH_SHORT}和     *                 {@link Toast#LENGTH_LONG}     */    public void showToast(final String tips, final int duration) {        if (android.text.TextUtils.isEmpty(tips)) {            return;        }        handler.post(new Runnable() {            @Override            public void run() {                mToast = Toast.makeText(MyApplication.getApplication(), tips, duration);                mToast.setGravity(Gravity.CENTER, 0, 0);                mToast.show();            }        });    }    public void showToast(final int tips, final int duration) {        handler.post(new Runnable() {            @Override            public void run() {                mToast = Toast.makeText(MyApplication.getApplication(), tips, duration);                mToast.setGravity(Gravity.CENTER, 0, 0);                mToast.show();            }        });    }}

调用方式:

 1. ToastUtil.getInstance().showToast(R.string.photo_approach_max_size_msg); 2. ToastUtil.getInstance().showToast("Toast test"); 3. ToastUtil.getInstance().showToast(R.string.photo_approach_max_size_msg, Toast.LENGTH_SHORT); 4. ToastUtil.getInstance().showToast("Toast test", Toast.LENGTH_SHORT);



原创粉丝点击