Как стать автором
Обновить

Использование отладчика Android Studio по максимуму

Время на прочтение3 мин
Количество просмотров17K
Автор оригинала: Ishan Khanna

Использование отладчика Android Studio по максимуму


Это хитрость, о которой я узнал совсем недавно у Senior Android разработчика в моей компании, и теперь я чувствую себя несчастным, сожалея о времени, которое я провел в ожидании сборки Gradle, чтобы проверить свои изменения при написании Android приложений.


Вот типичный сценарий, который каждый Android разработчик мог бы встретить, по крайней мере, один раз в течение своего жизненного цикла разработки. У вас есть список элементов, которые вы хотите показать в ListView или RecyclerView.


Ниже приведен наш возлюбленный метод onBindViewHolder, который связывает вашу модель с вашими view-компонентами RecyclerView.


@Override
public void onBindViewHolder(ViewHolder holder, final int position) {
    final String name = values.get(position);
    holder.txtHeader.setText(name);
    holder.txtFooter.setText("Footer: " + name);
}

Теперь, допустим, вы захотели изменить цвет текста для каждого третьего элемента в списке. Таким образом, код будет выглядеть примерно так:


@Override
public void onBindViewHolder(ViewHolder holder, final int position) {
    final String name = values.get(position);
    holder.txtHeader.setText(name);
    if (position % 3 == 0) {
       holder.txtHeader.setTextColor(Color.GREEN); 
    }
    holder.txtFooter.setText("Footer: " + name);
}

Затем вы нажмёте Run и дождётесь завершения сборки и увидите ваши изменения, так?


Ожидание завершения сборки


Теперь вы бы подумали, существует ли другой путь для достижения этой же цели?


Deeper Leo


Твой выход, Android Studio! Да, нам не нужен внешний плагин или инструмент для достижения вышеупомянутой задачи и более того, нам даже не придется заново собирать проект. Вы не ослышались, мы обойдёмся без Gradle :) Вот как!


Шаг 1 — Необходимо определить конфигурацию запуска


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


Нажмите Run → Edit Configurations.


Run -> Edit Configurations


В верхнем левом углу диалогового окна щелкните значок «+» и выберите Android App.


Android App


Теперь дайте ему имя, мне нравится называть его Run-Only, но вы можете называть его как угодно.


Выберите модуль, который содержит код вашего приложения, в приведенном ниже скриншоте он называется app.


Важный шаг:


В разделе Installation Options выберите Nothing;
В Launch Options выберите Default Activity;
В разделе Before Launch удалите Gradle-aware Make.


Таким образом, конфигурация должна выглядеть следующим образом:


Конфигурация


Теперь вы можете применить и сохранить эту конфигурацию. Сейчас она должна быть выбрана автоматически. Если нет, то просто выберите её из списка.


Теперь поставьте breakpoint поближе к строке, которую вы хотите проверить. В нашем случае мы разместим ее там, где мы устанавливаем текст.


breakpoint


Щелкните правой кнопкой мыши на breakpoint и снимите флажок Suspend (рус. приостановить).


Как только вы снимете флажок, диалог расширится и покажет больше опций.


Диалог опций


Нам интересен раздел Evaluate and log. Мы напишем там выражение, чтобы проверить изменения в нашем элементе RecyclerView. Нажмите на маленький значок голубого цвета справа от окна ввода Evaluate and log, чтобы развернуть его до более крупного редактора, и добавьте выражение для тестирования, и нажмите Ok, а затем Done.


Evaluate and log


Теперь нажмите на иконку Debug с выбранной конфигурацией Run-Only и посмотрите на эту магию.


Debug


Приложение должно запуститься с вашей Activity по умолчанию, и вы должны увидеть внесенные там изменения. Также, если вы уделяете пристальное внимание IDE, в самом низу вы увидите только одну запускаемую задачу: Launching Activity.


Launching Activity


Хотелось бы услышать ваши впечатления, когда вы опробуете эту хитрость!

Теги:
Хабы:
+16
Комментарии7

Публикации

Истории

Работа

Swift разработчик
30 вакансий
iOS разработчик
22 вакансии

Ближайшие события

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн