3

私は 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 に追加するにはどうすればよいでしょうか? Eclipse のガイドとこのIntelliJ ヘルプ ページを見つけることができました(ただし、言及されたプラグインは見つかりませんでした)。AspectJ (およびおそらく jcabi-aspects) を使い始める方法についてのミニガイドを歓迎します。

4

1 に答える 1

1

IntelliJ ヘルプ ページに記載されているプラ​​グインは、私の IDEA 13 インストールで簡単に見つけることができます。 IntelliJ IDEA の AspectJ プラグイン

Eclipse に関しては、AspectJ 自体が Eclipse プロジェクトであるため、AspectJ のサポートは IDEA よりもはるかに成熟しています。私はすべての開発ユースケースの 95% で IDEA を好みますが、AspectJ のサポートに関しては Eclipse を使用しています。そこにAspectJ Development Tools (AJDT)をインストールする必要があります。

最良のアイデアは、Java + AspectJ の取り組みのために Maven プロジェクトをセットアップすることです。これにより、コマンド ラインを介してビルドしたり、Maven プロジェクトを IDEA と Eclipse の両方に簡単にインポートしたりできます。そのためにAspectJ Maven Pluginを使用したいと考えています。

AspectJ 自体の学習は、 AspectJ の公式ドキュメントのリソースを介して行うことができます。そこには、「はじめに」、「プログラミング ガイド」、「クイック リファレンス」、「イディオム」、「落とし穴」、「例」などのセクションがあります。

幸運を!

PS: お気に入りの Web 検索エンジンを使用して、私が今言ったことを見つけることができたはずです。

于 2014-07-23T10:17:48.477 に答える