我有一个Android应用程序,在代码中有几个“Log.d”调用,以便跟踪应用程序的事件。 为了启用或禁用调试消息,我调用Log with
if (MyApp.debug) Log.d("Doing something");
MyApp.debug是我在编译之前更改的最终布尔值。
现在我想将应用程序中的一些类用作另一个应用程序的库,因此我将它们复制到一个新的库项目中。问题是现在在库中我没有MyApp类。
如果库必须打印调试消息,我怎样才能从应用程序中进行类似控制?
提前致谢
答案 0 :(得分:1)
我建议将变量放在名为Log
的静态类中,然后您可以在运行时检查静态布尔变量以确定它是否应该记录。
这样,你仍然有方便,但它都包含在记录器中。
例如:
public class Log {
public static boolean mustLog = false;
// methods etc.
}
然后,在您的应用中,只需使用if(Log.mustLog) ...
希望有所帮助。
答案 1 :(得分:0)
您可以在库中创建不同的自定义类
public Class LogPrefs
{
public static final boolean enabled = true;
}
并根据需要将其设置为开启和关闭。然后只是
if (LogPrefs.enabled) Log.d("Doing something");
我一直在擦除调试消息,因为它们会使屏幕变得杂乱无章。我保留了信息和错误消息;最终他们可以恢复并在崩溃后被送回。