库中的调试模式

时间:2011-10-12 16:01:17

标签: java android

我有一个Android应用程序,在代码中有几个“Log.d”调用,以便跟踪应用程序的事件。 为了启用或禁用调试消息,我调用Log with

 if (MyApp.debug) Log.d("Doing something");

MyApp.debug是我在编译之前更改的最终布尔值。

现在我想将应用程序中的一些类用作另一个应用程序的库,因此我将它们复制到一个新的库项目中。问题是现在在库中我没有MyApp类。

如果库必须打印调试消息,我怎样才能从应用程序中进行类似控制?

提前致谢

2 个答案:

答案 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");

我一直在擦除调试消息,因为它们会使屏幕变得杂乱无章。我保留了信息和错误消息;最终他们可以恢复并在崩溃后被送回。