Как настроить AspectJ для регистрации вызовов методов в Android Studio?

Я делаю свои первые шаги в разработке для Android и понимаю такие вещи, как жизненный цикл фрагмента. Я использую методы, для которых в качестве первой строки используются вызовы регистратора, такие как

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

Это прекрасно работает, за исключением того, что добавление этих сообщений в каждый метод довольно громоздко и делает код немного сложным для чтения. Я обнаружил, что с AspectJ и другими инструментами, такими как jcabi-aspect, можно использовать что-то вроде этого:

@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-аспекты).

1 ответ

Подключаемые модули, упомянутые на странице справки IntelliJ, можно легко найти в моей установке IDEA 13:AspectJ плагины в IntelliJ IDEA

Что касается Eclipse, поддержка AspectJ гораздо более зрелая, чем для IDEA, потому что AspectJ сам по себе является проектом Eclipse. Столько, сколько я предпочитаю IDEA для 95% всех моих случаев использования разработки, когда дело доходит до поддержки AspectJ, я использую Eclipse. Там вам нужно установить AspectJ Development Tools (AJDT).

Лучшая идея - настроить проект Maven для Java + AspectJ, так что вы можете создавать его из командной строки или легко импортировать проект Maven как в IDEA, так и в Eclipse. Вы хотите использовать плагин AspectJ Maven для этой цели.

Изучение самого AspectJ возможно через ресурсы официальной документации AspectJ. Там вы найдете "начало работы", "руководство по программированию", "краткий справочник", "идиомы", "подводные камни", "примеры" и другие разделы.

Удачи!

PS: Вы могли бы просто использовать вашу любимую поисковую систему в Интернете, чтобы найти то, что я только что сказал вам.

Другие вопросы по тегам