Tag: rx kotlin

RxKotlin使用方法引用collectInto()MutableList

以下代码是我尝试将RxJava示例转换为Kotlin。 它应该收集一串Int到MutableList ,但是我得到了大量的错误。 val all: Single<MutableList> = Observable .range(10, 20) .collectInto(::MutableList, MutableList::add) 错误: Error:(113, 36) Kotlin: Type inference failed: Not enough information to infer parameter T in inline fun MutableList(size: Int, init: (index: Int) -> T): MutableList Please specify it explicitly. Error:(113, 49) Kotlin: One type argument expected for interface MutableList : List, MutableCollection defined […]

Kotlin lambda语法混淆

我被Kotlin lambda语法弄糊涂了。 起初,我有 .subscribe( { println(it) } , { println(it.message) } , { println(“completed”) } ) 这工作正常 。 然后,我将onNext移动到另一个名为GroupRecyclerViewAdapter的类,该类实现了Action1<ArrayList> 。 .subscribe( view.adapter as GroupRecyclerViewAdapter , { println(it.message) } , { println(“completed”) } ) 但是,我得到了错误: Error:(42, 17) Type mismatch: inferred type is () -> ??? but rx.functions.Action1! was expected Error:(42, 27) Unresolved reference: it Error:(43, 17) […]

Kotlin协同程序如何比RxKotlin更好?

我为什么要使用Kotlin协同程序? RxKotlin库似乎更为复杂。 Kotlin协程看起来不那么强大,而且比较麻烦。 我根据安德烈·布雷斯拉夫(JetBrains)的这个设计演讲,在协同工作的基础上: https : //www.youtube.com/watch?v = 4W3ruTWUhpw 幻灯片从谈话是可以访问这里: https : //www.slideshare.net/abreslav/jvmls-2016-coroutines-in-kotlin

创建Kotlin对象的新实例

我有一个对象QuickSort ,我试图创建2个实例。 当我尝试创建2个单独的实例时,我可以看到它只使用一个实例,因为我在QuickSort类中有一个不准确的计数。 Kotlin在语法上不使用新的,所以我怎么去解决这个问题呢? object QuickSort { var count = 0; quickSortOne(…){ … count++ … } quickSortTwo(…){ … count++ … } } 这里是我如何创建我的2个实例。我的目标是让quickSort1和quickSort2是2个独立的实例。 var quickSort1 = QuickSort quickSort1.quickSortOne(…) var quickSort2 = QuickSort quickSort2.quickSortTwo(…) 尝试解决方案 :将QuickSort从一个对象转换为一个类。 这仍然导致使用相同的实例,如包含第一次调用计数的第二种方法的计数所示。 class QuickSort { var count = 0; quickSortOne(…){ … count++ … } quickSortTwo(…){ … count++ … } } … […]

如何使用kotlin Android从Url读取JSON?

我正在使用kotlin开发应用程序。现在我想从服务器获取JSON数据。 在Java中实现了Asyntask以及Rxjava从Url读取JSON。 我也搜索谷歌,但我无法得到我的要求适当的细节。 如何使用kotlin从Url读取JSON?

Kotlin库’rxkotlin-0.21.0.jar’具有不受支持的格式。 请更新库或插件

标题中的错误出现在Android Studio中,作为警告栏,高于我的所有代码: Android Studio版本: 1.1.0 Android Studio的Kotlin插件版本: 0.11.91.AndroidStudio.4 build.gradle文件似乎正在使用所有最新版本的Kotlin库: apply plugin: ‘com.android.application’ apply plugin: ‘kotlin-android’ android { compileSdkVersion 22 buildToolsVersion “22.0.1” defaultConfig { applicationId “ca.amandeep.simpletransit” minSdkVersion 16 targetSdkVersion 22 versionCode 1 versionName “1.0” } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ } } sourceSets { main.java.srcDirs += ‘src/main/kotlin’ } } dependencies { compile […]

链接多个RxJava,Room和Retrofit

我正在使用RxJava / Kotlin和Room和Retrofit。 我确信我没有写任何东西,因为我刚开始学习RxJava。 这种情况是我打电话来检查数据库中是否有最喜欢的记录,并将它们放入列表中,从API获取数据并将其插入到数据库中,使用之前的collections夹列表更新数据库,并获取所有记录更新,列表。 我得到了我的片段的结果,但每次我得到它,就好像我得到1不喜欢的项目,直到我没有collections的项目。 Repository fun getKafaniFromApi(): Observable<List> { return apiService.getKafani().toObservable().doOnNext { insertKafaniInDb(it) } } fun getKafaniFromDb(): Observable<List> { return kafanaDao.getKafani().toObservable() } fun insertKafaniInDb(kafani: List) { Observable.fromCallable { kafanaDao.insertAll(kafani) } .subscribeOn(Schedulers.io()) .subscribe { Timber.d(“Inserted ${kafani.size} kafani from API in DB…”) } } fun getFavoriteKafani(): Single<List> { return kafanaDao.getFavoriteKafani() } fun setKafanaFavorite(kafana: Kafana, isFavorite: […]

如何在kotlin编程语言中使用如下所述的循环?

我怎样才能让它在kotlin使用for循环? for (double i = 0; i < 10.0; i += 0.25) { System.out.println("value is:" + i); }

exception:java.lang.ClassNotFoundException:org.reactivestreams.Publisher

在IntelliJ IDEA 2017.1.2(Build#IC-171.4249.39)中使用RxJava和Kotlin开发的基于JavaFX Gradle的应用程序中,出现exception: 线程“JavaFX Application Thread”中的exceptionjava.lang.NoClassDefFoundError:org / reactivestreams / Publisher 每次这样的代码 return Completable.complete() 被执行。 在类似问题的建议之后为什么我得到NoClassDefFoundError:org / reactivestreams / Publisher ,我试图添加包括反应流到我的build.gradle脚本的dependencies块 dependencies { compile ‘org.jetbrains.kotlin:kotlin-stdlib:1.1.2’ compile ‘org.reactivestreams:reactive-streams:1.0.0’ compile ‘io.reactivex.rxjava2:rxkotlin:2.0.0’ } 但问题依然存在。 依赖关系树看起来像这样: compile – Dependencies for source set ‘main’ (deprecated, use ‘implementation ‘ instead). +— org.jetbrains.kotlin:kotlin-stdlib:1.1.2 | \— org.jetbrains:annotations:13.0 +— org.reactivestreams:reactive-streams:1.0.0 \— io.reactivex.rxjava2:rxkotlin:2.0.0 +— io.reactivex.rxjava2:rxjava:2.0.7 […]

RecyclerView不可滚动,并且项目单击不在导航抽屉recyclerview中工作

这是我的数据绑定到recyclerview的代码: val linearLayoutManager = LinearLayoutManager(this) linearLayoutManager.orientation = LinearLayoutManager.VERTICAL dashBoardDataBinding?.recyclerviewDrawerList?.setLayoutManager(linearLayoutManager) val adapter = DifferentRowAdapter(it,this) dashBoardDataBinding?.recyclerviewDrawerList?.setAdapter(adapter) 这是我的适配器: class DifferentRowAdapter(var mList: List, val listner: DashboardActivity) : RecyclerView.Adapter() { var mClickListener: OnMeetingClickListner? = null override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder? { val view: View when (viewType) { DaywiseEvents.CALENDAR_TYPE -> { view = LayoutInflater.from(parent.context).inflate(R.layout.item_city, parent, false) return DayViewHolder(view) } […]