分享一些实用的工具类

来源:互联网 发布:js split 数组 length 编辑:程序博客网 时间:2024/06/07 10:06

GsonUtil

gson解析封装类,支持json串与不同类型的转换

public class GsonUtil {    private static Gson gson = null;    static {        if (gson == null) {            gson = new Gson();        }    }    private GsonUtil() {    }    /**     * 转成Json     *     * @param object     * @return jsonString     */    public static String beanToJson(Object object) {        String jsonString = null;        if (gson != null) {            jsonString = gson.toJson(object);        }        return jsonString;    }    /**     * 转成bean     *     * @param jsonString     * @param cls     * @return t     */    public static <T> T jsonToBean(String jsonString, Class<T> cls) {        T t = null;        if (gson != null) {            t = gson.fromJson(jsonString, cls);        }        return t;    }    /**     * 转成list     *     * @param jsonString     * @param cls     * @return list     */    public static <T> List<T> jsonToList(String jsonString, Class<T> cls) {        List<T> list = null;        if (gson != null) {            list = gson.fromJson(jsonString, new TypeToken<List<T>>() {}.getType());        }        return list;    }    /**     * 转成map     *     * @param jsonString     * @return map     */    public static <T> Map<String, T> jsonToMaps(String jsonString) {        Map<String, T> map = null;        if (gson != null) {            map = gson.fromJson(jsonString, new TypeToken<Map<String, T>>() {            }.getType());        }        return map;    }    /**     * 转成list中有map的     *     * @param jsonString     * @return list     */    public static <T> List<Map<String, T>> jsonToListMaps(String jsonString) {        List<Map<String, T>> list = null;        if (gson != null) {            list = gson.fromJson(jsonString, new TypeToken<List<Map<String, T>>>() {                    }.getType());        }        return list;    }}


JumpIntent

跳转页面工具类,Activity之间跳转的方法

public class JumpIntent {    public final static String REQUEST_CODE = "REQUEST_CODE";    public static void jump(Activity activity, Class<?> cls) {        Intent intent = new Intent(activity, cls);        activity.startActivity(intent);    }    public static void jump(Activity activity, Class<?> cls, Bundle bundle) {        Intent intent = new Intent(activity, cls);        intent.putExtras(bundle);        activity.startActivity(intent);    }    public static void jump(Activity activity, Class<?> cls, boolean isFinish) {        Intent intent = new Intent(activity, cls);        activity.startActivity(intent);        if (isFinish) {            activity.finish();        }    }    public static void jump(Activity activity, Class<?> cls, Bundle bundle,boolean isFinish) {        Intent intent = new Intent(activity, cls);        intent.putExtras(bundle);        activity.startActivity(intent);        if (isFinish) {            activity.finish();        }    }    public static void jump(Activity activity, Class<?> cls, int requestCode) {        Intent intent = new Intent(activity, cls);        intent.putExtra(REQUEST_CODE, requestCode);        activity.startActivityForResult(intent, requestCode);    }    public static void jump(Activity activity, Class<?> cls, Bundle bundle, int requestCode) {        Intent intent = new Intent(activity, cls);        if (bundle != null) {            bundle.putInt(REQUEST_CODE, requestCode);            intent.putExtras(bundle);        }        activity.startActivityForResult(intent, requestCode);    }    public static void jump(Activity activity, Class<?> cls, boolean isFinish, Bundle bundle) {        Intent intent = new Intent(activity, cls);        if (bundle != null) {            intent.putExtras(bundle);        }        activity.startActivity(intent);        if (isFinish) {            activity.finish();        }    }    public static void jump(Activity activity, Class<?> cls, boolean isFinish, int requestCode) {        Intent intent = new Intent(activity, cls);        intent.putExtra(REQUEST_CODE, requestCode);        activity.startActivityForResult(intent, requestCode);        if (isFinish) {            activity.finish();        }    }    public static void jump(Activity activity, Class<?> cls, boolean isFinish, Bundle bundle, int requestCode) {        Intent intent = new Intent(activity, cls);        if (bundle != null) {            bundle.putInt(REQUEST_CODE, requestCode);            intent.putExtras(bundle);        }        activity.startActivityForResult(intent, requestCode);        if (isFinish) {            activity.finish();        }    }    public static void jump(Activity activity, String action) {        Intent intent = new Intent(action);        activity.startActivity(intent);    }    public static void jump(Activity activity, String action, Bundle bundle) {        Intent intent = new Intent(action);        intent.putExtras(bundle);        activity.startActivity(intent);    }    public static void jump(Activity activity, String action, int requestCode) {        Intent intent = new Intent(action);        intent.putExtra(REQUEST_CODE, requestCode);        activity.startActivityForResult(intent, requestCode);    }    public static void jump(Activity activity, String action, Bundle bundle, int requestCode) {        Intent intent = new Intent(action);        bundle.putInt(REQUEST_CODE, requestCode);        intent.putExtras(bundle);        activity.startActivityForResult(intent, requestCode);    }    public static void jump(Activity activity, String action, Uri uri) {        Intent intent = new Intent(action, uri);        activity.startActivity(intent);    }    public static void jump(Activity activity, String action, Uri uri, int requestCode) {        Intent intent = new Intent(action, uri);        intent.putExtra(REQUEST_CODE, requestCode);        activity.startActivityForResult(intent, requestCode);    }}

Md5Util

MD5加密方法

public class Md5Util {    private static char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7',            '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };    public static String getBytesMD5(byte[] bytes) {        try {            // 获得MD5摘要算法的 MessageDigest 对象            MessageDigest mdInst = MessageDigest.getInstance("MD5");            // 使用指定的字节更新摘要            mdInst.update(bytes);            // 获得密文            byte[] md = mdInst.digest();            // 把密文转换成十六进制的字符串形式            int j = md.length;            char str[] = new char[j * 2];            int k = 0;            for (int i = 0; i < j; i++) {                byte byte0 = md[i];                str[k++] = hexDigits[byte0 >>> 4 & 0xf];                str[k++] = hexDigits[byte0 & 0xf];            }            return new String(str);        } catch (Exception e) {            e.printStackTrace();            return null;        }    }    /**     * 返回字符串的32位MD5值     * @param s    字符串     * @return str MD5值     */    public final static String getStringMD5(String s) {        return getBytesMD5(s.getBytes());    }}

TabWithViewPagerUtil

在实现仿头条那种标题栏时,如果采用了TabLayout+ViewPager+Fragment的方式的话就可以用到这个工具类,将添加标题的方法、添加fragment的方法,设置viewpager适配器的方法以及tablayout与viewpager关联的方法做了封装,需要注意的是fragment和fragmentmanager要导v4包

public class TabWithVpUtil {    public static void tabWithViewPager(TabLayout tabLayout, ViewPager viewPager,        final List<Fragment> fragmentList, final List<String> titleList,        FragmentManager fragmentManager){        viewPager.setAdapter(new FragmentPagerAdapter(fragmentManager) {            @Override            public Fragment getItem(int position) {                return fragmentList.get(position);            }            @Override            public int getCount() {                return fragmentList.size();            }            @Override            public CharSequence getPageTitle(int position) {                return titleList.get(position);            }        });        //TabLayout关联ViewPager        tabLayout.setupWithViewPager(viewPager);    }    /**     * 添加头部标题     * @param titleString tablayout中标题名     * @return 返回标题集合     */    public static List<String> addTitle(String... titleString){        String[] title = titleString;        List<String> list = Arrays.asList(title);        return list;    }    /**     * 添加fragment页面     * @param fragments fragment对象     * @return 返回fragment集合     */    public static List<Fragment> addFragment(Fragment... fragments){        Fragment[] m = fragments;        List<Fragment> fragmentList = Arrays.asList(m);        return fragmentList;    }}

ToastUtil

吐司工具类

public class ToastUtil {    private ToastUtil() {        /* cannot be instantiated */        throw new UnsupportedOperationException("cannot be instantiated");    }    //是否打开Toast显示开关    public static boolean isShow = true;    private static Toast sToast;    /**     * 短时间显示Toast     *     * @param context     * @param message     */    public static void showShort(Context context, CharSequence message) {        if (isShow) {            if (sToast != null) {                sToast.cancel();                sToast = null;            }        }        sToast = Toast.makeText(context, message, Toast.LENGTH_SHORT);        sToast.show();    }    /**     * 短时间显示Toast     *     * @param context     * @param message     */    public static void showShort(Context context, int message) {        if (isShow) {            if (sToast != null) {                sToast.cancel();                sToast = null;            }        }        sToast = Toast.makeText(context, message, Toast.LENGTH_SHORT);        sToast.show();    }    /**     * 长时间显示Toast     *     * @param context     * @param message     */    public static void showLong(Context context, CharSequence message) {        if (isShow) {            if (sToast != null) {                sToast.cancel();                sToast = null;            }        }        sToast = Toast.makeText(context, message, Toast.LENGTH_LONG);        sToast.show();    }    /**     * 长时间显示Toast     *     * @param context     * @param message     */    public static void showLong(Context context, int message) {        if (isShow) {            if (sToast != null) {                sToast.cancel();                sToast = null;            }        }        sToast = Toast.makeText(context, message, Toast.LENGTH_LONG);        sToast.show();    }    /**     * 自定义显示Toast时间     *     * @param context     * @param message     * @param duration     */    public static void show(Context context, CharSequence message, int duration) {        if (isShow) {            if (sToast != null) {                sToast.cancel();                sToast = null;            }        }        sToast = Toast.makeText(context, message, duration);        sToast.show();    }    /**     * 自定义显示Toast时间     *     * @param context     * @param message     * @param duration     */    public static void show(Context context, int message, int duration) {        if (isShow) {            if (sToast != null) {                sToast.cancel();                sToast = null;            }        }        sToast = Toast.makeText(context, message, duration);        sToast.show();    }}

如果这些哪处有问题啥的,欢迎大家踊跃评论啊,希望对大家有用处~







原创粉丝点击