Android : 开发时必不可缺的工具类(拿走不谢)

activity跳转工具类的封装:

/**
* Activity 跳转工具类
*/
public class StartActivityUtil {


public StartActivityUtil() {
throw new UnsupportedOperationException("ActivitySkipUtil不能实例化");
}

/**
* 功能描述:简单地 Activity 的跳转(不携带任何数据)
*
* @param activity 发起跳转的 Activity 实例
* @param cls 目标 Activity 实例
*/
public static void skipAnotherActivity(Activity activity,
Class<? extends Activity> cls) {
Intent intent = new Intent(activity, cls);
activity.startActivity(intent);
activity.finish();
}

/**
* 功能描述:带数据的 Activity 之间的跳转
*
* @param activity 发起跳转的 Activity 实例
* @param cls 目标 Activity 实例
* @param hashMap 传递的数据
*/
public static void skipAnotherActivity(Activity activity,
Class<? extends Activity> cls,
HashMap<String, ? extends Object> hashMap) {
Intent intent = new Intent(activity, cls);
Iterator<?> iterator = hashMap.entrySet().iterator();
while (iterator.hasNext()) {
@SuppressWarnings("unchecked")
Map.Entry<String, Object> entry = (Map.Entry<String, Object>) iterator
.next();
String key = entry.getKey();
Object value = entry.getValue();
if (value instanceof String) {
intent.putExtra(key, (String) value);
}
if (value instanceof Boolean) {
intent.putExtra(key, (boolean) value);
}
if (value instanceof Integer) {
intent.putExtra(key, (int) value);
}
if (value instanceof Float) {
intent.putExtra(key, (float) value);
}
if (value instanceof Double) {
intent.putExtra(key, (double) value);
}
}
activity.startActivity(intent);
}
}

Toast工具类:

public class DeafultToast {

    private static Context context = MineAppliction.getAppContext();
    private static Toast toast;

    public static void show(int resId) {
        show(context.getResources().getText(resId), Toast.LENGTH_SHORT);
    }

    public static void show(int resId, int duration) {
        show(context.getResources().getText(resId), duration);
    }

    public static void show(CharSequence text) {
        show(text, Toast.LENGTH_SHORT);
    }

    /*public static void showDebug(CharSequence text) {
        if (BuildConfig.DEBUG) {
            show(text, Toast.LENGTH_SHORT);
        }
    }*/

    public static void show(CharSequence text, int duration) {
        text = TextUtils.isEmpty(text == null ? "" : text.toString()) ? "请检查您的网络!"
                : text;
        if (toast == null) {
            toast = Toast.makeText(context, text, duration);
        } else {
            toast.setText(text);
        }
        toast.show();
    }

    public static void show(int resId, Object... args) {
        show(String.format(context.getResources().getString(resId), args),
                Toast.LENGTH_SHORT);
    }

    public static void show(String format, Object... args) {
        show(String.format(format, args), Toast.LENGTH_SHORT);
    }

    public static void show(int resId, int duration, Object... args) {
        show(String.format(context.getResources().getString(resId), args),
                duration);
    }

    public static void show(String format, int duration, Object... args) {
        show(String.format(format, args), duration);
    }
}

打印日志工具类:

/**
 * Created by Sun on 2018/7/11.
 * <p>
 * 日志打印
 */

public class LogUtil {

    public static String tagPrefix = "";
    public static boolean showV = true;
    public static boolean showD = true;
    public static boolean showI = true;
    public static boolean showW = true;
    public static boolean showE = true;
    public static boolean showWTF = true;

    /**
     * 得到tag(所在类.方法(L:行))
     *
     * @return
     */
    private static String generateTag() {
        StackTraceElement stackTraceElement = Thread.currentThread().getStackTrace()[4];
        String callerClazzName = stackTraceElement.getClassName();
        callerClazzName = callerClazzName.substring(callerClazzName.lastIndexOf(".") + 1);
        String tag = "%s.%s(L:%d)";
        tag = String.format(tag, new Object[]{callerClazzName, stackTraceElement.getMethodName(), Integer.valueOf(stackTraceElement.getLineNumber())});
        //给tag设置前缀
        tag = TextUtils.isEmpty(tagPrefix) ? tag : tagPrefix + ":" + tag;
        return tag;
    }

    public static void v(String msg) {
        if (showV) {
            String tag = generateTag();
            Log.v(tag, msg);
        }
    }

    public static void v(String msg, Throwable tr) {
        if (showV) {
            String tag = generateTag();
            Log.v(tag, msg, tr);
        }
    }

    public static void d(String msg) {
        if (showD) {
            String tag = generateTag();
            Log.d(tag, msg);
        }
    }

    public static void d(String msg, Throwable tr) {
        if (showD) {
            String tag = generateTag();
            Log.d(tag, msg, tr);
        }
    }

    public static void i(String msg) {
        if (showI) {
            String tag = generateTag();
            Log.i(tag, msg);
        }
    }

    public static void i(String msg, Throwable tr) {
        if (showI) {
            String tag = generateTag();
            Log.i(tag, msg, tr);
        }
    }

    public static void w(String msg) {
        if (showW) {
            String tag = generateTag();
            Log.w(tag, msg);
        }
    }

    public static void w(String msg, Throwable tr) {
        if (showW) {
            String tag = generateTag();
            Log.w(tag, msg, tr);
        }
    }

    public static void e(String msg) {
        if (showE) {
            String tag = generateTag();
            Log.e(tag, msg);
        }
    }

    public static void e(String msg, Throwable tr) {
        if (showE) {
            String tag = generateTag();
            Log.e(tag, msg, tr);
        }
    }

    public static void wtf(String msg) {
        if (showWTF) {
            String tag = generateTag();
            Log.wtf(tag, msg);
        }
    }

    public static void wtf(String msg, Throwable tr) {
        if (showWTF) {
            String tag = generateTag();
            Log.wtf(tag, msg, tr);
        }
    }
}

SP工具类:

public class SPUtil {
    private static final String SHARE_NAME = "com_xiaosi_OldMan";
    private static SharedPreferences sp;

    //单例
    private static SharedPreferences getInstance(Context context) {
        if (context == null) return null;
        if (sp == null) {
            sp = context.getSharedPreferences(SHARE_NAME, Context.MODE_PRIVATE);
        }
        return sp;
    }

    //获取字符串
    public static String getFormKey(Context context, String key) {
        if (key == null || getInstance(context) == null) return "";
        return getInstance(context).getString(key, "");
    }

    //获取boolean值
    public static boolean getBooleanFromKey(Context context, String key) {
        if (key == null || getInstance(context) == null) return false;
        return getInstance(context).getBoolean(key, false);
    }

    //设置字符串
    public static boolean setValue(Context context, String key, String value) {
        if (getInstance(context) == null) return false;
        return getInstance(context).edit().putString(key, value).commit();
    }

    //设置boolean值
    public static boolean setBooleanValue(Context context, String key, boolean value) {
        if (getInstance(context) == null) return false;
        return getInstance(context).edit().putBoolean(key, value).commit();
    }

    //清空
    public static void clear(Context context) {
        if (getInstance(context) == null) return;
        getInstance(context).edit().clear().commit();
    }

    public static boolean setIntValue(Context context, String key, int value) {
        if (getInstance(context) == null) return false;
        return getInstance(context).edit().putInt(key, value).commit();
    }

    public static int getIntValue(Context context, String key) {
        if (key == null || getInstance(context) == null) return 0;
        return getInstance(context).getInt(key, 0);
    }

    public static boolean setLongValue(Context context, String key, long value) {
        if (getInstance(context) == null) return false;
        return getInstance(context).edit().putLong(key, value).commit();
    }

    public static long getLongValue(Context context, String key) {
        if (key == null || getInstance(context) == null) return 0;
        return getInstance(context).getLong(key, 0);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值