Articles of Котлин

Android Studio не удалось с Kotlin

:app:mergeDebugAssets :app:processDebugJavaRes UP-TO-DATE :app:transformResourcesWithMergeJavaResForDebug FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'. > com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK kotlin/internal/internal.kotlin_builtins File1: /Users/KD/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-compiler-embeddable/1.0.4/172b43fbc03b521fed141484b212d6725fa671a9/kotlin-compiler-embeddable-1.0.4.jar File2: /Users/KD/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-runtime/1.0.4/8e25da5e31669f5acf514bdd99b94ff5c7003b3b/kotlin-runtime-1.0.4.jar My build.gradle: apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' android { compileSdkVersion 23 buildToolsVersion "23.0.2" defaultConfig { applicationId "com.app2par.ctime" minSdkVersion […]

Как конвертировать JS-код в Kotlin без ключевого слова 'new'

Я изучаю преобразование некоторых базовых JS в Kotlin, но я зациклился на new ключевом слове. Я не уверен, как преобразовать следующий JS в Kotlin var FCM = require('fcm-node'); var fcm = new FCM('YOURSERVERKEYHERE'); var message = { … }; fcm.send(message, function(err, response){ … } Я пытался fun sendTestPush() { val FCM = require("fcm-push") val fcm […]

Функция аннотирования интерфейса, которая должна вызывать супер

Я создаю интерфейс, и некоторые функции в нем имеют тело. Требуется, чтобы класс, который реализует этот интерфейс, должен вызвать супер в функции переопределения перед выполнением другого кода. Как я могу это сделать? interface Watcher { fun funWithoutBody() fun startWatching() { //do some important stuff which must be called } }

Kotlin: Общая функция как возвращаемый тип?

В Котлине можно объявить общий тип функции как возвращаемый тип функции? То, что я хочу достичь, будет выглядеть так на Java: interface Factory { static Factory INSTANCE = new FactoryImpl(); <T> T create(String name, Class<T> type); } class PrefixedFactory implements Factory { private final String prefix; PrefixedFactory(String prefix) { this.prefix = prefix; } @Override public […]

Что означает код @TypeConverterAnnotation?

Следующий код с веб-страницы, я не могу понять, что код @TypeConverterAnnotation означает? Это просто аннотация, я могу удалить код? package mobi.porquenao.poc.kotlin.core import com.raizlabs.android.dbflow.converter.TypeConverter import java.util.* import com.raizlabs.android.dbflow.annotation.TypeConverter as TypeConverterAnnotation @TypeConverterAnnotation class CalendarConverter : TypeConverter<Long, Calendar>() { override fun getDBValue(model: Calendar): Long? { return model.timeInMillis } override fun getModelValue(data: Long?): Calendar { val calendar = Calendar.getInstance() […]

Функция расширения kotlin не понимает, как эта вещь работает

Я очень новичок в обучении Котлина. До сих пор все было вполне понятно: «Сегодня я натолкнулся на кусок кода, который запугивал меня. Я много искал и провел некоторое исследование этого фрагмента кода. вот эта две функции расширения, которые мне нужно понять private fun T ?.useOrDefault(default: R, usage: T.(R) -> R) = this?.usage(default) ?:default второй inline […]

Как создать список с общим аргументом в Котлине

У меня есть интерфейс: interface SomeInterface<T>{ } В java я могу объявить список следующим образом: List<SomeInterface> list = new ArrayList<>(); Как написать то же самое в Котлине? Если я попробую это: var list = ArrayList<PreferenceSerializer>() Я получаю сообщение об ошибке

Как установить стоимость недвижимости в Котлине

Я попытался установить значение свойства, как в следующем фрагменте. Этот вопрос SO не отвечает на вопрос. var person = Person("john", 24) //sample_text.text = person.getName() + person.getAge() var kon = person.someProperty person.someProperty = "crap" //this doesn't allow me to set value kon = "manulilated" //this allows me to set the value sample_text.text = kon class Person(val […]

Возвращаемое значение Kotlin возвращает значение в firebase

Я столкнулся с странной проблемой. У меня есть класс kotlin, как показано ниже. class RequestCenterDetails : Serializable{ var instituteId: String? = null var centerId: String? = null var centerKey: String? = null var instituteKey: String? = null var studentId: String? = null var studentUID: String? = null var studentFullName: String? = null var studentEmailId: String? […]

Параметры абстрактного класса и лямбда

Поскольку kotlin имеет такую ​​хорошую поддержку лямбда, я начал использовать lambdas в качестве параметров конструктора для abstract классов вместо объявления abstract val/fun . По-моему, это более краткий, особенно потому, что тип val get get. Каковы недостатки этого? abstract class AbstractListScreen<T> ( val data: Set<T>, val filterators: (T) -> Set<String> ) { fun open() { /* […]