Log类的设计
正式代码设计之前我们先考虑一下日志类的使用。
日志主要用在调试app 一些复杂的业务流程,借助log 可以很容易找到问题所在
因为android.util.Log 定义为final类(不可继承) 所以我采用组合的方式才重写一个可以控制开关的日志工具类。考虑到Log应用的广泛性,所以定义为static,生命周期为全局
public class Log {
/**
* 日志的开关, false 表示不打印日志
*/
private static boolean open = false;
public static boolean isOpen() {
return open;
}
public static void setOpen(boolean open) {
Log.open = open;
}
Log的开关控制,一般在app初始化的地方设置。后续再讨论
public static void d(String tag, String msg){
if(open == false){
return; // 不打印日志
}
android.util.Log.d(tag,msg);
}
其中tag和msg 考虑到传入的参数需要频繁转型
比如说像打印一个int型的变量值。这时候会很不方便。同理其他非String类型的都需要转化为String 。
因为优化一下当前方法
public static voidd(Object tag, Obje