Программирование под андроид с нуля kotlin

Урок 1. Разработка на Kotlin. Установка Android Studio

В первом уроке курса по разработке андроид-приложений на языке Kotlin мы установим необходимые средства для разработки приложений, такие как среда разработки Android Studio.

Этот курс предполагает, что вы знакомы с основами программирования. Если вы немного умеете читать код, вы должны разобраться, даже если у вас нет большого опыта программирования. Если вы не знакомы с основами программирования, то мы рекомендуем посмотреть хотя-бы несколько уроков курса CS50.

Установка Android Studio на компьютер

В этом курсе мы создадим приложение Android на языке Kotlin, используя официальную среду разработки Android Studio. Android Studio — это IDE, созданная на базе программного обеспечения IntelliJ IDEA от JetBrains специально для разработки Android-приложений. Для создания приложений в Kotlin необходимо установить Android Studio 3.0 или более поздней версии.

Среда Android Studio доступна для компьютеров под управлением Windows, Mac и Linux. Установка практически аналогична для всех платформ. Некоторые различия описаны в подробной инструкции по установке на нашем сайте fandroid.info.

Примечание: Последние сведения о системных требованиях и инструкциях по установке содержатся в официальной документации на сайте developer.android.com/studio.

Если вы используете компьютер, на котором уже установлена ​​Android Studio версии 3.0 и выше, переходите к следующему уроку, в котором мы создадим первый проект.

Android Studio использует инструменты Java Develipment Kit в работе. До недавнего времени перед установкой Android Studio нужно было скачать и установить JDK версии 7 или 8 с официального сайта Oracle. Сейчас такой необходимости нет, поскольку Android Studio уже содержит встроенный пакет инструментов JDK.

Если вам необходимо установить официальный JDK, следуйте инструкции Установка JDK (Java Development Kit) на нашем сайте fandroid.info, ссылка под видео.

Установка Android Studio

На данный момент доступна для загрузки версия Android Studio 3.0.

Скачайте дистрибутив для вашей операционной системы

В процессе скачивания можно ознакомится с видео инструкциями по установке Android Studio для вашей операционной системы.

  1. Запустите дистрибутив для установки
  • Примите настройки по умолчанию для всех шагов.
  • Убедитесь, что выбраны все компоненты для установки
  1. После завершения установки Мастер установки загружает и устанавливает дополнительные компоненты. Будьте терпеливы, потому что это может занять некоторое время в зависимости от скорости вашего интернет-соединения.
  2. После завершения загрузки Android Studio запускается, и вы готовы к созданию первого проекта.

К созданию проекта мы перейдем в следующем уроке, а пока на стартовом экране откройте в меню Configure> SDK Manager, который управляет всеми установленными компонентами среды разработки.

На вкладке SDK Platforms можно увидеть, что загружена только последняя версия Android. Нужно пометить для загрузки несколько последних версий, самых популярных на текущий момент, и скачать их. Процесс загрузки и распаковки происходит автоматически, вам следует только набраться терпения и дождаться его окончания. После окончания установки вы увидите в окне SDK Manager, что выбранные компоненты помечены как загруженные.

Самые популярные версии Android на текущий момент можно посмотреть в статистике на официальном сайте https://developer.android.com/about/dashboards/index.html

Возможные проблемы: Если имя пользователя ПК в Windows написано кириллицей, то Android Studio не будет правильно работать, поскольку среда разработки не читает кириллицу в пути к файлам. Переименуйте пользователя английскими буквами.

При возникновении проблем с установкой вы можете задать вопросы в комментариях под видео на канале Start Android и в комментариях ниже. Кроме того, вы можете воспользоваться различными форумами по программированию, такими как StackOverFlow. Обычно бывает достаточно ввести часть текста ошибки в поиске на StackOverFlow, чтобы найти подсказку к решению проблемы.

На этом наш урок подошел к завершению. А на следующем уроке мы создадим проект в среде разработки Android Studio и запустим первое приложение на андроид-устройстве.

Источник

Как разработать свое первое приложение для Android на Kotlin

Android становится одной из самых популярных операционных систем в эпоху мобильной разработки. ОС дает разработчикам быстрый выход на рынок (TTM), платформу с открытым исходным кодом, которая может адаптироваться к меняющимся бизнес-требованиям, и возможность развертывания на нескольких платформах.

Это делает Android одним из лучших решений для создания приложений с расширенными функциями.

Приложения для Android написаны на Java или Kotlin. Kotlin становится предпочтительным вариантом для разработчиков приложений, и Google даже объявил, что Kotlin является предпочтительным языком. Сегодня мы расскажем вам, как создать приложение для Android с помощью Kotlin.

История развития Android

С момента своего создания в 2003 году Android стала одной из крупнейших в мире операционных систем для разработки мобильных приложений. Изначально стартап, который изначально намеревался улучшить цифровые камеры, Android переключился на мобильные телефоны в 2004 году, а в следующем году был приобретен Google.

Android 1.0 дебютировал в 2008 году в США. С тех пор было выпущено 15 выпусков мобильных телефонов, использующих эту операционную систему, причем последний анонсированный выпуск Android 11 состоялся в феврале 2020 года.

Читайте также:  Lemobile android device что это

Из этого краткого урока истории о том, как появился Android, мы готовы установить нашу интегрированную среду разработки (IDE): Android Studio.

Что такое Android Studio и SDK?

Android Studio, созданная специально для Google, призвана максимально упростить разработку приложений для Android. Согласно документам разработчика Android,

«Android Studio — это официальная среда IDE для разработки приложений Android на основе IntelliJ IDEA».

С Android Studio вы можете тестировать приложения либо на эмуляторе, либо прямо на устройстве. Для разработки под Android используются несколько языков. Мы обсудим это более подробно позже.

  • Java / Kotlin: исходный код
  • Groovy: сценарии сборки
  • XML: структура макета и ресурсы

Android Studio поставляется с Android Software Development Kit (SDK), который является важной частью разработки Android. Он включает файлы и библиотеки для создания приложений Android, а также такие инструменты, как диспетчер виртуальных устройств и мост ADB.

Чтобы загрузить Android Studio, перейдите на официальный сайт и следуйте инструкциям, чтобы начать работу в вашей конкретной операционной системе (Windows / Mac / Linux).

Если вы планируете использовать виртуальное устройство Android вместо физического устройства, обратите внимание на дополнительные требования, необходимые для запуска эмулятора.

Особенности Android Studio

В Android Studio есть несколько функций, которые делают его достойной IDE для вашего следующего проекта:

  • IntelliJ IDEA: этот инструмент от российской компании JetBrains делает разработчиков приложений более продуктивными при написании кода, помогая в построении кода. Google на базе Android Studio на этой концепции JetBrains. Интеллектуальное автозавершение кода также может предотвратить ошибки.
  • Google Play Instant Android Studio: этот инструмент помогает создавать приложения без необходимости загружать их из магазина Google Play. Функция «Попробовать» похожа на демонстрационную версию приложения, которая поощряет установку после того, как пользователи попробуют приложение.
  • Редактор визуального макета: редактор макета Android Studio позволяет быстро создавать макеты для экранов, перетаскивая компоненты пользовательского интерфейса и виджеты в редактор визуального дизайна. Вы можете создать макет без использования XML.
  • Быстрый эмулятор: эмулятор Android позволяет нам моделировать экраны на устройстве Android, чтобы мы могли тестировать наше приложение без физического устройства. Вы можете имитировать входящие телефонные звонки и текстовые сообщения, изменить местоположение устройства, имитировать физическое вращение устройства и многое другое.
  • Новое действие как шаблон кода: последняя версия Android Studio предоставляет нам различные шаблоны действий, которые мы можем использовать для создания шаблонов наших приложений без написания кода вручную. Вы также можете использовать эти шаблоны при добавлении модулей в проекты.

Технологии, используемые в разработке под Android

Теперь, когда мы рассмотрели наиболее интересные части Android Studio, давайте узнаем о некоторых языках программирования, с которыми вы столкнетесь как разработчик Android.

  • Java: Java изначально использовалась в качестве основного языка для разработки под Android до принятия Kotlin. Это очень многословный язык, и вы можете увидеть его в старых, устаревших проектах. Полезно знать Java, но, вероятно, в будущем она будет заменена Kotlin.
  • Kotlin: Kotlin — это кроссплатформенный язык программирования со статической типизацией и выводом типов. Kotlin был создан, чтобы решить проблему многословности Java. Этот язык очень хорошо сочетается с различными пакетами SDK для Java и полностью совместим с Java.
  • Система сборки Android: Android Studio использует Gradle для компиляции ваших приложений. Gradle — это набор инструментов, который автоматизирует процесс сборки с вашими настройками. Gradle упакует ваши ресурсы в пакет приложений Android (APK), который вы можете протестировать, развернуть и выпустить.
  • XML: Extensible Markup Language, XML, используется для создания файлов макета в приложениях Android. Он похож на HTML, но более строг. Обычно мы называем наши XML-файлы в соответствии с названием нашей деятельности в наших файлах Kotlin или Java. XML также используется в manifest.xmlфайле для определения компонентов. Думайте о XML как о скелете нашего пользовательского интерфейса.

Чтобы понять разницу между Kotlin и Java, сравните этот MainActivity.javaфайл и MainActivity.ktфайл Android.

Теперь, когда у нас есть представление о технологиях, которые используются при создании приложения для Android, давайте соберем все это вместе и создадим базовое приложение с использованием Kotlin!

Как настроить ваше первое приложение

Чтобы создать наше первое приложение для Android, мы хотим убедиться, что у вас установлена Android Studio. Перейдите по ссылке в разделе «Установка Android Studio», чтобы настроить среду, если вы еще этого не сделали.

Настройки в Android Studio

Откройте Android Studio. Вам будет предложено несколько вариантов. Мы ищем для создания нового проекта. Когда вы нажмете на эту опцию, вам будет предложено выбрать свой проект.

Есть всевозможные шаблоны экранов, из которых вы можете выбирать. На данный момент выберите «Основные действия» на вкладке «Телефон и планшет».

Затем вы будете перенаправлены на экран, на котором вам будет предложено назвать свое приложение, где его сохранить, и должно ли оно быть приложением с поддержкой Instant App.

Важный! Обязательно выберите Kotlin в качестве своего языка. На данный момент по умолчанию используется Java.

Минимальный уровень API — это версия Android, для которой вы хотите разрабатывать. Android предоставляет удобную всплывающую подсказку, которая сообщает вам, на каком проценте устройств будет работать выбранный вами API. Ваши потребности могут отличаться, но рекомендуется использовать API 23: Android 6.0 (Marshmallow).

Читайте также:  Весь трафик через tor android

Щелкните Готово. На этом этапе создание проекта займет около минуты. Давайте продолжим и создадим виртуальное устройство Android. Чтобы мы могли предварительно просмотреть наше приложение в эмуляторе Android.

Настройте виртуальное устройство для тестирования вашего приложения

Виртуальное устройство Android (AVD) — это набор характеристик, которые определяют тип устройства, которое вы хотите эмулировать в эмуляторе Android. В Android Studio есть AVD Manager, который помогает нам создавать виртуальные устройства и управлять ими.
Это означает, что в Android Studio есть место, где мы можем создавать наши виртуальные телефоны, планшеты и многое другое, чтобы мы могли тестировать на них наши приложения.

  1. Откройте AVD Manager, выбрав Инструменты> AVD Manager.
  2. Нажмите «+ Создать виртуальное устройство…»
  3. Выберите оборудование, на котором вы хотите протестировать. Есть варианты телефона, планшета, телевизора и Wear OS. Нажмите «Далее.
  4. Выберите образ вашей системы. Это версия Android, которую вы хотели бы использовать.
  5. Следуйте инструкциям, если Android Studio сообщает, что вам нужно загрузить образ системы.
  6. Нажмите «Далее.
  7. Для начала выберите ориентацию телефона и нажмите «Готово».

Теперь вы готовы эмулировать Android-устройство в Android-эмуляторе! Нажмите кнопку «Воспроизвести» на панели инструментов, чтобы запустить приложение. В шаблоне «Basic Activity» он поставляется с предварительно запеченной базовой панелью навигации, кнопкой действия и TextView с надписью «Hello, World!».

Источник

Пишем на Kotlin под Android

Года два назад я обнаружил, что в Android Market нет удобных мне приложений для учета времени, затраченного на разные проекты. Как настоящий лентяй, я решил не искать требуемое, а написать его сам. Это оказалось несколько сложнее, чем казалось вначале, и я все забросил в режиме вялотекущего хобби воплощение моего желания прожило больше года, медленно продвигаясь от идеи к альфа-версии.

И тут вдруг добрые люди предложили мне рассказать, как писать под Android на Kotlin’e. Мне показалось, что это добрый знак, и я быстро переписал приложение на Kotlin, закончил его и выложил в Google Play.

Важное уточнение: эта статья — только про то, как писать под Android на Kotlin’e. Интересно будет только тем, кто хочет попробовать Kotlin, и тем, кто хочет понять, зачем его пробовать. Приложение, которое я написал — очень-очень простое (и само по себе никак не относится к JetBrains). В его коде гарантированно можно что-то улучшить, оно выложено на Github только для примера, а не в качестве образца восхитительного кода. Оно работает, и если вам хочется его попробовать, то поставить можно отсюда. Но еще раз: это — демо, его цель — быть не совершенным приложением, а введением в Kotlin под Андроид.

Опять что-то новое. И зачем мне это знать?

Чтоб не оттягивать самое интересное, упомянем только самые главные преимущества Kotlin’a:

  • компактность кода. Быстро писать, легко читать, меньше наведенных ошибок;
  • встроенная защита от ошибок, прежде всего — nullability, т. е. требование к программисту явно указывать, что некая переменная может принимать значение null;
  • легкость в освоении (по-моему, даже начинающий разработчик на Java освоит Kotlin без труда).

На Kotlin’e можно писать значительно быстрее, чем на Jav’e, и код, на мой взгляд, получается более красивым.

Кстати, на github’e уже более 200 репозиториев с кодом на Kotlin’e, а если говорить про мобильные приложения, то Kotlin использовался при разработке мессенджера Telegram.

Ну ладно, а с чего начать-то?

Для работы потребуется IDE. Я по очевидным причинам предпочитаю IntelliJ IDEA, однако JetBrains делает плагин Kotlin и для Eclipse, а любители vim могут пользоваться отдельным компилятором языка.

Дальше будем предполагать, что все, кто пожелает попробовать Kotlin в деле под Android, будут использовать IntelliJ IDEA. Для работы понадобится установить плагин Kotlin и позаботиться, чтобы на компьютере были gradle и Android SDK (это к Kotlin’y отношения не имеет, это надо для разработки под Android на чем угодно).

Вначале была Java

У меня уже было частично написанное приложение, когда я решил довести его до конца. Все было написано на Java.

Суть приложения: на экране есть список красных задач, если кликнуть по задаче, она зеленеет, и время пошло: это значит, что пользователь работает над задачей. Как прекратил — кликает по ней еще раз, и задача снова краснеет, показывая, как немного времени он на нее потратил. Приложение слепо доверяет пользователю, не проверяя его никак: это вам не «большой брат смотрит за тобой» от oDesk’a.

То, что было написано на Java, я хотел переписать на Kotlin, душа просила кода на 100% на Kotlin, несмотря на то, что в одном проекте можно использовать код на Java и на Kotlin’e одновременно. Оказалось, что с унаследованным кодом все просто: рядом с src/main/java создаем папку src/main/kotlin, и в нее помещаем классы. Файлы в Kotlin’е заканчиваются не на .java, а на .kt. Тут к месту оказался приятный момент: Kotlin не требует соответствия «один класс — один файл». Можно в один файл запихнуть столько классов, сколько хочется по логике приложения. В моем приложении было всего две логических части — работа с базой данных и экранный интерфейс пользователя, так что количество файлов можно было сократить.

Читайте также:  Крипто кошельки для андроид

Плагин Kotlin к IntelliJ IDEA умеет конвертировать файлы .java в файлы .kt, выполняя аккуратную трансляцию из Java в Kotlin. Можно это делать через правый клик по файлу и контекстное меню, а можно — прямо при копировании кода на Java в файл .kt (плагин спросит, не сконвертировать ли).

Пишем код на Kotlin’e

Код на языке Kotlin компактен: например, класс вместе с конструктором и getters/setters описывается так:

Посмотрим на код, который создает диалог для ввода текста по клику на кнопку.

Согласитесь, код на Kotlin’e читается проще. Для внимательного читателя заметим, что это, конечно, только фрагмент кода, так как при создании диалога нужна не только кнопка «ОК», но и кнопка «Отмена». Полностью код выложен на Github.

Что дает возможность так сокращать код? Например, в Kotlin’e возможна такая форма записи: если где-то в качестве параметра ожидается экземпляр класса с одним абстрактным методом, туда можно просто передать лямбду: именно это и показано в примере выше.

Обратите внимание, что в Kotlin’e можно не указывать тип переменной, так как он будет выведен из правой части присваивания:

Java Kotlin
AlertDialog.Builder alert = new AlertDialog.Builder (this); val alert = AlertDialog.Builder(this)

Интересная особенность синтаксиса в Kotlin’e: если в функцию передаются параметры, и последний параметр — функция, то ее можно вынести за скобки. Именно это мы видим во фрагменте, где в setPositiveButton передается лямбда, которая сработает по нажатию кнопки «ОК»:

То же самое можно записать как

Вы вольны сами выбрать, какой вариант кажется проще для чтения.

Использование библиотек на Java в коде на Kotlin’e

Еще один приятный момент — возможность напрямую использовать библиотеки, написанные на Java, из кода на Kotlin.

Например, чтобы нормально обрабатывать спецсимволы и Unicode в названиях проектов при сохранении их в SQLite, я использовал функции StringEscapeUtils.escapeJava и StringEscapeUtils.unescapeJava из популярной библиотеки, которую достаточно импортировать оператором import (и вписать в зависимости в свойствах проекта):

Возвращаемое значение

В Kotlin в функциональных литералах (a.k.a лямбда-функциях) запрещено использовать return, так как функциональный литерал возвращает значение, вычисленное в последнем выражении. Так, в вызове setOnTouchListener ожидается, что последний параметр вызова — функция, возвращающая boolean. Это значение фактически возвращает gestureDetector.onTouchEvent(aEvent).

В коде функционального литерала на Kotlin нельзя писать return gestureDetector.onTouchEvent(aEvent), результат вызова gestureDetector.onTouchEvent(aEvent) и так будет возвращен.

На самом деле есть специальные случаи, когда в функциональном литерале следует использовать нелокальный return. Если интересно, подробности есть в документации по Kotlin

Аналогично работает возврат значений функциями, определенными через знак «=», вот так:

Строковые шаблоны

Чтобы избавиться от длинных строк, трудных для чтения и дающих неоптимальный байт-код, в Kotlin’e применены строковые шаблоны (string templates):

Здесь projectToDelete — это строковая переменная. Синтаксис такого шаблона привычен любому, кто имел дело с переменными среды в UNIX, например. Особенно удобны шаблоны для строк, составленных из текста и значений многих переменных, да еще и с форматированием:

Между прочим, с форматированием по ходу дела вышла интересная история: тип String в Kotlin — свой, и метода format в нем нет, поэтому пришлось импортировать java.lang.String.format явным образом и потом к нему так обращаться. Удивительно, кстати, что ни в Java, ни в Kotlin’e до сих пор нет метода secondsToHumanReadableString, преобразующего целое число секунд в строку формата

when и with

Очень удобно использовать when для множественного выбора и with для сокращения обращений к методам и свойствам — и того, и другого хватает даже в маленьком приложении под Android. В моем случае это давало более легкий в чтении код, например:

Без with получились бы alert.setPositiveButton, alert.setNegativeButton, alert.create, alert.show. When тоже повышает читаемость:

Компиляция с помощью Gradle

Если вы создаете build.gradle руками и/или собираете проект gradle’ом без IDE, то прочтите, как сдружить gradle, Kotlin и Android на сайте Kotlinlang.org.

Не знаю, есть ли такая проблема у пользователей Android Studio, но у привычного к IntelliJ IDEA человека работа с Gradle может вызвать вопрос, как собрать .apk для релиза, а не для отладки.

Для этого в IDEA есть плагин Gradle, открывается кликом по табу справа:

По умолчанию IDEA собирает *-debug-unsigned.apk, т.е. то, что в Google Play не положишь. Чтобы оно стало *-release-signed.apk, надо сгенерировать ключ для подписи, положить его в keystore, и вписать несколько строк в build.gradle вашего проекта, чтобы Gradle знал, где ключ взять. Для сборки release, выберите в окне Gradle задачу assembleRelease двойным кликом по ней.

Про то, как создавать ключ и подписывать приложение вы либо уже знаете, либо можете прочесть подробнее на stackoverflow.

На заметку

Недавно открылся наш новый сайт про Kotlin kotlinlang.org, который хостится на Jekyll+Github. Чем это решение хорошо, на Хабре недавно уже писали.

Если в статье какие-то примеры кода показались вам красивыми, то это — несомненная заслуга Натальи Ухорской, которая работает у нас в команде Kotlin. Я очень благодарен Наташе за советы, без которых эта статья оказалась бы короче, а код — менее похожим на классический Kotlin.

Мы будем очень рады, если сэкономленные за счет использования Kotlin часы вы сможете провести на пляже. Хорошего остатка лета!

UPD от 31.07.14, 18:55: поправлены некоторые термины и формулировки.

Источник

Оцените статью