- Как использовать Kotlin в ваших проектах Android
- Вступление
- Предпосылки
- 1. Установка плагинов Kotlin
- 2. Создание Activity Kotlin
- 3. Использование Kotlin
- 4. Использование расширений Kotlin для Android
- Keddit — Часть 1: Настройка Android Studio для Kotlin
- Создание проекта
- Плагин Kotlin
- Настройка проекта для Kotlin — «первая попытка»
- Из Java файла в Kotlin
- Настройка проекта для Kotlin — «последний шаг»
- Запускаем!
- Репозиторий
- Заключение
- Создание функциональных приложений для Android в Kotlin: начало работы
- Установка плагина Kotlin в Android Studio
- Настройка вашего проекта для использования Kotlin
- Конвертировать любой файл Java в Kotlin
- Понимание синтаксиса Kotlin
- Создание дополнительных файлов Kotlin
- Расширения Kotlin для Android: махните на прощание, чтобы findViewById
Как использовать Kotlin в ваших проектах Android
Вступление
Kotlin , язык программирования с открытым исходным кодом, разработанный JetBrains , становится все более популярным среди разработчиков Java. Это часто рекламируется как преемник Java. По сравнению с Java, он предлагает более богатый опыт разработки, потому что он более современный, выразительный и лаконичный.
Если вы ищете альтернативный язык программирования для разработки под Android, попробуйте Kotlin. Его можно легко использовать вместо или вместе с Java в ваших проектах Android.
В этом руководстве я покажу вам, как использовать плагины Kotlin и Kotlin в ваших проектах Android Studio.
Предпосылки
Чтобы следовать за мной, вам необходимо иметь:
- последняя версия Android Studio
- базовое понимание синтаксиса Kotlin
Если вы не знакомы с языком программирования Kotlin, я рекомендую прочитать раздел « Начало работы » справочника Kotlin, чтобы быстро освоить язык.
1. Установка плагинов Kotlin
В меню быстрого запуска Android Studio выберите « Настройка»> «Подключаемые модули» .
На следующем экране нажмите Установить плагин JetBrains … внизу.
Выберите Kotlin Extensions для Android из списка и нажмите « Установить плагин» справа.
Поскольку плагин зависит от плагина Kotlin, вам будет предложено установить оба. Нажмите Да, чтобы начать установку.
После завершения установки перезапустите Android Studio, чтобы активировать плагины.
2. Создание Activity Kotlin
В Android Studio щелкните правой кнопкой мыши имя вашего пакета и выберите « Создать»> «Файл Kotlin» .
В появившемся диалоговом окне введите имя нового Activity и выберите « Класс» в раскрывающемся списке. Я назвал свой класс MainActivity .
Как только класс будет создан, вы увидите предупреждение с просьбой настроить модуль приложения для поддержки Kotlin.
Нажмите на ссылку в предупреждении и в появившемся диалоговом окне нажмите OK, чтобы выбрать значения по умолчанию.
Чтобы настроить ваш проект на поддержку Kotlin, плагин Kotlin вносит несколько изменений в файл build.gradle . Примените эти изменения, нажав кнопку « Синхронизировать сейчас» , как показано ниже.
На этом этапе настройка вашего проекта завершена. Вернитесь к классу Kotlin, который вы создали минуту назад, чтобы начать кодирование в Kotlin.
3. Использование Kotlin
Для простоты примера я покажу вам, как создать действие с одним TextView , отображающим String .
Убедитесь, что ваш класс является подклассом Activity и переопределите его метод onCreate . Конечно, вы должны сделать это в Котлине. Если вы новичок в Kotlin, я предлагаю вам использовать функциональность генерации кода Android Studio, нажав Control + O, чтобы получить правильные сигнатуры метода.
Теперь ваш класс должен выглядеть так:
Создайте экземпляр TextView в качестве локальной переменной, назначаемой один раз, с помощью ключевого слова val .
Вызовите его метод setText чтобы установить String вы хотите отобразить, а затем вызовите setContentView чтобы отобразить текстовое представление.
Как и в случае Java Activity , вам нужно объявить вашу Activity Kotlin в AndroidManifest.xml вашего приложения, чтобы она распознавалась системой Android. , Если это единственное действие в вашем проекте, ваш файл манифеста должен выглядеть следующим образом:
Теперь вы можете скомпилировать и запустить ваше приложение на вашем Android-устройстве или в эмуляторе. Хотя компилятор Kotlin немного медленнее, чем компилятор Java, вы вряд ли увидите какие-либо существенные изменения во времени сборки вашего проекта.
4. Использование расширений Kotlin для Android
Плагин Kotlin Android Extensions позволяет обрабатывать виджеты, которые вы определяете в XML-макете Activity как если бы они были свойствами этого Activity . Другими словами, если вы используете этот плагин, вам никогда не придется вызывать findViewById . Эти свойства удачно называют синтетическими свойствами .
Источник
Keddit — Часть 1: Настройка Android Studio для Kotlin
В этой части мы настроим проект Android Studio для использования Кotlin и подготовим все остальное для следующей части, чтобы уже начать разрабатывать приложение Keddit и изучить некоторые концепции Kotlin.
Если Вы пропустили вводную часть вы можете по ссылке Введение, чтобы быстро ознакомиться чем мы будем заниматься, темы которые мы затронем и какие библиотеками воспользуемся.
Создание проекта
МЫ начнем с самого начала, запустите Android Studio и создайте новый проект. Я назвал приложение «KedditBySteps».
Выберите уровень API 16 и шаблон «Blank Activity» и просто оставьте имя активити по умолчанию.
Плагин Kotlin
И так мы создали новый проект, давайте сейчас установим необходимый нам плагин:
File > Settinngs > Plugins > Browse Repositories > в поисковой строке введите «Kotlin» > установите плагин.
Обращаю ваше внимание, если вы уже используете версию Android Studio 2.0, то в нем уже встроен этот плагин. Также отключите функцию “мгновенный запуск”.
Настройка проекта для Kotlin — «первая попытка»
Если вы уже прочитали о том как настроить Kotlin, то возможно, Вы уже хотите использовать его в своем проекте. Перейдите Tools > Kotlin > Configure in Project или нажав два раза кнопку Shift и введя в появившейся поисковой строке «Configure Kotlin…», как на изображении ниже:
Если вы сделали это, то вы наверняка обратите внимание на то, что ничего не произошло. Единственное, что вы увидите сообщение, что все модули с файлами Kotlin были настроены. Ничего не произошло потому, что у нас нет файлов Kotlin в нашем проекте. Давайте создадим Kotlin-файл.
Из Java файла в Kotlin
Для того, чтобы у нас был файл Kotlin мы преобразуем уже существующий java файл MainActivity.java в Kotlin файл. Для этого просто откройте файл MainActivity.java и откройте поисковую строку (двойным нажатием Shift) и введите строку «Convert Java to…»:
Сообщение предупредит нас, что преобразование может быть не точным и требует ручной модификации, но не беспокойтесь. Вы увидите что-то наподобие этого:
Мы пока не будем анализировать этот код, мы сделаем это в следующей части, просто продолжим настраивать наш проект. Еще вы можете заметить, что расширения нашего файла «.kt».
Настройка проекта для Kotlin — «последний шаг»
Теперь мы готовы полностью настроить наш проект. Давайте снова запустим поисковую строку и введем «Configure Project with Kotlin». (прим. от переводчика: или нажмите сверху над кодом на надпиcь Configure).
Появится новое диалоговое окно, в котором мы можем выбрать модули, которые мы хотели бы конвертировать, а также версии плагинов Kotlin (просто выбери последний).
Далее, когда вы нажмете на кнопку ОК вы увидите файл build.gradle. В нем будут новые конфигурации:
Запускаем!
Все готово для запуска приложения:
Репозиторий
Вы можете скачать и посмотреть на исходный код, отмеченный как v.01:
Заключение
Как Вы уже заметили это реально очень просто настроить проект Android Studio для Kotlin, нам нужен только файл Kotlin в модуле для того, чтобы настроить плагин.
С этого нового проекта мы готовы начать разработку приложения Keddit и самое главное это изучить основные концепции Kotlin.
Источник
Создание функциональных приложений для Android в Kotlin: начало работы
Хотя подавляющее большинство приложений для Android написано на Java, не существует правила, согласно которому вы должны использовать Java для разработки под Android. Существует множество современных языков программирования, которые предназначены для работы на виртуальной машине Java (JVM), и одним из этих языков, который становится популярным в сообществе Java, является Kotlin.
В первой части этой серии из трех статей мы рассмотрели, что такое Kotlin и что он может предложить разработчикам Android:
- Он на 100% взаимозаменяем с Java, так что вы можете продолжать использовать существующие библиотеки Java и фреймворки, и даже можете использовать смесь кода Java и Kotlin в ваших проектах Android.
- Его синтаксис спроектирован так, чтобы чувствовать себя очень похожим на Java, а это значит, что разработчикам Java должно быть довольно легко разобраться с основами Kotlin.
- Он сочетает в себе функции и концепции как функционального, так и процедурного программирования.
- Это хорошо поддерживается Android Studio.
В этом последующем уроке мы начнем с реальной разработки Kotlin. К концу учебника вы создадите простое приложение для Android, которое отображает строку текста и полностью написано на Kotlin. Вы также узнаете, как избежать написания другого findViewById , используя расширения Kotlin для Android.
Но сначала пришло время научить нашу среду разработки говорить на новом языке!
Установка плагина Kotlin в Android Studio
Самое первое, что вам нужно сделать, это добавить поддержку Kotlin в вашу установку Android Studio.
Прежде чем мы начнем, убедитесь, что вы используете самую последнюю стабильную версию Android Studio, так как вы с большей вероятностью столкнетесь с ошибками с плагином Kotlin в экспериментальных версиях Android Studio. Также стоит открыть SDK Manager и проверить, доступны ли обновления для любого из установленных вами пакетов.
Если вы уверены, что ваша среда разработки обновлена, вы готовы установить плагин Kotlin. Запустите Android Studio, и вы должны увидеть окно « Добро пожаловать в Android Studio» — если это окно не появляется, полностью закройте Android Studio и перезапустите его.
Нажмите значок « Настройка» , а затем выберите « Плагины» в следующем раскрывающемся списке.
Нажмите кнопку Установить плагины JetBrains …
Выберите Kotlin из меню, а затем нажмите зеленую кнопку Install . Вам нужно будет перезапустить вашу IDE, прежде чем плагин Kotlin станет активным, поэтому либо нажмите кнопку « Перезапустить Android Studio» , которая появляется, либо перезапустите вашу IDE вручную.
Настройка вашего проекта для использования Kotlin
На этом этапе ваша IDE может понимать и запускать код Kotlin, но вам все равно придется настраивать Kotlin каждый раз, когда вы захотите использовать его в новом проекте. Давайте создадим новый проект и настроим этот проект для использования Kotlin сейчас. Создайте новый проект с настройками по вашему выбору, но для простоты выберите « Пустое действие» при появлении запроса.
Благодаря плагину Kotlin, настройка проекта для использования Kotlin не может быть проще: просто выберите Инструменты на панели инструментов Android Studio, а затем Kotlin и Configure Kotlin в Project.
Откроется всплывающее окно, где вы можете настроить Kotlin для:
- все модули
- все модули, содержащие файлы Kotlin
- или один, названный модуль
Поскольку в своем проекте я собираюсь использовать только код Kotlin, я выбрал все модули . Вы также можете выбрать, какую версию Kotlin вы хотите использовать — обычно это будет последняя версия.
Кроме того, вы можете настроить Kotlin, выбрав « Справка» в строке меню Android Studio, а затем « Найти действие». На панели « Найти действие» начните вводить « Настройка Kotlin» в Project , а затем выберите эту опцию, когда она появится.
Параметр « Настроить Kotlin in Project» вносит ряд изменений в файлы build.gradle вашего проекта, поэтому давайте подробнее рассмотрим, как эти файлы изменились. Откройте файл build.gradle уровня проекта — он должен выглядеть примерно так:
Теперь давайте взглянем на файл build.gradle уровня модуля :
Наконец, синхронизируйте свои изменения, щелкнув « Синхронизировать сейчас» в появившемся всплывающем окне или щелкнув значок « Синхронизировать проект с файлами Gradle » на панели инструментов Android Studio.
Конвертировать любой файл Java в Kotlin
Особенностью плагина Kotlin, которая особенно полезна для новичков Kotlin, является его способность конвертировать любой исходный файл Java в Kotlin при сохранении полной совместимости во время выполнения.
Возможность точно увидеть, как любой Java-файл будет переводиться на Kotlin, идеально подходит для того, чтобы помочь вам выучить язык, но он также может пригодиться на протяжении всего вашего путешествия по Kotlin — если вы когда-нибудь пытаетесь понять, как написать что-то на Kotlin, Вы всегда можете написать его на Java, а затем использовать эту функцию для преобразования этого кода в Kotlin.
Давайте преобразуем файл MainActivity нашего проекта в исходный файл Kotlin. Существует два способа вызова действия « Преобразовать Java-файл в Kotlin-файл» плагина Kotlin :
Выберите файл MainActivity , а затем выберите « Код » в строке меню Android Studio, а затем « Преобразовать файл Java в файл Kotlin» .
Или выберите « Справка» в строке меню Android Studio, а затем « Найти действие» . В следующем всплывающем окне начните вводить Преобразовать файл Java в файл Kotlin, а затем выберите этот параметр, когда он появится. Обратите внимание, что вы также можете запустить всплывающее окно « Найти действие» с помощью сочетания клавиш: если вы используете Mac, нажмите клавиши Command-Shift-A , а если вы работаете в Windows или Linux, нажмите Control-Shift-A .
Просто помните, что в зависимости от сложности вашего кода конверсия не всегда может быть точной на 100%, поэтому вы всегда должны проверять конвертированный код на наличие ошибок.
Ваш недавно преобразованный MainActivity должен выглядеть примерно так:
Вы также заметите, что расширение файла изменилось, превратившись из MainActivity.java в MainActivity.kt .
Это может быть простое Activity , но эти несколько строк иллюстрируют некоторые ключевые характеристики синтаксиса Kotlin. Так как это наш первый взгляд на некоторый реальный код Kotlin, давайте разберем этот класс построчно.
Понимание синтаксиса Kotlin
В Kotlin вы объявляете классы, используя ключевое слово class , точно так же, как в Java. Однако в Kotlin классы (и методы) по умолчанию являются общедоступными и окончательными, поэтому вы можете создать класс, просто написав class MainActivity .
Когда дело доходит до расширения класса, вы заменяете расширения Java двоеточием, а затем присоединяете имя родительского класса. Итак, в первой строке нашего файла MainActivity.kt мы создаем открытый финальный класс с именем MainActivity, который расширяет AppCompatActivity :
Если вы хотите переопределить класс или метод, вам нужно явно объявить его открытым или абстрактным.
В Kotlin функции определяются с помощью ключевого слова fun , за которым следует имя функции и параметры в скобках. В Kotlin имя функции предшествует ее типу:
Это противоположность Java, где тип стоит перед именем:
Обратите внимание, что мы не указываем, что этот метод является окончательным, так как в Kotlin все методы являются окончательными по умолчанию.
Остальная часть этого занятия выглядит очень похоже на Java. Тем не менее, эти несколько строк иллюстрируют еще одну ключевую характеристику Kotlin:
В Kotlin вам не нужно заканчивать свои строки точкой с запятой, отсюда и отсутствие двоеточий в приведенном выше фрагменте. Вы можете добавить двоеточия, если вы действительно этого хотите, но ваш код будет чище и легче будет читать без них.
Теперь, когда мы расшифровали наш файл MainActivity.kt , давайте переместим его в соответствующий каталог . Поскольку плагин Kotlin столкнулся с проблемой добавления объявления src / main / kotlin в наш файл build.gradle , давайте создадим этот каталог. Этот шаг не является обязательным, но хранение ваших файлов Kotlin в специальном каталоге сделает проект более чистым.
В обозревателе проектов Android Studio щелкните , удерживая клавишу Control, в главном каталоге вашего проекта и выберите « Создать» в появившемся меню, а затем « Каталог» . Назовите этот каталог kotlin и затем нажмите OK .
Если вы не можете найти основной каталог вашего проекта, откройте маленький выпадающий список в верхнем левом углу окна Project Explorer и выберите Project . Теперь у вас не должно возникнуть проблем с обнаружением этого неуловимого каталога src / main .
Создав специальный каталог Kotlin , перетащите в него файл MainActivity.kt . Просто сохраните имя существующего пакета вашего файла MainActivity.kt , чтобы ваш проект все еще работал .
Кроме того, если вы собираетесь использовать Kotlin только в этом проекте, вы можете удалить каталог Java , а не загромождать свой проект пустыми и ненужными каталогами.
Поскольку Kotlin компилируется в байт-код, приложение, написанное на Kotlin, выглядит точно так же, как приложение, написанное на Java, поэтому попробуйте установить это приложение на ваше устройство Android или совместимое AVD — должно быть, как будто ничего не изменилось.
Создание дополнительных файлов Kotlin
Если вы продолжите работать с Kotlin в своем проекте, то рано или поздно вам придется начать создавать новые файлы Kotlin, а не просто конвертировать существующие файлы Java.
Чтобы создать файл Kotlin, удерживая клавишу Control, щелкните каталог приложения / src / main / kotlin и выберите « Создать»> «Деятельность Kotlin» .
Дайте вашему классу имя и выберите класс из выпадающего меню. Ваш новый класс должен выглядеть примерно так:
На данный момент ваша активность пуста. Чтобы приступить к добавлению некоторых реальных функций, вам необходимо выполнить несколько шагов. Во-первых, добавьте операторы import вы хотите использовать. Единственное отличие между операторами импорта в Kotlin и операторами импорта в Java заключается в том, что вам не нужно заканчивать каждую строку точкой с запятой. Например:
Затем вам нужно будет указать класс, который вы расширяете, используя тот же формат, который мы видели в нашем файле MainActivity.kt :
Далее вам нужно переопределить метод onCreate в onCreate :
Теперь вы можете добавить любую функциональность, какую захотите, в это действие (и в следующем разделе я покажу вам, как использовать расширения Kotlin для управления виджетами пользовательского интерфейса, так что это может быть хорошим началом), но последний момент настройки вам нужно завершить объявление вашей активности Kotlin в вашем манифесте . Это следует в точности той же формуле, что и объявление новой активности Java, например:
Расширения Kotlin для Android: махните на прощание, чтобы findViewById
Теперь, когда мы освоили основы, давайте более подробно рассмотрим, на что действительно способен Kotlin — начиная с функции, которая может реально сократить объем стандартного кода, который вам нужно написать.
В Android каждый раз, когда вы хотите работать с любым View в действии, вам нужно использовать метод findViewById чтобы получить ссылку на это представление. Это делает findViewById одним из самых важных, но также и одним из самых разочаровывающих фрагментов кода, который вы будете снова и снова писать в своих проектах Android. Метод findViewById является огромным источником потенциальных ошибок, и если вы работаете с несколькими элементами пользовательского интерфейса в одном и том же Activity, то все эти findViewById могут действительно загромождать ваш код, затрудняя его чтение.
Хотя существует ряд библиотек, таких как Butter Knife, которые стремятся устранить необходимость в findViewById , эти библиотеки по-прежнему требуют, чтобы вы аннотировали поля для каждого представления, что может привести к ошибкам и при этом требует значительных усилий. было бы лучше инвестировать в другие области вашего проекта.
Плагин Kotlin Android Extensions (который недавно был включен в стандартный плагин Kotlin) обещает сделать findViewById делом прошлого, предлагая вам преимущества вышеупомянутых библиотек без недостатка необходимости писать какой-либо дополнительный код или отправлять дополнительное время выполнения. ,
Вы можете использовать расширения Kotlin для импорта View ссылок в ваши исходные файлы. На этом этапе плагин Kotlin создаст набор «синтетических свойств», которые позволят вам работать с этими представлениями так, как если бы они были частью вашей деятельности, — это принципиально означает, что вам больше не нужно использовать findViewById для поиска каждого View прежде чем вы сможете работать с этим.
Чтобы использовать расширения, вам нужно включить плагин Kotlin Android Extensions в каждом модуле, поэтому откройте файл build.gradle уровня модуля и добавьте следующее:
Синхронизируйте эти изменения, щелкнув всплывающее окно « Синхронизировать сейчас» .
Затем вы можете импортировать ссылки в один View , используя следующий формат:
Например, если ваш файл textView1 содержал TextView с идентификатором textView1 , вы должны импортировать ссылку на это представление, добавив в свою Activity :
После этого вы сможете получить доступ к textView1 в этом textView1 используя только его идентификатор — и без findViewById !
Источник