【问题标题】:How do I set up AspectJ to log method calls in Android Studio?如何设置 AspectJ 以在 Android Studio 中记录方法调用?
【发布时间】:2014-07-14 12:46:32
【问题描述】:

我正在迈出 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 Eclipse 和这个IntelliJ help page(但不是提到的插件),但我不知所措。我欢迎一份关于如何开始使用 AspectJ(也许还有 jcabi-aspects)的迷你指南。

【问题讨论】:

    标签: android android-studio aspectj aspects jcabi


    【解决方案1】:

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

    对于 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.:你可以使用你最喜欢的网络搜索引擎来找到我刚刚告诉你的内容。

    【讨论】:

    • 然而,Android Studio 中缺少这些插件。所以我有点卡住了。
    • 然后使用 Eclipse 或购买 IDEA Ultimate。
    • 致对我的回答投反对票的人:你为什么这样做? Downvotes 保留给草率、毫无意义的答案,没有任何研究迹象或努力全面回答。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-29
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多