如何在Android中获取方法名称?

时间:2018-03-25 16:11:20

标签: java android spring

我一直在使用此说明获取当前正在使用的方法的名称。

currentThread().getStackTrace()[1].getMethodName()

当我开发Spring Framework或其他简单的程序时,它工作正常。 但是,它似乎在Android Studio中的工作方式不同。我得到时间而不是方法的名称。

我尝试使用此指令的原因是用于调试。我曾经使用

Log.d(TAG, "Method()");

然而,当我使用它时的问题......我应该每次都输入它的方法名称。因此,要使用相同的指令在所有不同的方法中实现此指令。我发现使用currentTrace()。但是当我在Android Studio上使用它时。我只是得到了geStackTrace'而不是当前的方法名称。

有没有办法正确实现或更好的调试方式?

2 个答案:

答案 0 :(得分:1)

试试这个

StackTraceElement[] stacktraceObj = Thread.currentThread().getStackTrace();
stacktraceObj[1].getMethodName();

如需进一步参考,请查看链接

https://www.badprog.com/android-api-getting-the-current-method-name-with-stacktraceelement

https://developer.android.com/reference/java/lang/Throwable.html#getStackTrace()

答案 1 :(得分:1)

如果每次输入都是问题,请使用日志语句的默认实时模板。

在Windows中使用 cmd + j ctrl + j )并查找 logd < / strong>, logi logw loge

默认情况下,它会打印方法和冒号。您可以在首选项中自定义它。

还有用于创建TAG的 logt