Articles of Kotlin

Обработка аннотаций с помощью kapt Android Studio

Я пытаюсь использовать kapt для использования моего обработчика аннотаций. Но я столкнулся с несколькими проблемами. Комбинация процессора обработки аннотаций связана таким образом: kapt files('libs/processor.jar') provided files('libs/processor.jar') 1) Я использую JavaPoet для генерации кода. И сохранить мой класс таким образом JavaFile javaFile = JavaFile.builder(PACKAGE, typeSpec).build(); javaFile.writeTo(processingEnv.getFiler()); Но он всегда сохраняет его для создания \ сгенерированного \ […]

Kotlin: @ Игнорирует свойства, сохраняемые Sugar ORM

В моем приложении для Android я использую Kotlin совместно с SugarORM, и я столкнулся с проблемой, пытаясь предотвратить сохранение некоторых свойств. Как ни странно, аннотация @com.orm.dsl.Ignore , по-видимому, игнорируется при использовании в классах Котлина. В качестве примера, 1) давайте объявим две, казалось бы, идентичные модели: // JavaUser.java public class JavaUser extends SugarRecord { public String […]

Есть ли способ повторного использования экземпляра задания?

Я изучаю использование совместных подпрограмм в контексте потока пользовательского интерфейса Android. Я реализовал contextJob как описано в интерфейсе руководства contextJob . Фоновая работа просматривается из графического интерфейса, и я хочу перезапустить его при каждом нажатии (остановить текущий запуск и снова запустить его). Но задание, которое было отменено, не может быть повторно использовано, поэтому даже создание […]

У Kotlin Android Extensions кешируются синтетические свойства или каждый раз, когда он вызывает findViewById ()?

Если у меня есть простой пользовательский вид: myitem.xml <FrameLayout android:layout_width="match_parent" android:layout_height="wrap_content" > <TextView android:id="@+id/textview" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <FrameLayout/> Доступ к синтаксическому свойству kotlinx: import kotlinx.android.synthetic.main.myitem.view.* view.toolbar.text = "Some text" Внутри он генерирует вызов findByViewID() . Поэтому мой вопрос: Является ли результат кэширован для пользовательских представлений, например, для действий или каждый раз, findByViewID вызывается findByViewID ? […]

Каковы общие классы платформы в Котлине?

Я хотел бы использовать Kotlin для определения интерфейсов между клиентом и сервером. В настоящее время Kotlin можно использовать в трех платформах: Java, Android, Web (JS). Какие классы сборки Kotlin можно использовать во всех этих платформах? Я ожидал бы некоторой общей зависимости библиотеки между kotlin-stdlib и kotlin-stdlib-js , но не смог найти ее. С другой стороны, […]

Любое улучшение кода при добавлении / замене фрагмента

Я начал изучать Котлин и не знаю всей функциональности языка. Функция используется для отображения фрагмента в FrameLayout. Логика такова, что в первый раз он всегда должен add() фрагмент, а в следующий раз он replace() . Также в некоторых случаях мне нужно использовать addToBackStack() а также в тех же ситуациях, чтобы отключить меню слева. fun showFragment(fragment […]

Конструктор Custom View в Android 4.4 сбой на Kotlin, как исправить?

У меня есть пользовательский вид, написанный в Kotlin с использованием JvmOverloads, который мог бы иметь значение по умолчанию. class MyView @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, defStyle: Int = 0, defStyleRes: Int = 0 ) : LinearLayout(context, attrs, defStyle, defStyleRes) Все работает отлично в Android 5.1 и выше. Однако он сбой в 4.4, […]

Замечание типа Observable.combineLatest в kotlin

Я использую RxJava2, Kotlin-1.1 вместе с RxBindings в моем проекте. У меня есть простой экран входа с отключенной кнопкой входа в систему, я хочу включить эту кнопку, только если поля пользователя и пароль не будут пустыми. LoginActivity.java Observable<Boolean> isFormEnabled = Observable.combineLatest(mUserNameObservable, mPasswordObservable, (userName, password) -> userName.length() > 0 && password.length() > 0) .distinctUntilChanged(); Я не […]

Как использовать фрагменты с kotlin

Я не могу найти, как использовать фрагменты, используя kotlin. Я получаю сообщение об ошибке в методе onCreateView, пожалуйста, помогите мне. ListaFragment.kt: class ListaFragment : Fragment() { override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle): View? { val view = inflater.inflate(R.layout.fragment_lista, container, false) return view } } fragment_lista.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" […]

Kotlin: Можем ли мы использовать @Subscribe EventBus (GreenRobot) в Котлине?

Мой onEvent в фрагменте, как показано ниже, фиксирует аутентификацию активности в моей функции Kotlin. Тем не менее, я не могу получить, что onEvent запускается. @Subscribe fun onEvent(event: AuthenticationEvent) { if (event.isAuthenticated) { startFragment(signInFragment, SignInFragment.TAG) } else { startFragment(signOutFragment, SignOutFragment.TAG) } } В моем файле build.gradle я добавляю это compile 'org.greenrobot:eventbus:3.0.0' Есть ли что-нибудь, что мне […]