kotlin- все статьи тега ➜ страница 5
Доступ к функциям расширения Kotlin с Java
можно ли получить доступ к функциям расширения из кода Java? Я определил функцию расширения в файле Kotlin. package com.test.extensions import com.test.model.MyModel /** * */ public fun MyModel.bar(): Int { return this.name.length() } здесь MyModel - это (сгенерированный) класс java. Теперь я хотел получить доступ к нему в своем обычном java-коде: MyModel model = new MyModel(); model.bar(); однако, это не работает. IDE не распознает bar() метод и компиляция не удается. что работа ...
Как создать пустой конструктор для класса данных в Kotlin Android
у меня есть 10 + параметр в классе данных, я хочу инициализировать класс данных с пустым конструктором и установить значения только для нескольких параметров с помощью setter и передать объект на сервер. data class Activity( var updated_on: String, var tags: List<String>, var description: String, var user_id: List<Int>, var status_id: Int, var title: String, var created_at: String, var data: HashMap<*, *>, ...
Что такое Kotlin double-bang (!!) оператор?
Я конвертирую Java в Kotlin с Android Studio. Я получаю двойной удар после переменной экземпляра. Что такое двойной взрыв и, что более важно, где это документировано? mMap!!.addMarker(MarkerOptions().position(london).title("Marker in London")) ...
startForeground сбой после обновления до Android 8.1
после обновления моего телефона до 8.1 Developer Preview моя фоновая служба больше не запускается должным образом. в моей длительной службе я реализовал метод startForeground для запуска текущего уведомления,которое вызывается при создании. @TargetApi(Build.VERSION_CODES.O) private fun startForeground() { // Safe call, handled by compat lib. val notificationBuilder = NotificationCompat.Builder(this, DEFAULT_CHANNEL_ID) val notification = notificationBuilder.setOngoing(true) ...
Котлин: интерфейс ... не имеет конструкторов
Я конвертирую некоторые из моих Java-кода в Kotlin, и я не совсем понимаю, как создавать экземпляры интерфейсов, которые определены в коде Kotlin. В качестве примера, у меня есть интерфейс (определенный в коде Java): public interface MyInterface { void onLocationMeasured(Location location); } а затем далее в моем коде Kotlin я создаю этот интерфейс: val myObj = new MyInterface { Log.d("...", "...") } и он отлично работает. Однако, когда я конвертирую свой интерфейс в Kotlin: interface ...
Котлин: как передать функцию в качестве параметра другому?
данная функция foo: fun foo(m: String, bar: (m: String) -> Unit) { bar(m) } мы можем сделать: foo("a message", { println("this is a message: $it") } ) //or foo("a message") { println("this is a message: $it") } теперь, допустим, у нас есть следующая функция: fun buz(m: String) { println("another message: $m") } есть ли способ передать "buz "в качестве параметра" foo"? Что-то вроде: foo("a message", buz) ...
Свойство должно быть инициализировано или быть абстрактным
это должно быть глупый вопрос, но я действительно Новичок в Котлине, и я не нашел никакого решения. как объявить поле класса? Как мы можем иметь его в Java: protected SharedPreferences mSharedPreferences; и далее в onCreate(): mSharedPreferences = PreferenceManager.getDefaultSharedPreferences(this) теперь я могу использовать его в любом месте я хочу (в подклассах этой базы деятельности). Я пытаюсь сделать то же самое в Котлин: protected var sharedPreferences : SharedPreferences и onCr ...
Как я могу получить случайное число в Котлин?
универсальный метод, который может возвращать случайное целое число между 2 параметрами, как ruby делает с rand(0..n). есть предложения? ...
В чем разница между launch/join и async/await в Kotlin coroutines
на kotlinx.coroutines библиотека вы можете начать новую сопрограмму, используя либо launch (С join) или async (С await). В чем разница между ними? ...
Что такое Котлин резервное поле для?
как разработчик Java, концепция резервного поля немного чужда мне. Дано: class Sample { var counter = 0 // the initializer value is written directly to the backing field set(value) { if (value >= 0) field = value } } что это резервное поле хорош? Kotlin docs сказал: классы в Котлине не могут иметь полей. Однако иногда необходимо иметь резервное поле при использовании пользовательских методов доступа. Зачем? В чем разница с использованием самого им ...
Как использовать typetoken + дженерики с Gson в Котлине
Я не могу получить список универсального типа из пользовательского класса (по очереди): val turnsType = TypeToken<List<Turns>>() {}.type val turns = Gson().fromJson(pref.turns, turnsType) Он сказал: cannot access '<init>' it is 'public /*package*/' in 'TypeToken' ...
RequiresApi против TargetApi Android аннотации
в чем разница между RequiresApi и TargetApi? образец в Котлине: @RequiresApi(api = Build.VERSION_CODES.M) @TargetApi(Build.VERSION_CODES.M) class FingerprintHandlerM() : FingerprintManager.AuthenticationCallback() Примечание: FingerprintManager.AuthenticationCallback требуется api M примечание 2: Если я не использую TargetApi lint сбой с ошибкой class requires api level 23... ...
Kotlin Bytecode-как анализировать в IntelliJ IDEA?
Я хочу увидеть скомпилированный байт-код Так что я могу узнать больше о том, как это работает под крышкой. Я использую IntelliJ IDEA 15 но не могу найти способ, чтобы увидеть байт-код. Чего мне не хватает? ...