- Редактор кода
- Инъекция языка
- Перемещаем метод вверх или вниз
- Сворачиваем фрагменты кода
- Редактор кода для XML в режиме Text
- [I18N] Hardcoded string
- Вкладки
- Строка состояния
- Информационный желоб
- Анализ кода
- Автодополнение кода
- Перевод на новую строку
- Методы лечения различных ошибок в Android Studio при разработке проекта
- 50 советов, хитростей и ссылок для Android Studio и Intellij IDEA
- Визуальные
- 1. Цветовая схема в material-цветах для консоли
- 2. Предотвращение очистки консоли при падении приложения
- 3. Устанавливаем правильное оформление кода для Android Studio/IntelliJ IDE
- 4. Используйте split screen, чтобы повысить продуктивность
- 5. Отвлеченный режим
- 6. Использование живых шаблонов
- Горячие клавиши и полезные команды
- 1. Лучшая команда – Search for command
- 2. Поиск последних действий в буфере copy/paste
- 3. Активация мультикурсора
- 4. Открыть класс
- 5. Открыть файл
- 6. Поиск по символу
- 7. Переход к реализации
- 8. Переход к объявлению
- 9. Переход к объявлению типа
- 10. Go to super
- 11. Переключение между вкладками
- 12. Переключение между вкладками Design/Text
- 13. Закрыть текущую вкладку
- 14. Скрыть все окна
- 15. Свернуть экземпляр Android Studio
- 16. Форматировать код
- 17. Автоматический отступ для строк
- 18. Реализация методов
- 19. Умное автодополнение
- 20. Поиск
- 21. Найти и заменить
- 22. Перемещение строк из кода в ресурсы
- 23. Сборка и запуск проекта
- Плагины для Android Studio и Intellij IDEA
Редактор кода
Рассмотрим возможности редактора кода при написании приложений.
Инъекция языка
Студия позволяет делать инъекцию в существующий код. Что это такое? Например, JSON имеет свой формат данных. Если писать код вручную в данном формате, то можно столкнуться с неудобствами — вам приходится экранировать символы в большом фрагменте кода. Студия поможет нам. Создадим переменную jsonString:
Помещаем курсор между кавычками и нажимаем комбинацию Alt + Enter , выбираем пункт Inject language or reference, в выпадающем списке выбираем JSON (JSON files).
Далее следует ещё раз нажать комбинацию Alt + Enter , чтобы инъекция была постоянной. Студия добавит комментарий к переменной.
Если вы скопируете текст в формате JSON и вставите его между кавычками, то экранирование произойдёт автоматически.
Сам текст не обязательно копировать из другого источника, можете создавать JSON-запись в самой студии. Снова нажимаем Alt + Enter и выбираем пункт Edit JSON Fragment. Появится новая панель, в котором вы можете набирать текст, а в редакторе кода будет выводиться валидный код для работы.
Аналогично можно работать с регулярным выражением.
Перемещаем метод вверх или вниз
Иногда хочется для лучшей читаемости поменять местами методы в коде. Вырезать и вставлять в новое место слишком утомительно. Есть способ лучше. Установите указатель мыши на имени метода и нажмите комбинацию Ctrl+Shift+Стрелка_Вверх — метод автоматически перепрыгнет через метод над собой. Как переместить вниз вы сами догадаетесь.
Сворачиваем фрагменты кода
Студия умеет сворачивать фрагменты кода, которые являются структурной единицей, например, метод. Щёлкнув по фиговине (как это называется?), вы убираете код, чтобы не мозолил вам глаза.
Но мало кто знает, что свернуть можно любой свой код. Для этого ставим два слеша, как в комментариях, а затем добавляем слово region (без пробела) и через пробел название блока. Это будет началом блока. Конец блока обозначаем через //endregion
Теперь отмеченный блок можно сворачивать. Наведите порядок у себя в коде.
Редактор кода для XML в режиме Text
[I18N] Hardcoded string
Когда вы редактируете код разметки экрана активности, то можете встретить предупреждение [I18N] Hardcoded string «Какой-то ваш текст», should use @string resource.
Студия информирует вас о возможной проблеме, если вы в будущем задумаетесь о локализации приложения. Странное выражение I18N переводится очень просто. Здесь зашифровано слово INTERNATIONALIZATION — первая буква I, последняя буква N и восемнадцать букв между ними.
Вам нужно заменить свой жёстко закодированный текст на строковый ресурс. Установите курсор внутри текста, нажмите комбинацию клавиш Alt+Enter и выберите пункт Extract string resource. Далее в диалоговом окне придумываете имя для ресурса и выбираете файл для хранения (обычно, strings.xml).
Предположим, вы заменили везде текст на строковые ресурсы и решили отредактировать текст у кнопки. Снова ставим курсор на нужном тексте и нажимаем комбинацию клавиш Ctrl+B, у вас сразу откроется файл strings.xml и не надо его искать в дереве проекта.
Ещё один приём — если вы хотите видеть вместо кода android:text=»@string/click» реальный текст из ресурса, то нажмите комбинацию Ctrl+- (клавиша минус на цифровой клавиатуре) и он подтянется.
Вкладки
Каждый файл проекта открывается в собственной вкладке. Вкладки можно менять местами перетаскиванием с помощью мыши. Переключаться можно через клавиши Alt-стрелка влево и Alt-стрелка вправо. Также можно вызвать Switcher с помощью комбинации Ctrl+Tab.
Если будет открыто слишком много вкладок, то часть из них сгруппируется и будет доступна через выпадающий список по нажатию на треугольник.
Если имя файла на вкладке подчёркнуто красной волнистой линией, значит в коде содержится ошибка и не нужно запускать программы, то время потеряете. Сначала исправьте ошибку.
Вкладку можно «отстегнуть». Нажмите на вкладку и удерживая мышку, перетащите вкладку на рабочий стол. Также её можно вернуть обратно.
Каждая вкладка имеет контекстное меню и значок для закрытия. Изучите пункты меню самостоятельно. Например, можно разбить редактор кода на две части (по вертикали или горизонтали), чтобы видеть разные участки кода одновременно.
Строка состояния
В нижней части студии находится строка состояния. В нижнем правом углу имеется текстовая метка с информацией о текущем местоположении курсора в документе (номер строки:номер символа). Если подвести мышку к надписи, то можно увидеть всплывающую подсказку Click to go to line. Щелчок вызовет диалоговое окно для быстрого перехода на нужную позицию.
Рядом также имеется текстовая метка с указанием кодировки, в которой пишется код. В последних версиях студии это стало проблемой для русскоязычных программистов. Студия может использовать системную кодировку, которая часто бывает windows-1551, но в Android принято использовать UTF-8, и после запуска приложения вместо текста можно увидеть кракозябры.
Остальные элементы не представляют интереса.
Информационный желоб
Слева от редактора кода имеется отдельная полоска, которую я назвал информационным желобом. На ней можно увидеть различные значки. Например, у класса MainActivity выводится значок, связанный XML-разметкой для данного класса. Нажав на него, вы можете быстро открыть нужный XML-файл.
Также выводятся значки для методов. Каждый тип методов имеет свой цвет.
В данном желобе устанавливаются точки останова (breakpoint).
Доступно контекстное меню. Например, можно выбрать показ номеров строки.
На границе желоба и редактора кода имеются маркеры для сворачивания блоков кода.
Если нажать клавишу F11, то текущая строка будет помечена как закладка и появится галочка.
Анализ кода
Справа от редактора кода находится анализатор кода. Если код содержит ошибки, сверху будет гореть красный прямоугольник. Если ошибок нет, но есть предупреждения, то будет гореть жёлтый прямоугольник. При правильном коде горит зелёный прямоугольник.
В случае ошибок или предупреждений также выводятся зарубки. Если подвести к ним курсор мыши, то можно прочитать сообщение или сразу перейти в нужную строку для исправления, нажав на неё. Также есть синие зарубки для выделенных слов и задач TODO.
Автодополнение кода
Студия поддерживает автодополнение кода, когда по первым символам подставляет нужные слова. Распространяться на эту тему не буду.
Основная комбинация Ctrl+Space.
Если написать имя метода, например, «private void onClick()» и нажать комбинацию Ctrl+Shift+Enter, то студия сгенерирует фигурные скобки.
Когда у вас есть кусок кода и вы начинаете исправлять его, то возникает следующая ситуация. Студия предлагает подсказку, вы соглашаетесь и нажимаете Enter.
В данном случае мы хотим заменить переменную name на catName, но если нажмём на Enter, то подсказка присоединится к старому коду и мы получим catNamename. В следующий раз нажимайте на клавишу Tab и тогда старый вариант заменится на новый.
Также изучите другие клавиатурные комбинации.
Периодически используйте команды меню Code: Reformat Code и Rearrange Code. Первая команда полезна для Java-кода, а вторая для XML-разметки. Код станет аккуратнее.
Перевод на новую строку
Если курсор находится в середине выражения и вы хотите начать новую строку, не обязательно гнать курсор в конец строки. Просто нажмите комбинацию Shift+Enter.
Источник
Методы лечения различных ошибок в Android Studio при разработке проекта
Сегодня хотел бы поделиться своим анализом и способами лечением разных ошибок при разработке своего продукта в Android Studio. Лично я, не раз сталкивался с различными проблемами и ошибками при компиляции и/или тестировании мобильного приложения. Данный процесс, всегда однообразный и в 99% случаев и всегда нужно тратить n-колличество времени на его устранение. Даже, когда ты уже сталкивался с данной проблемой, ты все равно идешь в поисковик и вспоминаешь, как же решить ту или иную ситуацию.
Я для себя завел файлик, в котором отметил самые частые ошибки — потратив на это несколько часов и перечислил самые популярные ошибки (в дальнейшем планирую просто их запомнить), чтоб сократить свое время в дальнейшем.
Итак, начну по порядку с самой распространенной проблемы и дальше буду перечислять их по мере появления:
1) Если подчеркивает красным код, где используются ресурсы: R. — попробовать (но вероятно не поможет): Build -> Clean Project.
В принципе на Build -> Clean Project можно не терять времени, а лучше всего — слева переключиться на Project, открыть каталог .idea, затем каталог libraries и из него удалить все содержимое. Затем нажать кнопку Sync Project. А затем (если все еще красное, но скорее всего уже будет все ок ) Build -> Clean Project.
2) После внезапного выключения компьютера, после перезапуска может быть во всех проектах весь код красным. Перед этим может быть ошибка: Unable to create Debug Bridge: Unable to start adb server: Unable to obtain result of ‘adb version’. Есть три решения — первое помогло, второе нет (но может быть для другого случая), а третье — не пробовал:
а) File — Invalidate Caches/Restart — Invalidate and Restart
б) Закрыть студию. В корне папки проекта удалить файл(ы) .iml и папку .idea. Вновь запустить студию и импортировать проект.
в) Нажать Ctrl-Alt-O и запустить оптимизацию импорта.
Кстати, adb сервер можно проверить на версию (и работоспособность) и затем перезапустить:
3) Если Android Studio выдает приблизительно такую ошибку: Error:Execution failed for task ‘:app:dexDebug’.
Надо слева переключиться на опцию Project, найти и удалить папку build которая лежит в папке app, т.е. по пути app/build. Затем перестроить весь проект заново: Build -> Rebuild Project.
Такое же решение если ошибка типа: «не могу удалить (создать) папку или файл» и указан путь, который в ведет в app/build. Тоже удаляем папку build и ребилдим проект.
4) В сообщении об ошибке упоминается heap — виртуальная память. А ошибка обычно вызвана ее нехваткой, т.е. невозможностью получить запрашиваемый объем. Поэтому этот запрашиваемый объем надо уменьшить, т.е. переписать дефолтное значение (обычно 2048 MB которое можно изменить в настройках), на меньшее 1024 MB.
В файле проекта gradle.properties пишем:
5) Android Studio пришет примерно такую ошибку: Plugin is too old, please update to a more recent version, or set ANDROID_DAILY_OVERRIDE environment variable to «83648b99316049d63656d7276cb19cc7e95d70a5»
Возможные причины (кроме необходимости регулярного обновления SDK):
а) Загруженный проект был скомпилирован с помощью уже несовместимого старого gradle плагина. В этом случае надо найти и подключить в своем build.gradle проекта этот более старый плагин. т.е. попробовать более старые версии, например: 1.1.3 (часто именно 1.1.x и подходит).
Найти все версии можно здесь.
б) Если в build.gradle проекта используется beta-версия плагина — это означает, что срок ее истек. Посмотреть последние релизы (продакшн и бета) можно также здесь:
6) Иногда при подключении сторонних библиотек могут дублироваться некоторые файлы (обычно связанные с лицензированием). В сообщении будет что-то содержащее слова: duplicate files. Решение — надо посмотреть в сообщении об ошибке или в документации подключенной сторонней библиотеки — какие именно файлы стали избыточными, и перечислить их в build.gradle модуля для исключения (exclude) из билда.
Это делается в директиве packagingOptions (которая, в свою очередь, находится в директиве android).
Источник
50 советов, хитростей и ссылок для Android Studio и Intellij IDEA
Рассказываем о 50 хитростях, горячих клавишах, плагинах и полезных ссылках для Android Studio и Intellij IDEA, которые помогут разработчику быть более продуктивным.
Визуальные
1. Цветовая схема в material-цветах для консоли
Чтобы изменить вид консоли, перейдите в Preferences (Settings на Windows и Linux) → Editor → Colors & Fonts → Android Logcat и измените цвет для каждого вида сообщений консоли.
Например, цвета как на картинке выше:
- Assert #BA68C8
- Debug #2196F3
- Error #F44336
- Info #4CAF50
- Verbose #BBBBBB
- Warning #FF9800
2. Предотвращение очистки консоли при падении приложения
Перейдите на панель Android Monitor и выберите Edit filter configuration в выпадающем списке справа.
3. Устанавливаем правильное оформление кода для Android Studio/IntelliJ IDE
Перейдите в Preferences → Code Style → Java и в выпадающем списке Scheme выберите нужный стиль кода или установите новый.
Два стиля, которые особенно стоит упомянуть:
Можно импортировать тему, как в примере:
4. Используйте split screen, чтобы повысить продуктивность
Чтобы активировать раздельный экран, щелкните правой кнопкой мыши по табу с основным экраном и выберите Split Vertically/Horizontally.
Для максимальной производительности можно установить для этого действия собственные горячие клавиши. Перейдите в Preferences → Keymap и найдите пункт Split Vertically. Откройте контекстное меню и выберите Add Keyboard Shortcut. Для примера, можно установить сочетание control + alt + v.
5. Отвлеченный режим
Отвлеченный режим поможет сконцентрироваться на работе. Редактор развернет рабочую область с кодом на весь экран, скрыв лишние элементы интерфейса. Чтобы активировать режим, откройте меню View и выберите Enter Distraction Free Mode.
6. Использование живых шаблонов
Используйте сочетание cmd + j (ctrl + j для Windows/Linux).
Можно применять множество заготовленных шаблонов кода, например для Toasts или if.
Можно использовать собственные живые шаблоны. Как это сделать, описано в материалах для Android Studio и IntelliJ IDEA.
Горячие клавиши и полезные команды
1. Лучшая команда – Search for command
Она вызывается через сочетание cmd + shift + a (для Windows и Linux: ctrl + shift + a). Для примера, вам нужно закрыть текущую вкладку, но вы не знаете как. Просто напишите close и получите команду или сочетание клавиш для этого.
2. Поиск последних действий в буфере copy/paste
Вызывается через cmd + shift + v (Windows и Linux: ctrl + shift + v). По умолчанию доступно 5 последних действий для копировать/вставить.
3. Активация мультикурсора
Включается через control + g (и alt + j для Windows и Linux).
Рекомендуем ознакомиться с более подробной статьей об этом функционале.
4. Открыть класс
Открыть новый класс можно через cmd + o (Windows и Linux: ctrl + n)
5. Открыть файл
Новый файл открывается сочетанием cmd + shift + o (Windows и Linux: ctrl + shift + n)
6. Поиск по символу
Cmd + option + o (Windows и Linux: alt + shift + n)
7. Переход к реализации
Для примера, у вас есть интерфейс. Кликните на имя интерфейса, прожмите cmd + option + b (Windows / Linux: ctrl + alt + b) и выберите Go to implementation – и вы перейдете к классу, который реализует этот интерфейс.
8. Переход к объявлению
Через сочетание cmd + b (Windows и Linux: ctrl + b) можно быстро перейти к объявлению класса, метода или переменной.
9. Переход к объявлению типа
Допустим, у нас есть код:
Установив курсор на employee, через сочетание control + shift + b (Windows и Linux: ctrl + shift + b) можно перейти к месту, где объявлен класс Employee.
10. Go to super
Для примера, вы переопределяете некий метод. Если установить курсор на имени метода и выбрать использовать сочетание cmd + u (Windows и Linux: ctrl + u) вас перенаправит на родительский метод.
11. Переключение между вкладками
Это делается через сочетание cmd + shift + [ (стрелка влево) или cmd + shift + ] (стрелка вправо) (Windows для Linux: вместо cmd – alt).
12. Переключение между вкладками Design/Text
Для Android Studio в режиме макета работает сочетание control + shift + ← / → (Windows и Linux: alt + shift + ← / →).
13. Закрыть текущую вкладку
Сочетание cmd + w (для Windows и Linux: ctrl + F4).
14. Скрыть все окна
Через cmd + shift + F12 (Windows и Linux: ctrl + shift + F12).
15. Свернуть экземпляр Android Studio
Сочетание cmd + shift + F12 (Windows и Linux: ctrl + shift + F12)
16. Форматировать код
Cmd + option + l (Windows и Linux: ctrl + alt + l).
17. Автоматический отступ для строк
Через сочетание control + option + i (Windows и Linux: ctrl + alt + i).
18. Реализация методов
Реализуя интерфейс, через сочетание control + i (Windows / Linux: ctrl + i) вы можете быстро импортировать методы, предоставляемые этим интерфейсом.
19. Умное автодополнение
Включается через сочетание control + shift + space (Windows и Linux: ctrl + shift + space), список подстраивается под ожидаемый тип.
20. Поиск
Сmd + f (Windows и Linux: ctrl + f).
21. Найти и заменить
Cmd + r (Windows и Linux: ctrl + r).
22. Перемещение строк из кода в ресурсы
Когда курсор установлен на тексте, используйте сочетание option + return (Windows / Linux: alt + enter).
23. Сборка и запуск проекта
Сработает через сочетание control + r (Windows и Linux: shift + F10).
Плагины для Android Studio и Intellij IDEA
Источник