Обновлено: январь 2020 г.
Android Studio предлагает богатую палитру встроенных инструментов разработки и еще более обширную экосистему плагинов. Первые три статьи этой серии были посвящены установке, настройке, кодированию и запуску простого мобильного приложения с Android Studio. Теперь вы познакомитесь с некоторыми более продвинутыми инструментами: тремя встроенными инструментами и тремя плагинами для отладки и повышения качества и производительности кода вашего приложения для Android.
В этой статье представлены следующие инструменты для Android Studio:
Встроенные средства отладки
Плагины для повышения производительности разработчиков
- ADB Idea [1945] [1945]
- Codota
- Плагин Lombok
Содержание статьи
Ведение журнала и отладка приложений Android
Глючное приложение — верный способ отогнать потенциальных клиентов. Logcat и Debug — это два инструмента, встроенные в Android Studio, которые можно использовать для выявления и исправления ошибок в коде Android.
Ведение журнала Android: Logcat
Вам может не понадобиться или нужен полноценный отладчик для каждого «глючного» сценария. В некоторых случаях достаточно зарегистрировать и исправить значения определенных переменных. Программа Android Studio Logcat идеально подходит для этой задачи.
Logcat — это инструмент командной строки (встроенный в Android Debug Bridge — ADB), который выдает журнал ] системных сообщений, которые могут помочь вам найти и исправить проблемы в вашем коде. Сообщения включают в себя трассировку стека для случая, когда устройство выдает ошибку, и регистрируют сообщения, которые вы намеренно внедрили с помощью класса android.util.Log
. Logcat настолько полезен, что встроен непосредственно в Android Studio, где вы можете получить к нему доступ из меню View или панели инструментов.
Рисунок 1. Окно Logcat показывает список системных сообщений с отметкой даты и времени (нажмите, чтобы увеличить)
Окно Logcat разделено на горизонтальный ряд раскрывающихся списков и других элементов управления, за которыми следует область сообщений. Слева направо элементы управления:
- Раскрывающийся список, идентифицирующий подключенные устройства и эмуляторы. (См. Рис. 1).
- Раскрывающийся список, идентифицирующий установленные пакеты APK на выбранном устройстве.
- Раскрывающийся список уровней ведения журнала:
- Подробно: показать все сообщения.
- Отладка: показать сообщения журнала отладки, которые полезны только во время разработки, а также уровни сообщений ниже в раскрывающемся списке.
- Информация: показать ожидаемые сообщения журнала для регулярного использования, а также уровни сообщений ниже в раскрывающемся списке.
- Warn: показать возможные проблемы, которые еще не являются ошибками, а также уровни сообщений ниже в раскрывающемся списке.
- Ошибка: показать проблемы, которые вызвали ошибки — выданные исключения, а также уровень сообщения подтверждения.
- Утверждение: показать проблемы, которые, по мнению разработчика, никогда не должны возникать.
- Панель поиска, где отображаются только сообщения, содержащие текст, который вы вводите в этот элемент управления.
- Флажок, позволяющий использовать регулярные выражения в строке поиска. Например, в контексте рисунка 1 вы можете указать SystemClock | AlarmManager (т.е. сообщение должно содержать любое слово).
- Раскрывающийся список для фильтрации сообщений, включая следующие параметры:
- Без фильтров (по умолчанию) вызывает появление всех сообщений для выбранного устройства независимо от выбранного пакета APK.
- Показать только выбранное приложение представляет только те сообщения для выбранного пакета APK на выбранном устройстве, которые имеют соответствующий уровень журнала или ниже.
- Редактировать конфигурацию фильтра позволяет создать пользовательский фильтр.
В исходном коде вы можете вставить вызовы различных методов android.util.Log
для регистрации сообщений. Например, вы можете вызвать public static int i (String tag, String msg)
для записи сообщения INFO
-уровня или public static int w (String tag, String msg)
для регистрации сообщения WARN
-уровня.
Для любого метода строка, переданная тегу
определяет источник сообщения (например, метод в который был вызван этот метод регистрации), и строка, переданная msg
идентифицирует регистрируемое сообщение.
В качестве альтернативы, вы можете вызвать System.out
и Методы System.err
print ()
и println ()
. Вызовы методов System.out
выполняют то же самое, что и вызовы log.i ()
; вызовы методов System.err
выполняют то же самое, что и вызовы log.w ()
.
Рисунок 2. Регистрация сообщений в методе onCreate () основного действия примера приложения (нажмите, чтобы увеличить)
На рисунке 2 показаны только сообщения для примера процесса приложения, запущенного на эмулируемом устройстве Nexus 5X. Кроме того, эти сообщения должны содержать onCreate
и приниматься фильтром Показать только выбранное приложение .
Отладка Android: отладка
Использование Logcat для входа в систему и правильный код подходит для очень простых приложений. Для более сложных приложений эта форма отладки может быть утомительной. Вместо этого вам нужно что-то, что позволяет отлаживать исполняемый код приложения. Встроенный в Android Studio инструмент отладки предлагает множество возможностей, включая следующие:
- Выберите устройство, на котором нужно отлаживать приложение.
- Установка точек останова в коде приложения (Java, Kotlin или C / C ++).
- Изучение переменных и оценка выражений во время выполнения.
Есть несколько предварительных условий перед использованием этого инструмента отладки:
- Если ваше приложение содержит исходный код C / C ++, вам необходимо установить LLDB из SDK Manager (см. Рисунок 3). ). К счастью, пример приложения для этой серии ( W2A ) не содержит код C / C ++, поэтому мы можем игнорировать это предварительное условие.
Джефф Фризен
Рисунок 3. Установите флажок LLDB и нажмите OK, чтобы установить LLDB
- Вы должны включить отладку на подключенном устройстве. Однако, если вы используете эмулятор (который мы для этого примера), вы можете игнорировать это предварительное условие. Отладка включена по умолчанию на эмулируемых устройствах.
- Вы должны запустить отладочный вариант сборки. По умолчанию это создано для вас, поэтому во многих случаях (включая этот пример) вам не нужно беспокоиться об этом.
Давайте проведем сеанс быстрой отладки.
Простая отладка Android
Предполагается, что вы работаете в Android Studio с окном редактора для примера приложения ( W2A). java ) open, ваш первый шаг — установить точку останова в строке public void onCreate (Bundle saveInstanceState)
. Установите точку останова, выделив эту строку и выполнив одно из следующих действий:
- Щелкните область желоба слева от линии; линия должна стать розовой в ответ.
- Выберите Точка прерывания линии переключения из меню Выполнить .
- Нажмите Ctrl и F8 одновременно.
Теперь выберите Отладка «app» из меню Run или щелкните соответствующий значок на панели инструментов. Если эмулятор не работает, вы увидите диалоговое окно Select Deployment Target . Я выбрал Nexus 5X API 15 и нажал OK .
Пока вы ждете, пока эмулированное устройство подключится к сети, нажмите Отладка кнопка на панели инструментов для отображения окна Debug . В конце концов вы должны увидеть нечто похожее на рисунок 4.
Рисунок 4. Окно отладки показывает кадры стека, текущие переменные с их текущими значениями и многое другое (нажмите, чтобы увеличить)
Окно Debug предоставляет значки для перехода, входа и выхода из метода и многого другого. На рисунке 5 показано, что происходит, когда мы перешагиваем метод.
Рисунок 5. Вы можете перейти, войти и выйти из метода
Щелкните по соответствующему значку и выберите Step Over из меню Run или нажмите F8 . Это позволяет нам углубиться в метод onCreate ()
при переходе через каждый вызов метода.
Выберите строку с закрывающим }
символом для onCreate ()
затем выберите Run to Cursor . Вы получите уведомление о том, что приложение запущено. После разблокировки устройства вы увидите окно активности примера приложения.
Рисунок 6. Щелкните три верхних значка слева от вкладки «Отладчик», чтобы возобновить, приостановить и остановить приложение соответственно (нажмите, чтобы увеличить)
Проверка кода с помощью Lint
Независимо от того, насколько тщательно вы его напишите, ваш исходный код может содержать ошибки, стилистические проблемы и может ссылаться на ресурсы, которые неактивны по одной причине или еще один. Линтер — это тип инструмента, который сканирует исходный код на наличие этих и других кусков неприятного пуха, о котором сообщает разработчику.
Lint является встроенный линтер для Android SDK. Вы можете использовать его для обнаружения проблем, таких как устаревшие элементы и вызовы API, которые не поддерживаются вашим целевым API.
Чтобы запустить Lint из Android Studio, выберите Проверка кода … из меню Анализ . Это активирует диалоговое окно Указать область проверки .
Рисунок 7. Настройка для проверки всего проекта (нажмите, чтобы увеличить)
В диалоговом окне выберите нужный объем (в данном случае весь проект), затем нажмите OK чтобы начать проверку. Результаты появятся в окне Результаты проверки где они упорядочены по категориям.
Рисунок 8. Не показаны две орфографические ошибки: Lint не нравится 'javajeff' (нажмите, чтобы увеличить)
Верный своей природе, Линт выбрал несколько кусочков пуха, которые в противном случае могли бы загромождать код приложения. После обнаружения легко исправить три предупреждения Java, показанные на рисунке 8: просто объявить androidAnimation
private
и удалить приведения из двух findViewById ()
вызовов метода .
Установка и использование плагинов для Android Studio
Хотя встроенные инструменты имеют свои достоинства, многие другие инструменты доступны в виде плагинов. В этом разделе мы рассмотрим три плагина для повышения производительности вашего кодирования в Android Studio:
- ADB Idea
- Codota
- Плагин Lombok
Менеджер плагинов для Android Studio
Менеджер плагинов для Android Studio позволяет легко находить и устанавливать плагины. Активируйте менеджер плагинов, выбрав Файл > Настройки а затем Плагины из диалогового окна Настройки :
Рисунок 9. Диалоговое окно «Настройки» показывает все установленные плагины (нажмите, чтобы увеличить)
Далее нажмите Просмотр репозиториев … активировать диалоговое окно Browse Repositories в котором представлен полный список поддерживаемых плагинов. Мы будем использовать этот диалог для выбора нашего первого плагина, ADB Idea.
Рисунок 10. На панели справа представлена подробная информация о выбранном плагине (нажмите, чтобы увеличить)
Повышение производительности Android
Сочетания кода: ADB Idea
ADB Idea ускоряет повседневную разработку Android, обеспечивая быструю доступ к часто используемым командам ADB, таким как запуск и удаление приложения.
Выберите ADB Idea в списке плагинов репозитория, затем нажмите кнопку Install . Android Studio приступает к загрузке и установке плагина. Затем он переименовывает Установите в Перезапустите Android Studio . Для каждого плагина мне пришлось повторно выбрать плагин после нажатия . Перезапустить Android Studio а затем нажать эту кнопку еще раз, чтобы перезапустить Android Studio.
Рисунок 11. Установка ADB Idea (нажмите, чтобы увеличить)
После установки Android Studio позволяет получить доступ к ADB Idea из меню Инструменты . Выберите Инструменты> Идея АБР и выберите соответствующую команду в появившемся всплывающем меню.
Рисунок 12. Выберите соответствующую команду ADB из всплывающего меню (нажмите, чтобы увеличить
После выбора приложения перезапуска ADB я наблюдал следующие сообщения в окне Журнал событий а также перезапущенное приложение на моем устройстве Amazon Kindle.
Рисунок 13. Каждое сообщение идентифицирует приложение, операцию и устройство
Поиск полезного кода: Codota
Вы можете использовать плагин Codota для доступа к поисковой системе Codota, которая позволяет просматривать миллионы общедоступных источников Java. фрагменты кода для решения проблем кодирования Android.
Рисунок 14. Установите Codota (нажмите, чтобы увеличить)
Выберите Codota в списке плагинов репозитория, а затем нажмите кнопку Install . После того, как Android Studio загрузит и установит плагин, он переименует кнопку Install в Перезапустите Android Studio . Перезапуск активирует Codota.
После перезапуска вы увидите диалоговое окно Codota Authentication . Нажмите на ссылку и следуйте инструкциям, чтобы получить токен. Затем вставьте токен в указанное диалоговое окно и нажмите Перейти .
Рисунок 15. Введите токен аутентификации и нажмите OK (нажмите, чтобы увеличить)
Android Studio позволяет получить доступ к Codota, щелкнув правой кнопкой мыши код Java в окне редактора и выбрав пункт меню Получить соответствующие примеры как показано на рисунке 16.
Рисунок 16. Нажмите «Получить соответствующие примеры» (нажмите, чтобы увеличить)
Если щелкнуть этот пункт меню, браузер предоставит страницу с соответствующими примерами кода. Например, на следующей странице представлены примеры, относящиеся к findViewById
:
Рисунок 17. Браузер представляет соответствующие примеры для выделенного текста findViewById (нажмите, чтобы увеличить)
Автогенерация кода Java: Lombok
Проект Lombok предлагает набор аннотаций, которые можно использовать вместо стандартного кода, что экономит ваше время на написание этого код от руки.
Рисунок 18. Нажмите «Установить», чтобы установить плагин Lombok (нажмите, чтобы увеличить)