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

Java 如何在Android中获取方法名?,java,android,spring,Java,Android,Spring,我一直在使用此指令获取当前正在使用的方法的名称 currentThread().getStackTrace()[1].getMethodName() 当我开发Spring框架或其他简单程序时,它工作得很好。 然而,它在Android Studio中的工作方式似乎有所不同。我得到的是时间而不是方法的名称 我尝试使用此指令的原因是为了调试。我以前用过 Log.d(TAG, "Method()"); 然而,当我使用这个的时候,问题是。。。我应该键入每个方法的名称。因此,要用相同的指令在所有不同的方

我一直在使用此指令获取当前正在使用的方法的名称

currentThread().getStackTrace()[1].getMethodName()
当我开发Spring框架或其他简单程序时,它工作得很好。 然而,它在Android Studio中的工作方式似乎有所不同。我得到的是时间而不是方法的名称

我尝试使用此指令的原因是为了调试。我以前用过

Log.d(TAG, "Method()");
然而,当我使用这个的时候,问题是。。。我应该键入每个方法的名称。因此,要用相同的指令在所有不同的方法中实现此指令。我是使用currentTrace()发现的。但是当我在Android Studio上使用这个时。我只得到“geStackTrace”而不是当前的方法名

有什么方法可以正确地实现它,或者有更好的调试方法吗?

试试这个

StackTraceElement[] stacktraceObj = Thread.currentThread().getStackTrace();
stacktraceObj[1].getMethodName();
如需进一步参考,请查看链接

试试这个

StackTraceElement[] stacktraceObj = Thread.currentThread().getStackTrace();
stacktraceObj[1].getMethodName();
如需进一步参考,请查看链接


如果每次都要键入日志,请使用默认的日志语句实时模板

使用cmd+j(windows中的ctrl+j)并查找logdlogilogwloge

默认情况下,它打印方法和冒号。您可以在“首选项”中对其进行自定义


还有用于创建标记的logt

如果每次都要键入,请使用日志语句的默认实时模板

使用cmd+j(windows中的ctrl+j)并查找logdlogilogwloge

默认情况下,它打印方法和冒号。您可以在“首选项”中对其进行自定义


还有用于创建标签的logt

这正是OP发布的代码,上面说的代码不起作用<代码>currentThread().getStackTrace()[1].getMethodName()我已经用过了。这在Android Studio上不起作用。这就是我问的原因。我还没有找到正确的方法。这正是OP发布的代码,上面说的代码不起作用<代码>currentThread().getStackTrace()[1].getMethodName()我已经用过了。这在Android Studio上不起作用。这就是我问的原因。我还没有找到正确的方法。我已经知道这类事情了。然而,我的问题是从更大的角度考虑的。在我的例子中,我把
Log.d(TAG,method+msg)
。但是对于
标记
,一旦我在字段中声明了它,我就可以在类中的任何地方甚至在其他类中继续使用它。但是对于方法名来说,这是一种麻烦。我不需要更改消息,我只需要复制并粘贴到Eclipse中的每个方法中。它完成了所有工作:
System.out.println(标记,currentThread().getStackTrace()[1].getMethodName()+“()=”这非常简单。我正试图找到一种在Android Studio上实现这一点的方法。我已经知道这类事情了。然而,我的问题是从更大的角度考虑的。在我的例子中,我把
Log.d(TAG,method+msg)
。但是对于
标记
,一旦我在字段中声明了它,我就可以在类中的任何地方甚至在其他类中继续使用它。但是对于方法名来说,这是一种麻烦。我不需要更改消息,我只需要复制并粘贴到Eclipse中的每个方法中。它完成了所有工作:
System.out.println(标记,currentThread().getStackTrace()[1].getMethodName()+“()=”这非常简单。我正试图找到一种在Android Studio上实现这一点的方法。