如何在Android Studio中设置AspectJ来记录方法调用?

时间:2014-07-14 12:46:32

标签: android android-studio aspectj aspects jcabi

我在Android开发中迈出了第一步,并且了解了像片段生命周期这样的事情我使用的方法是将记录器作为第一行调用,例如

@Override
public void onCreate(Bundle savedInstanceState) {
    logger.debug("> onCreate(" + savedInstanceState + ")");
    ...
}

工作正常,除了将这些消息添加到每个方法相当麻烦,它使代码有点难以阅读。我发现使用AspectJ和其他工具(例如jcabi-aspects)可以使用类似的内容:

@Loggable(Loggable.DEBUG)
public String load(URL url) {
    return url.openConnection().getContent();
}

会打印:

[DEBUG] #load('http://www.google.com'): returned "<html ..." in 23ms

这听起来很酷,但如何将此功能添加到Android Studio?我可以找到a guide for EclipseIntelliJ help page(但不是上面提到的插件),而且我很遗憾。我欢迎一本关于如何开始使用AspectJ(以及jcabi-aspects)的迷你指南。

1 个答案:

答案 0 :(得分:1)

在我的IDEA 13安装中可以轻松找到IntelliJ帮助页面上提到的插件: AspectJ plug-ins in IntelliJ IDEA

至于Eclipse,AspectJ支持比IDEA更成熟,因为AspectJ本身就是一个Eclipse项目。至于95%的开发用例,我更喜欢IDEA,当谈到AspectJ支持时,我使用Eclipse。在那里,您需要安装AspectJ Development Tools (AJDT)

最好的想法是为您的Java + AspectJ努力设置一个Maven项目,这样您就可以通过命令行构建或轻松地将Maven项目导入到IDEA和Eclipse中。您希望将AspectJ Maven Plugin用于此目的。

通过官方AspectJ documentation上的资源可以学习AspectJ本身。在那里你会找到“入门”,“编程指南”,“快速参考”,“成语”,“陷阱”,“例子”和其他部分。

祝你好运!

P.S。:您可以使用自己喜欢的网络搜索引擎找到我刚刚告诉你的内容。