Android-разработка: карьерный обзор за май 2020
Содержание:
- Android KTX
- Бесплатный конструктор для создания приложений для Android
- Dart
- Плюсы и минусы профессии
- Какие языки используют для мобильной разработки
- Изучить Kotlin просто
- Как подготовить релиз-версию приложения
- Возьмите за правило постоянно учиться.
- Ничего страшного, если вам не сделали оффер.
- Почему важна независимость платформы?
- Метод isCorrect()
- Как начать писать код на Java?
- Ваше первое мобильное приложение в Android Studio
- Заключение
Android KTX
Android KTX — это набор расширений-обёрток для Android API в Kotlin, которые делают его более дружелюбным. Главная цель этой библиотеки — сделать Android API более удобным в использовании. Она содержит множество методов и отличных новых функций Kotlin, таких как именованные параметры, лямбда-функции и параметры по умолчанию.
Android KTX отличается наличием множества функций-расширений, и единственный способ узнать о них — погрузиться в код библиотеки, чтобы увидеть, каким образом функции улучшили Android API. Android KTX упрощает способ использования Android API, и по этой причине эта библиотека должна стать основой каждого Android приложения, написанного на Kotlin.
Бесплатный конструктор для создания приложений для Android
Как написать программу для андроид в Android Studio? Разработка и создание приложений для Android включает в себя несколько этапов:
- На начальном этапе создания утилиты для смартфона необходимо придумать ей название и проложить путь к системным файлам.
- Для сборки приложения нужно создать 1-2 целевые платформы. Этот шаг необходим для того, чтобы создаваемые пакеты поддерживались несколькими версиями операционной системы Android и несколькими уровнями интерфейсов программирования.
- В следующем шаге необходимо выбрать основную активность, которая при нажатии на иконку приложения будет запускаться. Еще ей обязательно нужно присвоить название.
- Затратив на выполнение предыдущих шагов не более 5 минут, откроется интерфейс Android Studio – IDЕ.
Создание активностей и навигации в приложениях
Обратите внимание! Чем более устаревшая версия операционной системы андроид, тем больше мобильных гаджетов и планшетов, на которых воспроизведется создаваемая утилита. Функциональность АРI напрямую зависит от версии ОС
Проверка программы на реальном устройстве
Созданная начинающим программистом программа пока еще представляет собой лишь одну активность без графических элементов, которая запускается в полноэкранном режиме.
Запустить программный код нужно на смартфоне или эмуляторе. Для подключения на реальном устройстве нужно активировать на телефоне режим USB-отладки.
Создание пользовательского интерфейса
Пользовательский интерфейс создают через иерархию макетов, а также виджетов. Основная задача макетов управлять расположением неотъемлемых составляющих UI: текстовых полей, кнопок и других элементов.
Интерфейс создается в конструкторе преимущественно в редакторе макетов, а хранятся в ХМL-файлах.
- Открыть файл, расположенный по пути app > res > layout > activity_fullscreen.xml.
- Из раздела меню «палитры» добавить на экран виджеты путем перетаскивания мыши.
Для ввода текста используется виджет Edit Text. По мере необходимости добавляются и другие важные элементы.
Как добавить в приложение навигацию, действия и прочие активности
Например, начинающий программист создал активность с кнопкой «отправить» и небольшим текстовым полем. Теперь необходимо с помощью кода написать, что должно происходить после нажатия на эту кнопку.
Последовательность действий выглядит приблизительно следующим образом:
- Найти фрагмент программного кода по пути app > java > FullscreenActivity.
- Теперь в класс FullscreenActivity добавить метод под названием SendMessage(), чтобы при нажатии отображался конкретно он.
- Теперь самое время приступить к созданию намерения в классе Intent. Он необходим для перехода от активности к активности, навигации.
Теперь рекомендуется убедиться в работоспособности приложения и начинать думать, как монетизировать устройство.
Содержание манифеста
Dart
Flutter — относительно новая технология от Google, полноценный SDK, выпущенный в 2018 году.
По ряду параметров считается более удачным решением, чем React Native. Позволяет писать кроссплатформенные приложения, поэтому эффективен в разработке приложений для Android с общей базой кода на языке Dart.
Dart позиционируется как альтернатива JavaScript. Он компилируется в бинарный код, за счёт чего достигается высокая скорость выполнения операций. Вместо XML Dart использует так называемые деревья макетов.
Основные преимущества Dart:
- легко освоить, зная Java;
- высокая производительность программ;
- Hot Reload во Flutter — быстрая перезагрузка с сохранением состояния.
Плюсы и минусы профессии
Плюсы: |
Минусы: |
|
|
Какие языки используют для мобильной разработки
В мобильной разработке есть специализация по платформам и языкам программирования. Но строгого разделения на фронт и бэк, как в вебе, здесь нет — программисту нужно уметь работать и с интерфейсом, и с внутренней логикой приложения.
Под Android и iOS можно писать приложения практически на любом языке программирования: C/C++, Fortran, ассемблер, Python, JavaScript. Но есть и официально поддерживаемые языки, которые позволяют использовать все возможности мобильной операционной системы и получать моментальный доступ к новым функциям. Для iOS это Objective-C и Swift, а для Android — Java и Kotlin.
Изучить Kotlin просто
Kotlin можно назвать «сладкой» добавкой к Java, они действительно во многом похожи. Поэтому, тем, кто уже знаком с самим базовым языком, на изучение Kotlin понадобится максимум 1–2 недели. При этом не нужно сразу же использовать все фичи языка, можно начать писать в «Java-стиле» и, постепенно изучая новое, внедрять это в свой код.
Итак, для начала сами разработчики языка JetBrains советуют обратиться к официальным ресурсам о Kotlin. На них есть библиотеки материалов для начинающих, а также подробные описания истории языка и специфики конструкций. Единственная сложность — ресурс на английском, так что придётся подтянуть ещё и его. Но так как это технический язык и многие термины в принципе не имеют перевода на русский, проблем с этим возникнуть не должно.
Также предлагаем почитать гайд от Google, подробно описывающий, как перевести уже написанное на Java приложение на Kotlin. Статья рассказывает о том, как конвертировать файлы с расширением .java в расширение .kt, а также предлагает сравнение фрагментов кода на Java и Kotlin при работе с Android SDK.
Опишем на Kotlin тот же пример, который брали на Java. Просто сравните:
Отметим, что если вы знаете основы Java и уже пишите на нём приложения, пусть и самые простые, вам не нужно проходить тот же путь для изучения Kotlin. Вы знаете общепринятые конструкции, переменные и типы данных. Можно начать писать код, очень похожий на Java, а затем в процессе изучения Kotlin добавлять всё больше фишек из него.
Итого, мы предлагаем понятный и универсальный способ входа в сферу мобильной Android-разработки. Первым этапом становится изучение Java с его длинными, но традиционными и понятными синтаксическими конструкциями. А после их освоения можно приступать к «сахарному» Kotlin. Такой порядок будет для вас комфортным.
Знание двух самых популярных языков мобильной разработки — Java и Kotlin — даст вам преимущество среди других Android-разработчиков. Как уже было сказано, всё больше работодателей ищут разработчиков со знанием Kotlin, а так как знание Kotlin невозможно без Java, вы будете только в плюсе. В любом случае, вам стоит научиться писать мобильные приложения на разных языках, чтобы в конечном счёте выбрать тот, который понравится вам и вашей будущей команде.
Как подготовить релиз-версию приложения
Вы создали приложение под Android, и теперь, чтобы его выложить, необходимо сделать следующие шаги:
- Подготовить подпись приложения. Приложение подписывается уникальным криптографическим ключом.
- Подготовить пиктограмму приложения.
- Подготовить скриншоты (снимки экрана) приложения. Можно отдельно подготовить скриншоты для планшетов, телевизора и прочих устройств.
- Проверить манифест приложения. Проверяются права, версия приложения. Проверяются версии SDK, под какие готовится приложение. Удаляется логирование приложения. Проверяются ресурсы приложения.
- Собрать релиз-версию проекта и подписать её уникальным ключом.
- Подготовить удалённые сервера, если приложение работает с такими серверами.
- Протестировать релиз-версии подписанного приложения.
- После релиза приложения в магазине желательно скачать и удостовериться, что всё прошло гладко. Помните, пользователи будут очень недовольны и начнут минусовать ваше приложение, если новая версия будет падать или что-то случится при выкладке приложения, и оно станет неработоспособно.
Пройдёмся по важным понятиям на этом этапе.
Возьмите за правило постоянно учиться.
Узнавайте что-то новое или интересное каждую неделю
Это не обязательно должно быть что-то большое, важное или сложное. Просто что-то новое
Или составьте список того, что вы не знаете и вычёркивайте из него что-то каждую неделю, или подпишитесь на какие-то каналы. Вот список того, на что подписан лично я:
- Крупнейший русскоязычный портал про разработку. Статьи, новости, подкасты.
- Еженедельная рассылка самых читаемых статей по Android-разработке на английском языке (многие статьи можно найти в переводе на apptractor.ru).
- Подкаст про Android-разработку на английском.
- Прекрасный блог о хороших практиках программирования.
- Сборник туториалов — много базовых вещей и объяснение простыми словами.
- Официальный блог разработчиков Android.
Это не значит, что вам нужно читать это все, выберите для начала что-то одно.
Идите к своей цели и вы к ней придёте. Поверьте, в этом нет ничего невозможного, если идти к ней каждый день, даже маленькими шажками.
И в качестве бонуса — как найти свою первую работу Android-разработчиком.
Ничего страшного, если вам не сделали оффер.
Просите фидбэк или в идеале поговорите немного с тем, кто вас собеседовал. Это поможет вам лучше подготовиться к следующему собеседованию. Отказ даёт вам не меньше опыта, чем успешно пройденное собеседование. Часто в ту же компанию можно будет пройти собеседование повторно через некоторое время.
И напоследок. Изучить Android-разработку можно и самостоятельно, но если вы хотите как можно быстрее добиться результата — пройдите все курсы и сдайте все домашние задания на факультете Android-разработки. После этого у вас будет и портфолио из нескольких приложений, и опыт разработки (в том числе и командной), и все необходимые знания. Именно таких людей и ищут все крупные компании на позицию Junior-разработчика.
Другие полезные статьи для начинающих Android-разработчиков:
- Как создать приложение для Android самому
- Типичные ошибки начинающего Android-разработчика
Почему важна независимость платформы?
Со
многими языками программирования вам нужно использовать компилятор, чтобы
уменьшить код на машинный язык, который может понять устройство. Хотя
это хорошо, разные устройства используют разные машинные языки. Это
означает, что вам нужно скомпилировать ваши приложения для каждого другого
устройства или машинного языка, другими словами, ваш код не очень портативен. Это не
относится к Java. Компиляторы Java преобразуют ваш код из человеческих
читаемых исходных файлов Java в так называемый «байт-код» в мире Java. Они интерпретируются виртуальной машиной Java, которая
работает так же, как физический процессор взаимодействует с машинным кодом,
чтобы выполнить скомпилированный код. Хотя
может показаться, что это неэффективно, было сделано много усилий, чтобы этот
процесс был очень быстрым и эффективный. Эти
усилия окупились в том, что производительность Java, как правило, уступает
только C/C++ в общих сравнениях производительности языка.
Приложения
Android запускаются на специальной виртуальной машине под названием Dalvik VM. Хотя
сведения об этой виртуальной машине не важны для среднего разработчика, может
быть полезно подумать о VM Dalvik как о пузыре, в котором работает ваше
приложение для Android, позволяя вам не беспокоиться о том, является ли
устройство Motorola Droid, HTC Evo, или новейший тостер под управлением
Android. Вам
все равно, пока устройство Dalvik VM дружелюбное, и это задача производителя
устройства, а не ваша.
Метод isCorrect()
Код этого метода достаточно просто, потому что мы уже знакомы со всеми его составляющими. Новенькое будет только в объявлении метода:
- Вводите код на следующей строке после закрывающейся фигурной скобки метода updateScoreAndLevel(), но перед закрывающейся скобкой класса GameActivity. Объявляем метод:boolean isCorrect(int answerGiven){
- Мы видим, что возвращаемый тип этого метода – boolean. Если метод не вернёт значение true или false наше приложение попросту нельзя будет компилировать и Android Studio выдаст ошибку. Значит нам нужно будет внутри метода вернуть значение (return). Также мы видим, что метод должен принять параметр типа int. Пишем далее:boolean correctTrueOrFalse; if(answerGiven == correctAnswer){ Toast.makeText(getApplicationContext(), “Well done!”, Toast.LENGTH_LONG).show(); correctTrueOrFalse=true; } else { Toast.makeText(getApplicationContext(), “Sorry”, Toast.LENGTH_LONG).show(); correctTrueOrFalse=false; }
- Мы уже видели бОльшую часть кода ранее. Разница лишь в том, что мы объявили переменную типа boolean – correctTrueOrFalse, которой мы присвоим значение true если пользователь верно ответит на вопрос и false в случае неверного ответа. А эту информацию мы узнаем путём сравнения двух переменных: if (answerGiven == correctAnswer). Еще мы должны были импортировать класс Toast сочетанием клавиш Alt+Enter по напоминанию от Android Studio. В конце мы пишем: return correctTrueOrFalse; }
Этой строкой мы возвращаем коду, который вызвал метод isCorrect значение, которое хранится в переменной correctTrueOrFalse. Отсюда оператор if в методе updateScoreAndLevel, с которым мы уже разобрались узнает, что ему нужно делать.
Давайте последовательно разберем метод isCorrect:
Для начала мы объявили метод – присвоили ему имя, возвращаемый тип, параметр. Далее объявили переменную типа boolean – correctTrueOrFalse для хранения значения, которое в итоге вернём. Затем мы проверяем правильность ответа – if (answerGiven == correctAnswer). Если оба значения этих переменных совпадают – выдаём поздравительное сообщение и присваиваем значению переменной correctTrueOrFalse – true. В противном случае выдаём сочувствующее сообщение и присваиваем false переменной correctTrueOrFalse. И наконец мы возвращаем (return) true или false, чтобы метод updateScoreAndLevel мог выполнить свою часть работы.
Мы реализовали все необходимые нам методы. Теперь требуется ввести их в работу. В следующем уроке будем вызывать наши методы. Код в этом уроке и то, как должны выглядеть наши java-файлы на данный момент доступны для скачивания ниже.
Как начать писать код на Java?
Если вы приступаете к изучению Java с нуля, то сразу ответьте себе на вопрос, сколько времени вы готовы уделять практике. Потому что любой язык программирования — это как английский: только на книжках и теории выучить не получится.
Для начала необходимо разобраться с базовыми понятиями программирования. Они похожи во всех языках, начинайте с переменных и типов данных в Java, условных операторов, циклов, функций и массивов. Это именно те синтаксические конструкции языка, которые вы затем будете использовать для построения кода.
Важно уделить внимание ООП — объектно-ориентированному программированию. Это парадигма (подход, идея) описания вещей из реального мира в коде с помощью объединения свойств и методов. Например, у каждого автомобиля есть набор характеристик: марка, тип топлива, мощность, год выпуска — это свойства автомобиля
В свою очередь, каждый автомобиль обладает набором функций: он может ехать, тормозить, управлять светом фар и т. д. В ООП также важно, как знание функций и характеристик автомобиля для водителя
Например, у каждого автомобиля есть набор характеристик: марка, тип топлива, мощность, год выпуска — это свойства автомобиля. В свою очередь, каждый автомобиль обладает набором функций: он может ехать, тормозить, управлять светом фар и т. д
В ООП также важно, как знание функций и характеристик автомобиля для водителя
На данном этапе этих базовых знаний вам будет достаточно, чтобы создать своё первое приложение, например простой калькулятор или игру.
Приведём простой пример кода, который обычно разбирают новички в начале обучения. Наша задача — сделать простейший экран с одной карточкой для отображения поста из соцсети. Код на Java будет выглядеть так:
Отметим, что если вы уже знаете основы программирования, то за 2 недели можно начать писать на Java. А учитывая, что язык заставляет явно и однозначно прописывать каждое своё намерение, изучение проходит гладко. Если вы приступаете к изучению Java с нулевого уровня, лучше закладывать хотя бы 2 месяца на основы и практику.
Теперь затронем вопрос выбора наиболее удобного способа изучения Java. Предлагаем несколько вариантов. Первый: получение специальности программиста в университете. С одной стороны, это позволит узнать не только Java, но и другие языки и виды разработки, вы получите фундаментальные знания программирования. Но обучение в вузе — слишком долгий и сложный путь для тех, кто хочет начать разрабатывать на Android быстро.
Второй вариант: изучение основ самостоятельно по книгам, видео и статьям. Как мы писали выше, в сети множество актуальных материалов по мобильной разработке и в частности по Java. Такой путь обучения подойдёт тем, у кого много терпения и усидчивости. Всё придется выучить и понять самому. А если ваш уровень знаний — нулевой, то даже базовые понятия и конструкции могут показаться сперва слишком сложными и непонятными. К тому же теория без практики не сможет дать полной картины.
Есть третий способ: получение нужных знаний и навыков на дополнительных курсах, например онлайн. Сейчас курсы по Java предлагают разные школы, а вы сможете выбрать сложность и длительность программы под себя. Плюс такого подхода в том, что вы будете учиться вместе с ментором. Он проверяет домашние задания и показывает, какие пробелы в знаниях вам ещё нужно закрыть. Стандартная продолжительность подобной программы около 4–5 месяцев.
Но на знании Java останавливаться не стоит. После того, как вы закрепили основы, написали своё первое приложение, а лучше и не одно, мы советуем изучить ещё один язык, который сегодня набирает всё большую популярность и получает признание от крупных игроков рынка.
Ваше первое мобильное приложение в Android Studio
Самый быстрый способ познакомиться с Android Studio — использовать его для разработки приложения. Мы начнем с приложения «Привет, мир», которое выводит сообщение «Добро пожаловать в Android».
Создание нового проекта
На данный момент у вас уже должна быть установлена, запущена и настроена Android Studio. Нажмите кнопку «Начать новый проект Android Studio». После этого на экране появится диалоговое окно «Создать новый проект», показанное на рисунке 15:
Рисунок 15. Диалоговое окно «Создать новый проект»
Введите название приложения — W2A (Welcome to Android) и доменное имя компании. Затем вы должны увидеть, что в качестве местоположения проекта задан путь C:UsersjeffreyAndroidStudioProjectsW2A. Нажмите кнопку «Далее», чтобы выбрать целевые устройства:
Рисунок 16. Выберите категории целевых устройств
Android Studio позволяет выбирать форм-факторы или категории целевых устройств для каждого приложения. Я использую минимальные параметры SDK API 15: Android 4.0.3 (IceCreamSandwich) (в разделе «Смартфоны и планшетные ПК»), которые поддерживается моим планшетом Amazon Kindle Fire HD. Поскольку Android Studio в настоящее время не поддерживает этот уровень API (даже при добавлении образа системы 4.0.3 через SDK Manager), я изменил этот параметр на API 14: Android 4.0 (IceCreamSandwich), который также поддерживается моим планшетом.
Нажмите кнопку «Далее», и вам будет предоставлена возможность выбрать шаблон для основного направления приложения. Пока мы остановимся на «Empty Activity». Выберите этот шаблон и нажмите кнопку «Далее»:
Рисунок 17. Укажите шаблон направления
Затем настройте направление:
Рисунок 18. Настройте направление
Введите W2A в качестве названия направления и main в качестве названия шаблона и нажмите кнопку «Готово», чтобы завершить этот этап. На экране появится сообщение о том, что идет создание проекта, а затем будет загружено рабочее пространство.
Сначала вы увидите приветственное диалоговое окно «Совет дня», которое при желании можно отключить в Android Studio:
Рисунок 19. Рабочее пространство Android Studio
Рабочее пространство проекта состоит из панели меню, панели инструментов, рабочей области, дополнительных компонентов, с помощью которых можно открыть другие окна (например, окно консоли Gradle), и строки состояния.
Чтобы получить доступ к стандартному диспетчеру AVD или диспетчеру SDK, выберите из меню «Сервис» пункт «Android», а затем в появившемся всплывающем меню — пункт «Менеджер AVD» или пункт «Менеджер SDK».
Окна проекта и редактора
Когда вы попадаете в рабочую область проекта, W2A идентифицируется как текущий проект. Через несколько минут данные о нем появятся в двух новых окнах:
Рисунок 20. Окна проекта и редактора
Окно проекта представляет собой дерево, основными ветвями которого являются «Приложения» и «Скрипты Gradle». Приложения разбиты на разделы manifests, java и res:
- В manifests хранится файл AndroidManifest.xml, который представляет собой XML-файл, описывающий структуру Android -приложения. В этот файл также записываются настройки разрешений (когда это применимо) и другие сведения о приложении;
- В java хранятся исходные Java-файлы приложения в соответствии с иерархией пакетов — в нашем случае ca.javajeff.w2a;
- В разделе res хранятся файлы ресурсов приложения, которые разбиты на поддиректории drawable, layout, mipmap и values:
- drawable: первоначально пустой подраздел, в котором можно хранить графические ресурсы приложения;
- layout: содержит файлы макета приложения; изначально здесь хранится файл макета основного направления main.xml;
- mipmap: содержит файлы ic_launcher.png, в которых хранятся иконки для запуска приложения с экрана в различных разрешениях.
- values: содержит файлы colors.xml, dimens.xml, strings.xml и styles.xml.
В разделе настроек Android Studio «Gradle Scripts» определены различные файлы .gradle и .properties, которые используются системой сборки на основе Gradle.
Каждое ответвление / раздел соответствует имени каталога или имени файла. Например, res соответствует каталогу res, а strings.xml соответствует файлу strings.xml.
Заключение
Вау!
Вы только что начали курс по сбору данных в Java для разработки Android. Мы
рассмотрели здесь довольно много материала, поэтому давайте немного
поразмыслим, прежде чем переходить к следующему уроку этой серии уроков. В
уроке 2 мы переключим внимание на подробные детали синтаксиса Java. Вы
только поцарапали поверхность Java-разработки для разработки Android. Ознакомьтесь
со всеми другими замечательными учебниками на Mobiletuts +, чтобы погрузиться
глубже в разработку Java и Android
Удачи!
Вы
только поцарапали поверхность Java-разработки для разработки Android. Ознакомьтесь
со всеми другими замечательными учебниками на Mobiletuts +, чтобы погрузиться
глубже в разработку Java и Android. Удачи!
Об авторах
Разработчики мобильных устройств Лорен Дарси и Шейн Кондер совместно со своими коллегами разработали несколько книг по разработке Android: углубленную книгу по программированию под названием Android Wireless Application Development и разработку приложений для Android от Sams TeachYourself за 24 часа. Когда
они не пишут книги, они тратят свое время на разработку мобильного программного
обеспечения в своей компании и предоставление консультационных услуг. Их можно найти по электронной почте: androidwirelessdev+mt@gmail.com, через свойблог androidbook.blogspot.com и на Twitter @androidwireless.