Articles of Котлин

Kotlin lateinit свойства, опасность NPE?

Я использую свойства lateinit, чтобы избежать непрерывной проверки нуля с помощью? оператор. У меня много свойств вида, которые назначаются впервые в функции getViews (). Если этой функции не было, мое приложение вылетает с NPE, из кода Kotlin. По-моему, свойства lateinit в основном разрушают хорошие нулевые функции безопасности языка. Я знаю, что они введены в M13 […]

Как получить доступ к «Activity.this» в Котлине?

У меня есть эта часть кода Java: MaterialDialog builder = new MaterialDialog.Builder(MainActivity.this) Я хочу получить объект MainActivity в Котлине. Автоматическое преобразование разбивается на MainActivity.this .

Котлин: Итерации через JSONArray

Я пишу приложение для Android с Kotlin и Realm. У меня есть JSONArray, и я хочу выполнить итерацию через JSONObjects в этом массиве, чтобы загрузить их в класс базы данных Realm: Класс области: import io.realm.RealmObject import io.realm.annotations.PrimaryKey import io.realm.annotations.Required open class Person( @PrimaryKey open var id: Long = 0, @Required open var name: String = […]

Kotlin для Android. Тост

В разных примерах Kotlin для Android я вижу тост («Некоторое сообщение …») или toastLong («Некоторое длинное сообщение»). Например: view.setOnClickListener { toast("Click") } Насколько я понимаю, это функция расширения для Activity. Как определить эту функцию toast () и где (в каком месте) использовать ее в проекте?

Kotlin: Как работать со списками: Непроверено В ролях: kotlin.collections.List <Kotlin.Any?> To kotlin.colletions.List <Путевая точка>

Я хочу написать функцию, которая возвращает каждый элемент в List который не является первым или последним элементом (через точку). Функция получает общий List<*> как входной. Результат должен возвращаться только в том случае, если элементы списка имеют тип Waypoint : fun getViaPoints(list: List<*>): List<Waypoint>? { list.forEach { if(it !is Waypoint ) return null } val waypointList […]

Котлин – когда выражение с возвращаемым типом функции

Я хочу воспользоваться преимуществами kotlin, когда выражения и общие методы упрощают общие настройки api для Android. Вместо того, чтобы постоянно вызывать getString () и getInt () и т. Д., Я хочу создать функцию расширения, которая будет переключаться на основе типа возвращаемой функции и вызвать соответствующий метод. Что-то вроде ниже: fun <T> SharedPreferences.get(key: String): T? { […]

Как конвертировать файл Java в файл Kotlin?

Я изучаю Kotlin через Kotlin для разработчиков Android . Одним из первых шагов является использование Convert Java File to Kotlin File чтобы посмотреть, как сравнить файлы Java и Kotlin. Мне любопытно, как эта функция работает. Является ли инструмент, создающий абстрактное синтаксическое дерево из ввода Java, затем передается в Kotlin? Или делает что-то намного проще?

Тесты Kotlin и android lint

Мне очень нравится заказывать приложения для Android в Котлине в последнее время, но я очень скучаю по волкам. Любой знает, как вернуть это (по крайней мере частично). Есть ли проект, который адаптирует правила jint lint android для kotlin? AFAIK lint не работает только на байт-коде, поэтому необходимо выполнить ручное преобразование. Моя основная точка боли в […]

Как преобразовать часть исходного файла Java в Kotlin?

В моем проекте Kotlin у меня есть некоторые части кода Java, которые я хочу преобразовать в Kotlin. Пункт меню «Преобразовать файл Java в Kotlin» отключен, потому что это не весь файл, который я хочу преобразовать. Как преобразовать код Java в Kotlin?

Как работает синтаксис доступа к свойствам Kotlin для классов Java?

Я пытаюсь переключить свой Android-проект на Kotlin. У меня есть EditText (подкласс TextView ), для которого я хочу установить подсказку и текст программно. Подсказка работает так, как ожидалось. Тем не менее, для текста я получаю исключение несоответствия типа, если я пытаюсь сделать это, используя синтаксис сеттера Kotlin: val test = EditText(context) test.setHint("hint") // Lint message: […]