kotlin- все статьи тега ➜ страница 4


Пользовательские виды Android с Kotlin

Я пытаюсь использовать Kotlin в своем Android-проекте. Мне нужно создать пользовательский класс представления. Каждое пользовательское представление имеет два важных конструктора: public class MyView extends View { public MyView(Context context) { super(context); } public MyView(Context context, AttributeSet attrs) { super(context, attrs); } } MyView(Context) используется для создания экземпляра представления в коде, и MyView(Context, AttributeSet) вызывается ...

Как создать фиксированный размер IntArray и инициализировать массив позже в Kotlin?

Я только на начальном уровне в Котлине. Я не получаю никакого способа добавить значения в массив в Котлине . Я хочу получить значения от пользователя и добавить их в массив. val arr = arrayOf<Int>() Или var arr = intArrayOf() Как в Java, Scanner ob=new Scanner(System.in); int arr[]=new int[5]; for(int i=0;i<arr.length;i++) { arr[i]=ob.nextInt(); } Как выполнить то же самое в Котлине? ...

Как сделать запрос API в Kotlin?

Я очень новичок в Kotlin и API в целом и не могу найти синтаксис для создания запроса API с использованием этого языка. Я создаю мобильную версию веб-сайта, поэтому я использую Android Studio для создания нового пользовательского интерфейса для уже установленного бэкенда. Каковы шаги и синтаксис для создания запроса? Любая помощь глубоко ценится. ...

Kotlin coroutines-использовать основной поток в блокировке запуска

Я пытаюсь выполнить следующий код: val jobs = listOf(...) return runBlocking(CommonPool) { val executed = jobs.map { async { it.execute() } }.toTypedArray() awaitAll(*executed) } Где jobs - Список некоторых Supplier s-в мире synchronus это должно просто создать, например, список ints. Все работает нормально, но проблема в том, что основной поток не используется. Ниже скриншот из YourKit: Итак, вопрос в том, как я могу также использовать основной поток? Я предполагаю ...

Kotlin parcelable и arrayList parcelables

Я пытаюсь написать parcelable объект данных для передачи от activityA к activityB в моем приложении для android. Мой объект передается со всеми данными, кроме моих arraylist класса Available Service data class AvailableService(val id: Int, val name: String, val description: String, val price: Double, val currency: String, val imageUrl: String) : Parcelable { companion obj ...

Kotlin gradle build неразрешенная ссылка на функции kotlin-stdlib

У меня есть следующий файл build.gradle для моего пакета buildscript { ext.kotlin_version = '1.2.21' repositories { jcenter() mavenCentral() } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "org.jetbrains.kotlin:kotlin-stdlib" } } plugins { id "org.jetbrains.kotlin.jvm" version "1.2.21" } sourceSets { main.kotlin.srcDirs += "./" } При запуске gradle compileKotlin я получаю следующие ошибки ...

Котлин: одно свойство с несколькими сеттерами разных типов

Я пытаюсь построить класс, который имеет свойство типа LocalDate, который имеет сеттеры, которые принимают различные типы: LocalDate или String. В случае LocalDate значение присваивается непосредственно, в случае String оно анализируется и затем присваивается. В Java мне просто нужно реализовать два перегруженных сеттера, обрабатывающих оба вышеупомянутых случая. Но я понятия не имею, как справиться с этим в Котлине. Я пробовал это: class SomeExampleClass(var _date: LocalDate) { var date = ...

Списки: идиоматический способ фильтрации похожих элементов

Я ищу противоположность distinct. В списке с [ "a", "a", "b", "c", "b", "d" ] я хочу только сохранить "a" и "b", потому что они появляются несколько раз. Решением для этого может быть следующее: val similarsList = mutableListOf<String>() list.filter { if (similars.contains(it)) return@filter true similars.add(it) false }.distinct() Это приведет к удалению каждого элемента, который соответствует уже содержащемуся элементу до него. В объекте list все элементы, появ ...

Плагин IntelliJ IdeaVim отключает преобразование Java в Kotlin

Я хотел бы использовать функцию IntelliJ, которая преобразует код Java в Kotlin путем простого копирования-вставки из файла Java в файл Kotlin. Он работает нормально, но когда я включаю плагин IdeaVim, он больше не работает. Я знаю Vim прилично, и это не проблема с моим непониманием режимов редактирования Vim. Мне известно, Как я могу конвертировать часть исходного файла Java в Kotlin? и ответьте @yole, сказав, что нет другого инструмента для этого. Но этот ответ был сделан снова. 3 месяца наза ...

К сожалению приложение остановилось. Как я могу решить эту проблему?

Я разрабатываю приложение, и каждый раз, когда я запускаю его, я получаю сообщение: к сожалению, приложение остановилось. Что я могу сделать, чтобы решить эту проблему? об этом вопросе-очевидно, вдохновленный тем, что такое трассировка стека, и как я могу использовать его для отладки ошибок приложения? есть много вопросов о том, что их приложение разбился, без каких-либо дополнительных подробностей. Этот вопрос призван проинструктировать новичка Android программисты о том, как попытаться ...

Тернарный Условный Оператор Котлина

каков эквивалент этого выражения в Котлине? a ? b : c это недопустимый код в Kotlin. ...

Kotlin-инициализация свойств с использованием "по ленивому" против " lateinit"

в Kotlin если вы не хотите инициировать свойство класса внутри конструктора или в верхней части тела класса, у вас есть в основном эти два варианта (из ссылки на язык): Ленивая Инициализация lazy () - это функция, которая принимает лямбду и возвращает экземпляр Lazy, который может служить делегатом для реализации свойства lazy: первый вызов get () выполняет лямбду, переданную lazy () и запоминает результат, последующие вызовы get () просто возвращают запомненный результат. пример p ...

Как инициализировать массив в Kotlin со значениями?

в Java массив может быть инициализирован, например: int numbers[] = new int[] {10, 20, 30, 40, 50} Как выглядит инициализация массива Котлина? ...

Как инициализировать MutableList Котлина, чтобы очистить MutableList?

кажется так просто, но, как мне инициализировать Котлина MutableList пустой MutableList? я мог бы взломать его, но я уверен, что есть что-то более доступны: var pusta: List<Kolory> = emptyList() var cos: MutableList<Kolory> = pusta.toArrayList() ...

Форматирование в шаблонах строк kotlin

Kotlin имеет отличную функцию под названием string templates. Мне это очень нравится. val i = 10 val s = "i = $i" // evaluates to "i = 10" но возможно ли иметь какое-либо форматирование в шаблонах? Например, я хотел бы отформатировать Double в шаблонах строк в kotlin, по крайней мере, установить количество цифр после десятичного разделителя: val pi = 3.14159265358979323 val s = "pi = $pi??" // How to make it "pi = 3.14"? ...

Идиоматический способ входа в Котлин

Котлин не имеет такого же понятия статических полей, как используется в Java. В Java общепринятым способом ведения журнала: public class Foo { private static final Logger LOG = LoggerFactory.getLogger(Foo.class); } вопрос - Это что такое идиоматические способ выполнения входа в Котлин? ...

Статические методы расширения в Котлине

как вы определяете статический метод расширения в Котлине? Это вообще возможно? В настоящее время у меня есть метод расширения, как показано ниже. public fun Uber.doMagic(context: Context) { // ... } вышеуказанное расширение может быть вызвано на экземпляре. uberInstance.doMagic(context) // Instance method но как мне сделать это статический метод, как показано ниже. Uber.doMagic(context) // Static or class method ...

Как реализовать шаблон Builder в Котлине?

Привет я новичок в мире Котлин. Мне нравится то, что я вижу до сих пор и начал думать, чтобы преобразовать некоторые из наших библиотек, которые мы используем в нашем приложении от Java до Kotlin. эти библиотеки полны Pojos с сеттерами, геттерами и классами Builder. Теперь я погуглил, чтобы найти лучший способ реализовать Строителей в Котлине, но без успеха. 2-е обновление: вопрос в том, как написать Дизайн-Шаблон Builder для простого pojo с некоторыми параметрами в Kotlin? Приведенный ниже ко ...

Котлин с JPA: конструктор по умолчанию ад

как требует JPA,@Entity классы должны иметь конструктор по умолчанию (не arg) для создания экземпляров объектов при их извлечении из базы данных. в Kotlin свойства очень удобно объявлять в основном конструкторе, как в следующем примере: class Person(val name: String, val age: Int) { /* ... */ } но когда конструктор non-arg объявлен как вторичный, он требует, чтобы значения для основного конструктора передавались, поэтому для них необходимы некоторые допустимые значения, например здесь: @Ent ...

Есть ли удобный способ создания классов данных Parcelable в Android с помощью Kotlin?

в настоящее время я использую отличный AutoParcel в моем проекте Java, который облегчает создание Parcelable классов. теперь Kotlin, который я рассматриваю для своего следующего проекта, имеет эту концепцию классов данных, которые автоматически генерируют методы equals, hashCode и toString. есть ли удобный способ сделать класс данных Kotlin Parcelable удобным способом (без реализации методов вручную)? ...