- В чем писать код начинающему Android-разработчику: выбираем IDE
- Что такое IDE
- Как IDE помогает писать код
- Как IDE запускает приложение
- Какие IDE используют Java-разработчики
- Преимущества IntelliJ IDEA
- Как установить и настроить IntelliJ IDEA
- Преимущества Android Studio
- Как установить Android Studio
- Хоткеи Android Studio
- Android Tips and Tricks
- Android Studio
- Не забывайте использовать шорткаты
- Используйте плагины для повышения эффективности
- Используйте Live Templates при разработке в Android Studio
- Постфиксное автодополнение кода в Android Studio
- Используйте тему Darcula в Android Studio
- Не используйте неудобный/мелкий шрифт
- Используйте codestyle
- Используйте Встроенный терминал в Android Studio
- Используйте Memory/Network/CPU мониторинги в Android Studio для профилирования вашего приложения
- Эмулятор
- Vysor
- DeskDock
- Выбирайте лучшие инструменты при написании кода
- Полезные советы по UI/UX
- Движение
- Шрифты, отступы
- Иконки
- Ripple
- Остальные пункты
- Другие ресурсы
- Cделайте закладки в своём браузере на различные популярные ресурсы
- Используйте бесплатные mock API для тестирования
В чем писать код начинающему Android-разработчику: выбираем IDE
Редакция блога Нетологии рассказала, что такое IDE, какие преимущества у IntelliJ IDEA и Android Studio и как установить программы.
Обучение в онлайн-университете: курс «Android-разработчик с нуля»
Чтобы перевести написанный вами код в понятный компьютеру, нужно использовать компилятор. Чтобы упростить задачу, используйте IDE, где для запуска приложения достаточно нажать кнопку Play.
Что такое IDE
IDE — среда разработки, текстовый редактор, заточенный на написание на одном или нескольких языках программирования. Программа выполняет несколько задач — упрощает работу с кодом и подготавливает рабочее окружение.
Как IDE помогает писать код
Программа понимает структуру языка программирования и выполняет следующие задачи.
- Подсказывает возможные ошибки, например, если вы забыли закрыть скобку. Программа сразу напомнит об этом и не придется тратить время на запуск, проверку сообщений об ошибках и правку. Это можно сравнить с подчеркиванием ошибок в Word.
- Когда вы используете какую-либо функцию, показывает документацию для нее. Это работает, как справка в Excel, когда вы применяете какую-либо функцию.
- Помогает быстро переименовать переменную. Если переменная использована в нескольких местах, все можно править в один клик.
- По мере написания кода ищет в нем ошибки и указывает на них.
В реальной жизни разработчик пишет меньше половины кода — остальное генерирует или подсказывает IDE.
Как IDE запускает приложение
Благодаря IDE не надо устанавливать и настраивать компилятор на нужные параметры, подключаться отладчиком к определенному процессу. Эти задачи выполнит среда разработки. Сразу после установки в ней можно написать первое приложение Hello World и запустить его по одному клику.
Какие IDE используют Java-разработчики
IntelliJ IDEA. Одна из популярных сред разработки. Доступна в двух версиях — бесплатной Community edition для самостоятельных разработчиков и платной Ultimate edition для компаний. Подходит для мобильной разработки под Android и десктопной Java для запуска на компьютере.
Android Studio. Основана на IntelliJ IDEA, предлагает все нужные функции и заточена под проекты на Android. IDE рекомендует Google, ее используют начинающие разработчики и опытные Android-девелоперы как Джейк Уортон.
IDE Eclipse не стоит использовать. Среда разработки устарела, и в 2016 году в Google отказались от поддержки ее плагинов для Android-разработки.
Преимущества IntelliJ IDEA
Мультиязычная. Поддерживает разные языки программирования. Вы сможете писать код на Java, дальше освоить Kotlin и использовать его.
Интегрирована с Git и Github. Позволяет использовать систему контроля версий Git и отправлять проекты на Github в один клик.
Позволяет настроить нужное окружение. Чтобы запускать тесты в IDE, достаточно докачать Java Devkit.
Как установить и настроить IntelliJ IDEA
Предварительно скачайте Java Development Kit по ссылке. Выберите версию для любой операционной системы. Рекомендуем установить JDK 8 если вы будете писать в Android Studio Android-приложения. Остальные могут использовать версию JDK 11.
Следуйте подсказкам установщика.
Скачайте Community Edition-версию программы по ссылке. Можно выбрать версию для любой операционной системы — Windows, MacOS или Linux.
Установите, следуйте подсказкам инсталлятора. При первом запуске программа предложит импортировать настройки. Так как установленных ранее версий не было, выберите Don’t import settings.
Программа предложит выбрать цветовую схему и дополнительные возможности. Выберите настройки по умолчанию и пропустите эти шаги.
Запустите программу. Когда откроется окно проекта, выберите Create New Project.
В верхнем левом углу выберите Java, нажмите Next.
В качестве шаблона выберите Java Hello World.
Выберите папку, в которую нужно сохранить проект.
В правом верхнем углу найдите зеленую кнопку Play и нажмите ее — вы запустили первую скомпилированную программу.
Преимущества Android Studio
Рекомендована Google. IDE поддерживают и развивают в корпорации, среда разработки оптимальна для создания приложений для Android.
Большое сообщество разработчиков. Почти все Android-девелоперы используют Android Studio. Если у вас возникнут проблемы в работе, сможете обратиться к коллегам на форумах или тематических сайтах — вам помогут.
Как установить Android Studio
Скачайте Java SDK, если их еще нет, и установите — программа нужна для дальнейшей работы на Java. После установки желательно перезагрузить компьютер.
Скачайте Android Studio, откройте exe-файл и запустите его. Кликните Download, чтобы операционная система вашего ПК определилась автоматически, или выберите нужную вручную в Download Options. Нажимайте Next, пока установщик не спросит путь. Первый укажите для Android Studio, второй — для Android SDK. Желательно ставить на диск D, так как программа занимает от 2 Гб.
Нажимайте Next, пока не завершится установка. Откройте установленную Android Studio. Откажитесь от импорта настроек предыдущей версии — старых настроек у вас нет.
Google предложит отправлять уведомления о работе приложения. На них можно согласиться или отказаться.
Выберите Standart в следующем окне.
Установщик сообщит, что нужно докачать несколько компонентов — нажмите Next и дождитесь окончания загрузки распаковки.
Нажмите Finish — откроется Welcome экран. Нажмите Start a new Android Studio project.
Мнение автора и редакции может не совпадать. Хотите написать колонку для «Нетологии»? Читайте наши условия публикации. Чтобы быть в курсе всех новостей и читать новые статьи, присоединяйтесь к Телеграм-каналу Нетологии.
Источник
Хоткеи Android Studio
Уже год как я начал пытаться программировать под Android, и весь год меня в этом поддерживал добрый друг Android Studio. Безусловно, я продвигался бы намного быстрее, знай зеленый я о хоткеях больше, но в свое время я не нашел цельного и понятного справочника важных горячих клавиш IDE, а посему написал его сам. В нем далеко не все комбинации, лишь те, что показались полезными в работе, за исключением Ctrl+C, Ctrl+V, Ctrl+X и Ctrl+Z. Выставляю его на суд общественности и для всеобщего пользования здесь:
- Быстрое исправление ошибок/Quick bug fix Alt+Enter
Отображает окно с вариантами способов отображния ошибок, если таковых более одного.
Завернуть в. /Surround with… Ctrl+Alt+T
Список из более чем десяти опций. Тут тебе и try-catchб и if/else, и synchronized, и Runnable… Так сказать, обертка на любой вкус.
Информация о текущем классе/Context info Alt+Q
Название, видимость, абстрактность, родители — полное досье.
Изменить сигнатуру/Change signature Ctrl+F6
Очень удобный инструмент, пусть даже сама задача яйца выеденного не стоит.
Недавние изменения в проекте/Recent changes Alt+Shift+C
Не очень детально, но вспомнить поможет.
Отобразить иерархию типов/Type hierarchy Ctrl+H
Выводит дерево типов вплоть до самого верхнего, т.е. до того, на котором стоит указатель.
Перейти к источнику/Jump to source F4 (Win)/CMD + down-arrow (Mac)
Перейти к объявлению/Go to Declaration CTRL+B(Win)/CMD+B(Mac)
Перейти к родителю/Go to Super CTRL+U(Win)/CMD+Y(Mac)
Поиск по названию элемента/Search by symbol name CTRL + ALT + SHIFT + N (Win)/OPTION + CMD + O (Mac)
Иногда излишне долгий, а иногда просто необходимый
Показать документацию к API/Show docs for selected API CTRL + Q (Win)/F1 (Mac)
Показать параметры метода/Show parameters for selected method Ctrl+P
Просмотр определения элемента/Quick definition Ctrl+Shift+I
Реформаттинг кода/Reformat CTRL + ALT + L (Win)/OPTION + CMD + L (Mac)
Позволяет оптимизировать импорты (optimise imports) и реорганизовать фрагменты кода (rearrangement entries) на уровне файла, директории или только выбранного текста. Реформаттинг кода включает в себя группировку overriden методов по классу/интерфейсу, группировку геттеров и сеттеров, а также упорядочение методов по глубине вхождения (например, если метод foo() в своем теле вызывет метод bar(), то метод bar() будет перенесен сразу под метод foo(), если это не нарушит структуру кода) и полезную мелочь типа пробела в начало склеиваемой в конец подстроки. Реорганизация достаточно гибко настраивается через File | Settings | Code Styles, выбрать Java в выпадающем списке и перейти на вкладку Rearrangement.
Сгененрировать метод/Generate method ALT + Insert (Win)/CMD + N (Mac)
На выбор для генерации предлагаютсяконструкторы, геттеры/сеттеры, equals(), toString и функции override method и delegate method. В общем, очень классно и полезно для организма.
Build CTRL + F9 (Win)/CMD + F9 (Mac)
Build and Run SHIFT + F10 (Win)/CTRL + R (Mac)
Not only builds.
Это самые полезные, на мой взгляд, хоткеи, которыми я пользовался или пользовался бы, знай я о них раньше. Подводя итог, Android Studio обладает большим потенциалом так называемого «невидимого интерфейса», облегчающего жизнь простых кодеров.
Источник
Android Tips and Tricks
Android Studio
Не забывайте использовать шорткаты
Описание | Mac | Linux/Win |
Быстрый поиск по настройкам, действиям в IDE | Cmd+Shift+A | Ctrl+Shift+A |
Переопределить метод родительского класса | Cmd+O | Ctrl+O |
Поиск файла по имени | Cmd+Shift+O | Ctrl+Shift+N |
Список недавно редактируемых файлов | Cmd+Shift+E | Ctrl+Shift+E |
Список недавно открытых файлов | Cmd+E | Ctrl+E |
Последний редактируемый файл | Cmd+Shift+Backspace | Ctrl+Shift+Backspace |
Найти все места, где используется метод / переменная | Opt+F7 | Alt+F7 |
Как предыдущий пункт, только во всплывающем окне | Cmd+Opt+F7 | Ctrl+Alt+F7 |
Приведение кода в соответствие code style | Cmd+Opt+L | Ctrl+Alt+L |
Окружить блок кода конструкцией(if, else, try) | Opt+Cmd+T | Alt+Ctrl+T |
Открыть терминал | Opt+F12 | Alt+F12 |
Сгенерировать Setter/Getters/ | Cmd+N | Alt+Ins |
Поиска класса по имени | CMD+O | Ctrl+N |
Рефакторинг имени | Shift+F6 | Shift+F6 |
Быстрое исправление | Opt+Enter | Alt+Enter |
Перейти к объявлению переменной, класса, метода | Cmd+B | Ctrl+B |
Показать список параметров для метода | Cmd+P | Ctrl+P |
Меню рефакторинга | Ctrl+T | Ctrl+Alt+Shift+T |
Убить процесс | Cmd+F2 | Ctrl+F2 |
Поиск по всему проекту | Shift+Shift | Shift+Shift |
Удалить строку | Cmd+Backspace | Ctrl+Y |
Продублировать строку | Cmd+D | Ctrl+D |
Расширить/Уменьшить выделенное | Opt+Up/Down Arrow key | Shift +Ctrl+W |
Многострочное выделение | Ctrl+G | Alt+J |
Полный список шорткатов | MacOSX | Linux/Win |
Используйте плагины для повышения эффективности
- KeyPromoter
Этот плагин заставит вас страдать, показывая большой уродливый попап с комбинацией клавиш, которую следовало бы использовать вместо нажатия на кнопку в IDE. Через какое-то время вы уже на автомате будете использовать шорткаты, лишь бы не видеть этот ужасный попап.
String Manipulation
Упрощает работу со строками, позволяет cортировать, переводить в другие кодировки, убирать дубликаты, триммить текст и ещё многое другое.
Lines Sorter
Добавляет иконку в меню для сортировки выбранных строк или целого файла, если ничего не выбрано.
Findbugs
Статический анализатор байткода для поиска багов в Java коде c помощью Android Studio.
Sonar Lint
Плагин, который в рантайме показывает информацию о новых багах и нарушениях качества кода на Java, JavaScript и PHP.
Checkstyle
Плагин, который сканирует Java файлы с помощью Android Studio и проверяет их на соответствие настройкам. Может быть интегрирован в вашу систему сборки, чтобы запрещать сборки с нарушениями.
Плагин, который добавляет ADB команды (установка и удаление приложения, перезапуск приложения и тд.) в Android Studio и Intellij.
Используйте Live Templates при разработке в Android Studio
Template | Описание |
newInstance | Генерирует статический метод `newInstance` внутри Фрагмента |
Toast | Генерирует Toast.makeText(context, «», Toast.LENGTH_SHORT).show(); |
fbc | findViewById с кастом к нужном типу View |
const | Определить константу типа int |
logd | Генерирует Log.d(TAG, «»); |
logm | Вынести в лог текущее имя метода и его аргументы. |
logr | Вынести в лог результат текущего метода |
logt | Статическая строка TAG для лога, с текущим именем класса |
psf | public static final |
sout | Печатает строку в System.out |
soutm | Печатает имя класса и имя метода в System.out |
soutp | Печатает аргументы и значения метода в System.out |
visible | Установить видимость View к VISIBLE |
gone | Установить видимость View GONE |
noInstance | Приватный конструктор без аргументов, чтобы запретить создание сущностей |
→ Полный список Live Templates в Android Studio
Постфиксное автодополнение кода в Android Studio
В Android Studio/IntelliJ есть специальный механизм дополнения кода, который позволяет применить конструкцию к определённой переменной.
Template | Описание |
Полный список доступных постфиксных дополнений кода вы можете найти в Settings → Editor → Postfix Templates
Используйте тему Darcula в Android Studio
Да, я осознаю, что это больше вопрос предпочтений. Однако поверьте мне, что использование тёмной темы сократит нагрузка на ваши глаза.
Не используйте неудобный/мелкий шрифт
По возможности старайтесь использовать такой шрифт, который удобно читать и не доставляет дискомфорта для ваших глаз. Я использую Menlo font.
Используйте codestyle
Вам следует использовать стандартный codestyle. Для примера посмотрите на AOSP Codestyle или Square IntelliJ Codestyle
Используйте Встроенный терминал в Android Studio
Используйте Memory/Network/CPU мониторинги в Android Studio для профилирования вашего приложения
Эмулятор
Кроме использования реальных девайсов, вы также должны использовать эмуляторы ввиду простоты их настройки и использования. Также вы можете легко настраивать на них разрешение и версию API для тестирования. Genymotion, Intel эмулятора поставляемый вместе с SDK
Vysor
Это очень полезный инструмент, достойный отдельного упоминания. По сути, он позволяет стримить содержимое физического Android устройства на экран ноутбука. Очень удобно, когда вам нужно продемонстрировать демо вашего приложения на презентации. Мы можем взаимодействовать с реальным устройством, и всё это будет представлено прямо на экране ноутбука. Есть бесплатная и платная версии, и платная определённо стоит того, чтобы её купить.
DeskDock
Если вам необходимо манипулировать физическим Android устройством (используя клавиатуру и мышь), то это приложение замечательно с этим справится. Позволяет вам управлять вашим Android устройством, как если бы это была часть рабочего стола компьютера. Бесплатная версия позволяет использовать мышь, Платная версия позволяет использовать клавиатуру и другие возможности. С этим приложением можно тестировать приложение, не отрывая рук от клавиатуры ноутбука.
Выбирайте лучшие инструменты при написании кода
- Используйте OkHttp вместо HttpUrlConnect.
HttpUrlConnect содержит определённое число багов. Okhttp довольно красиво решили их. Анонс Okhttp.
Ссылайтесь на локальные `aar` файлы следующим образом.
Специальная программа для Android разработчиков, с помощью которой позволяет анализировать файлы типа .apk, .jar, .class, .dex, .aar, .so. Может показать информацию о полях и методах класса, зависимостях .apk, количество методов, используемых приложением и тд.
Позволяет дебажить ваши приложения используя Chrome Dev Tools. Включает в себя мониторинг сети (Network Monitor), отображение Shared Preferences.
Программа для анализа расхода батареи
Избегайте использования ‘+’ для указания версий используемых библиотек.
Это позволит вам избежать неожиданных багов или проблем со сборкой, если в новой версии изменится API. А также не придётся при сборке каждый раз открывать интернет-соединение для проверки последней актуальной версии зависимой библиотеки.
Если у вас всё-таки есть png, сожмите их. Изучите [TinyPNG](https://tinypng.com) для этого.
Разделяйте ваш .apk с помощью gradle, когда вы используете нативный код. Не смешивайте всё вместе, потому что потом будете страдать, разбираясь в исходниках.
Исключить gradle таску при сборке. Предположим вы хотите исключить задачу ‘javaDoc’, в таком случае используйте ‘-x’ опцию и имя таски, в данном примере ‘javaDoc’
Учитывая скорость разработки android библиотек и их обновлений, в какой-то момент вы встретитесь с конфликтом зависимостей в вашем приложении. Gradle позволяет решать эти проблемы официальная документация
Android использует Gradle как систему сборок, что позволяет упростить множество вещей и написать свои таски для автоматизации. Пост на reddit, который содержит множество полезных gradle скриптов.
— Перейдите на gradle версии 3.1.
Выполните следующую команду в директории вашего проекта для обновления gradle wrapper.
— Установите опции сборки в глобальном в `gradle.properties` файле
Остановить процесс сборки приложения с помощью gradle
Настройте gradle для автоматической загрузки отсутствующих компонентов android sdk.
Установить следующую опцию в глобальном gradle.properties файле.
Это экспериментальная опция, и она загружает только build tools и platforms, но не обновляет Google или Support Repository
JCenter включает в себя MavenCentral.
Перейдите в директорию
/.gradle/caches/ и удалите всё содержимое в папке cache.
Откройте SDK Manager и заново синхронизируйте все саппортные библиотеки и google play services.
Далее обновите gradle зависимости в проекте.
Теперь всё должно находиться в нормальном состоянии и работать корректно.
Настройте удобные `adb` алиасы для вашего терминала.
Добавьте следующие команды к вашему
/.zshrc файлу, сохраните и перезапустите терминал. После этого можете использовать как показано в столбце Использование.
Алиас | Использование |
Настройте Android Studio падать при сборке, если код содержит //STOPSHIP.
Чтобы включить в lint проверку на //STOPSHIP , добавьте в ваш `build.gradle`
Если у вас есть //STOPSHIP комментарий в коде, релизная сборка не соберётся. Кроме этого, вы также можете включить в Android Studio подсветку таких комментариев (по умолчанию выключено). Preferences → Editor → Code Style → Inspections . Ищите в поиске STOPSHIP и устанавливайте флажок для подсветки.
Скопируйте нужную библиотеку. Вставьте в ваш build.gradle.
Используйте Dryrun, чтобы быстро и удобно протестировать библиотеку или пример приложения.
Отображайте результаты юнит тестов напрямую в консоль.
—offline флаг говорит gradle, чтобы при сборке были использованы зависимости из кэша. Если запускать сборку с этим флагом, gradle никогда не попробует выкачать зависимости по сети. Если необходимые модули отсутствуют в кэше — приложение не соберётся
Прогоняйте юнит тесты как можно быстрее:
Полезные советы по UI/UX
Движение
Material Design использует физику реального мира как основу. Объекты в реальном мире не двигаются линейно, они двигаются по искривлённым траекториям а также с ускорением и замедлением в зависимости от ситуации.
Таким образом, вы должны манипулировать свойствами и анимировать объекты так, чтобы это выглядело натурально и естественно. Например машина, выезжающая за экран начинает движение медленно, постепенно ускоряясь по приближению к краю экрана. Аналогично ui элементы должны перемещаться используя такие классы как AccelerateInterpolator, FastOutSlowInInterpolator и другие.
Шрифты, отступы
В принципе, нестандартные шрифты можно использовать как часть брэндинга, однако лучше всё-таки остановиться на стандартных Roboto и Noto, если это возможно, в особенности для основного текста из-за их узнаваемости и частого использования.
Roboto покрывает Латинские, Греческие и Кириллические символы, Noto покрывает остальные языки.
Балансировка яркости шрифта — это один из наиболее важных параметров современной стилистики. Основная идея заключается в том, что чем меньше шрифт, тем более ярким он должен быть, и наоборот.
Сам текст должен быть выровнен по сетке с ячейкой 4dp.
Идеальная длина текста для больших блоков от 40 до 60 символов в строке.
Иконки
Иконки должны быть размером 48dp c краями 1dp, что эквивалентно:
48px x 48px — mdpi
72px x 72px — hdpi
96px x 96px — xhdpi
144px x 144px — xxhdpi
192px x 192px — xxxhdpi
Дополнительная иконка с размером 512px x 512px должна быть предоставлена для Google Play.
То же касается иконки с размером 1024px x 500px, которая будет отображаться в шапке на странице вашего приложения.
Ripple
Когда реализуете Ripple эффект, используйте ?attr/selectableItemBackground вместо ?android:attr , подробнее. Когда реализуете Ripple эффект на элементе как Button используйте:
Когда реализуете Ripple, который выходит за края View, как например у ImageView, используйте:
Остальные пункты
Элементы в соответствии с Material Design Views должны быть расположены на сетке с ячейкой размерами 8dp, если это возможно. Благодаря этому подходу UI выглядит структурированным и приятным.
Если вам нужна ссылка на какой-нибудь элемент ViewGroup (LinearLayout, FrameLayout, RelativeLayout, etc.) и вам не нужны никакие специфичные методы именно для этого типа ViewGroup, то не храните конкретный тип, используйте просто ViewGroup.
Другие ресурсы
Cделайте закладки в своём браузере на различные популярные ресурсы
Используйте бесплатные mock API для тестирования
Все примеры, перечисленные ниже, тем или иным образом позволяют тестировать ваше приложение без бэкенда. Если понадобится воспользоваться, пробегитесь по списку и посмотрите, какой из пунктов максимально удовлетворяет вашим запросам и потребностям по функционалу.
Источник