1

我即将启动一个 android 项目,目前正在查看一些来自互联网的示例代码。然而,有时很难分辨哪些类正在处理哪些功能。

所以我开始填充:

Log.d(LogUtils.DEBUG_TAG + getClass().getName(), new Exception().getStackTrace()[0].getMethodName() + " starts.");

到每一个功能。

我只是想知道是否有一种快速的方法可以将此语句自动填充到项目中的每个函数中?

谢谢vm,乔

4

1 回答 1

2

我正在将此代码用于日志。它会自动为您提供有关调用它的类和方法名称的信息。

public static void log(final String msg)
{

    final Throwable t = new Throwable();
    final StackTraceElement[] elements = t.getStackTrace();

    final String callerClassName = elements[1].getFileName();
    final String callerMethodName = elements[1].getMethodName();

   String TAG = "[" + callerClassName + "]";

   Log.d(TAG, "[" + callerMethodName + "] " + msg);

}

这是示例:

log("Hello World");

给你:

[MainActivity.java] [onCreate] Hello World

现在您看到该方法是从MainActivity.java文件中使用onCreate方法调用的。

我只是想知道是否有一种快速的方法可以将此语句自动填充到项目中的每个函数中?

不,您需要手动添加它。但是,您可以在我上面的方法中使用布尔变量来打开/关闭日志。

完整的源代码可以在这里找到。

于 2012-08-20T08:07:01.843 回答