分享一些实用的工具类
来源:互联网 发布: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(); }}
如果这些哪处有问题啥的,欢迎大家踊跃评论啊,希望对大家有用处~
阅读全文
0 0
- 分享一些实用的工具类
- 一些实用的工具
- 分享一个实用的String的工具类
- 分享一些实用的Android Studio插件
- Linux下的一些实用的工具
- 一些iOS开发中一些实用的Demo分享
- 一些实用的图标制作工具
- 一些实用的图表制作工具
- 一些解决方案和实用的工具
- Android开发一些实用的工具代码
- 一些实用的工具方法整合
- 分享一些iOS实用Demo
- 分享Android开发的一些工具
- 分享一些实用好玩的网站爱啪啪
- 10款实用+好用的html5开发工具分享
- 分享一个非常实用的代码查看工具
- 分享 xlsx转换json的强大工具(很实用)
- 分享一些开发工具
- 通过HttpURLConnection连接服务器,发送报文,获取服务器报文返回
- Linux企业运维人员最常用150个命令汇总
- HashSet、HashMap
- CAMWorks.For.Solid.Edge.2017.SP2.Win64 1DVD
- python中的pickle模块
- 分享一些实用的工具类
- js生成随机不重复ID
- 将数据写到本地的某个文件夹下
- 第8章 无线AP的实现
- bzoj 3811: 玛里苟斯(期望+线性基)
- java中调用cmd命令
- codeforces 805F
- 唯快不破:TCP/IP详解--TCP传输小数据包效率问题
- C++编程中对缓冲区的理解