- 16 советов по разработке для Android на языке Kotlin. Часть 1
- Базовые советы Kotlin для Android
- Ленивая Загрузка
- Пользовательские геттеры и сеттеры
- Лямбда
- Классы данных
- Фильтрация наборов данных
- Как использовать Kotlin в ваших проектах Android
- Введение
- Предпосылки
- 1. Установка плагинов Kotlin
- 2. Создание Kotlin Activity
- 3. Использование Kotlin
- 4. Использование Kotlin Android Extensions
- 5. Преобразование классов Java в Kotlin
- Заключение
16 советов по разработке для Android на языке Kotlin. Часть 1
Перед прочтением этих советов вам желательно ознакомиться с документацией Kotlin и самостоятельно изучить язык на сайте try.kotlinlang.org . Поскольку эти советы направлены именно на использование Kotlin в контексте разработки под Android, у вас также должен быть опыт работы с Android SDK. Также желательно ознакомиться с плагином Kotlin и использованием Kotlin с Android Studio от JetBrains (создателей Kotlin)
Базовые советы Kotlin для Android
Ленивая Загрузка
Ленивая загрузка имеет ряд преимуществ. Например таких:
- вы экономите время запуска поскольку загрузка некоторых данных откладывается до того момента когда это будет необходимо. Это особенно актуально для Android, потому что пользователь быстрее увидит содержимое приложения вместо длительного времени ожидания запуска и наблюдения за краном загрузки.
- Вы экономите память, поскольку в память устройства ресурс загружается только по запросу. Это особенно важно для мобильных платформ, потому что ресурсы мобильных телефонов довольно ограничены.
Например, если вы создаёте приложение для покупок, в котором пользователи будут преимущественно руководствоваться вашим выбором, то ленивую загрузку можно настроить на API фактических покупок, например что-то типа этого:
Результатом использования такой ленивой загрузки будет то, что если пользователь не попытается оформить в приложении покупку, вы не будете её загружать и использовать невостребованные ресурсы.
Также ленивая загрузка хороший способ инкапсулировать логику инициализации, например:
Как только сделан первый вызов, создается экземпляр RectF на основании текущей ширины и высоты представления, что избавляет нас от необходимости создавать отдельно и устанавливать этот объект.
Пользовательские геттеры и сеттеры
Для чтения пользовательских установок в языке Kotlin используется структурная модель с заданным пользовательским поведением для получения и установки полей. При использовании моделей для определенных каркасов, таких как Parse SDK, вы выбираете значения, не являющиеся локальными переменными класса, но которые извлекаются и хранятся при помощи пользовательского способа, например, из JSON.
Используя определенные пользователем методы получения и установки, мы можем упростить доступ, например:
Извлечение этих значений будет похоже на использование синтаксиса доступа к свойствам в других моделях, типа:
Теперь, если нужно перенести вашу модель с Parse на какой-либо другой источник данных, код практически не нужно менять.
Лямбда
Лямбды сокращают дублирование строк кода в исходном файле и позволяют использовать функциональное программирование. Хотя лямбды в настоящее время уже используются в Android, Kotlin выводит их на новый уровень, гарантируя, что вам не придется иметь дело с Retrolambda или менять способ настройки сборки.
Например, прослушивание файла будет выглядеть примерно так:
А вот так это работает и с возвращаемыми значениями:
В Android SDK довольно часто возникает потребность в реализации одного из таких методов. Лямбда с этим справляется на ура.
Классы данных
Классы данных упрощают классы, автоматически добавляя методы equals() , hashCode() , copy() и toString() . Они проясняют, какие данные должны использоваться в модели, отделяя данные от логики.
Например, вот такой класс данных:
Вот и все. Больше ничего не нужно для его работы. Если вы используете классы данных с чем-то похожим на Gson или другой библиотекой типа JSON, вы можете создать конструктор по умолчанию со значениями по умолчанию, например:
Фильтрация наборов данных
В работе с API постоянно возникает необходимость обработки коллекций. Чаще всего их нужно фильтровать или изменить содержимое.
Используя фильтрацию коллекций Kotlin, можно сделать код более простым и понятным. Задать содержимое списка результатов можно с помощью фильтрации коллекций, например так:
Встроенные методы фильтрации коллекций Kotlin очень похожи на методы, используемые в других языках программирования по типу Java 8 или при работе с типами коллекций Swift. Унифицированные способы фильтрации коллекций упрощают взаимопонимание при общении с сотрудниками по поводу необходимости выполнения конкретных операций для получения и отображения нужных списков элементов.
На этом мы завершаем первую часть статьи и приглашаем вас посетить бесплатный вебинар по теме: «Unit-тестирование в Android».
Источник
Как использовать 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. Создание Kotlin Activity
В Android Studio щелкните правой кнопкой мыши имя вашего пакета и выберите Создать> Файл Kotlin.
В появившемся диалоговом окне введите имя нового Activity и выберите Класс в раскрывающемся списке. Я назвал свой класс MainActivity.
Как только класс будет создан, вы увидите предупреждение с просьбой настроить модуль приложения для поддержки Kotlin.
Нажмите ссылку в предупреждении и в появившемся диалоговом окне нажмите OK, чтобы выбрать значения по умолчанию.
Чтобы настроить проект для поддержки Kotlin, плагин Kotlin вносит несколько изменений в файл build.gradle. Примените эти изменения, нажав кнопку Синхронизировать сейчас, как показано ниже.
На этом этапе конфигурация вашего проекта завершена. Вернитесь к классу Kotlin, который вы создали минуту назад, чтобы начать писать код на Kotlin.
3. Использование Kotlin
Чтобы упростить пример, я покажу вам, как создать Activity с помощью одного TextView , который отображает String .
Убедитесь, что ваш класс является подклассом Activity и переопределяет его метод onCreate . Конечно, вы должны сделать это в Kotlin. Если вы новичок в Kotlin, я предлагаю вам использовать функциональность генерации кода Android Studio, нажав Control + O, чтобы получить сигнатуры метода справа.
Теперь ваш класс должен выглядеть следующим образом:
Создайте экземпляр TextView как локальную переменную assign-once, используя ключевое слово val .
Вызовите ее метод setText , чтобы установить String , который хотите отобразить, и затем вызовите setContentView для отображения текстового вида.
Как и для Java- Activity , вам нужно объявить свою Kotlin- Activity в AndroidManifest.xml вашего приложения, чтобы она была распознана системой Android. Если это единственный Activity в вашем проекте, ваш файл манифеста должен выглядеть так:
Теперь вы можете скомпилировать и запустить приложение на своем Android-устройстве или эмуляторе. Хотя компилятор Kotlin немного медленнее, чем у Java, вы вряд ли увидите существенные изменения во времени сборки вашего проекта.
4. Использование Kotlin Android Extensions
Плагин Kotlin Android Extensions позволяет обрабатывать виджеты, которые вы определяете в XML-макете Activity , как если бы они были свойствами этой Activity . Другими словами, если вы используете этот плагин, вам никогда не придется вызывать findViewById . Эти свойства называются синтетическими свойствами.
Чтобы использовать эту функцию в своем приложении, вам нужно добавить org.jetbrains.kotlin: kotlin-android-extensions как зависимость скрипта сборки в модуле build.gradle вашего приложения, как показано ниже. Не забудьте нажать кнопку Синхронизировать сейчас, чтобы синхронизировать ваш проект.
Теперь создадим Activity , аналогичную той, которую мы создали на предыдущем шаге, но используем XML-макет для определения TextView . Создайте новый XML-файл макета с именем another_activity.xml. В XML-файле макета укажите TextView с id myMessage.
Создайте еще один класс Kotlin, AnotherActivity, который расширяет Activity и переопределяет его метод onCreate . Это должно выглядеть так:
Вызовите setContentView в методе onCreate для использования XML-макета, который вы только что создали, в качестве макета этого Activity .
Теперь вместо вызова findViewById для получения ссылки на TextView вы можете импортировать его с помощью следующего фрагмента кода:
Если в вашем макете было больше виджетов, вы можете импортировать все из них, используя следующий фрагмент кода:
Теперь вы можете получить доступ к своему TextView , используя свой id , как если бы это было свойство класса Activity . Например, чтобы изменить текст TextView, вы можете написать:
5. Преобразование классов Java в Kotlin
Вы можете использовать плагин Kotlin для преобразования существующих классов Java в классы Kotlin. Чтобы попробовать эту функцию, создайте новый класс Java со следующей реализацией. Это простая Activity , которая выводит сумму двух целых чисел.
Преобразуйте класс Java в класс Kotlin, нажав Control + Alt + Shift + J или в меню выберите Код > Преобразовать файл Java в файл Kotlin.
После преобразования ваш класс будет выглядеть следующим образом:
Вы также заметите, что расширение файла изменилось с .java на .kt.
Заключение
В этом уроке вы узнали, как использовать Kotlin в своих проектах Android после установки плагина Kotlin и плагина Android Kotlin для Android. Поскольку классы Kotlin и Java в значительной степени совместимы, если вы все еще изучаете Kotlin, лучше всего вводить его в свои проекты Android постепенно.
Чтобы узнать больше о Kotlin, я рекомендую просмотреть документацию Kotlin. Раздел Начало работы поможет вам быстро освоить этот новый язык.
Источник