Articles of Котлин

Kotlin и привязка данных к Android

Обновлено 21.06.2015 Я хочу попробовать привязку котинов и андроидов в одном проекте. Но когда я добавляю к зависимости kotlin-gradle-plugin, я больше не могу построить даже пустой проект с ошибкой: Не может генерировать привязки вида java.lang.NoClassDefFoundError: kotlin / jvm / internal / ExtensionFunctionImpl buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:1.3.0-beta3' classpath "com.android.databinding:dataBinder:1.0-rc0" classpath […]

Как решить: «ошибка: не удается найти класс символов …» после преобразования класса Java в Kotlin?

Я пытаюсь начать с Kotlin путем преобразования некоторых классов Java моего проекта в Kotlin и создания смешанного проекта Java / Kotlin. Чтобы настроить среду, я сделал следующее: Загрузили последнюю версию плагина Kotlin (1.0.2); На верхнем уровне gradle.plugin я добавил: classpath "org.jetbrains.kotlin:kotlin-android-extensions:1.0.2" в разделе зависимостей; В модуле плагина моего модуля я добавил: compile "org.jetbrains.kotlin:kotlin-stdlib:1.0.2" в разделе […]

Котлин сложнее переделать, чем java

Я решаю, какой из них использовать для проекта Android Studio, и я готов использовать Kotlin. Если есть преимущество с точки зрения сложности обратного проектирования, чем java.

Синглтон с параметром в Котлине

Я пытаюсь преобразовать приложение Android из Java в Kotlin. В приложении есть несколько синглтонов. Я использовал объект-компаньон для одиночных элементов без параметров конструктора. Существует еще один синглтон, который принимает параметр конструктора. Код Java: public class TasksLocalDataSource implements TasksDataSource { private static TasksLocalDataSource INSTANCE; private TasksDbHelper mDbHelper; // Prevent direct instantiation. private TasksLocalDataSource(@NonNull Context context) { […]

Обработчик ошибок по умолчанию RxJava

К сожалению, есть возможность установить обработчик ошибок по умолчанию в RxJava? Например, некоторый код в файле Utils.kt : fun BaseFragment.callGallery(view: View){ view.clicks().bindToLifecycle(this).subscribe { RxPaparazzo.takeImage(this) .usingGallery() .subscribe { response -> throw RuntimeException("Where is this exception from?") } } } Но в stacktrace нет никаких намеков об Utils.kt или о любом из моих файлов. Я понимаю, что […]

Константы в Котлине – какой рекомендуемый способ их создания?

Как рекомендуется создавать константы в Котлине? И что такое соглашение об именах? Я не нашел этого в документации. companion object { //1 val MY_CONST = "something" //2 const val MY_CONST = "something" //3 val myConst = "something" } Или …?

Что такое «реализация» в зависимостях Kotlin Gradle?

Я использую Android Studio 3.0 Preview для запуска нового проекта Kotlin. Когда я пытаюсь добавить зависимости в build.gradle я видел область implementation вместо обычной compile . androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) implementation 'com.android.support:appcompat-v7:25.3.1' testImplementation 'junit:junit:4.12' Также есть область androidTestImplementation и testImplementation . В конце я добавляю compile для добавления зависимостей третьих сторон, […]

Каков наилучший способ объявить компонент UI в Android с Kotlin?

Я пытаюсь создать приложение Android с помощью Kotlin в первый раз. Я хочу объявить на некоторых кнопках вне метода OnCreate, и я могу инициализировать их только внутри этой функции с помощью findViewById. Могу ли я объявить простой и чистый код, например, в java? private Button btnProceed; Потому что при преобразовании его в Kotlin это выглядит […]

Многие небольшие модули или несколько больших модулей для лучшей производительности?

Несколько лет назад, когда я впервые принял град для Android (до Gradle 2.0), я обнаружил, что для использования и в зависимости от модуля есть некоторые накладные расходы, поэтому я остался в стороне от разделения моего проекта на более мелкие модули и вместо этого создал Очень большие модули. После тестирования некоторых других систем сборки (например, Buck) […]

Использование функции «с»

Есть ли кто-нибудь, кто может объяснить мне, для чего используется функция «с»? Подпись public inline fun <T, R> with(receiver: T, f: T.() -> R): R = receiver.f() доктор Вызывает указанную функцию f с данным приемником в качестве приемника и возвращает его результат. И я нашел его использование в этом проекте Антонио Лейва . Он использовался […]