问题标签 [rx-kotlin2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1146 浏览

android - RxJava:结合冷热observable相互等待

我的 observables 是这样定义的

initialLoading开始在 Activity 的onCreate方法处运行。click在按钮单击时执行。我有两个案例,第一个有效,第二个无效。

情况1

活动开始并在几秒钟 单击按钮。WAIT_TIME输出:

案例2

活动开始并在期间结束之前 单击按钮。WAIT_TIME输出

所以,问题是点击事件丢失了。我希望点击事件等待加载,然后继续工作。简而言之,案例 2 的输出应该与案例 1 相同。

我如何使用 rx 运算符来细香葱这个。我试过merge了,但它只是结合了两者,点击事件不等待加载。

我也尝试过reply, cache, publish, share,但无法让它们的正确组合按我的意愿工作。

0 投票
2 回答
346 浏览

android - Rx 如何创建一个根据请求更新或刷新的列表

我正在开发一个应用程序,显示它从互联网上获取的项目列表。我有 2 个按钮 loadMore 和刷新,loadMore - 加载下一批项目,刷新 - 从头开始​​加载项目。

我正在使用 MVI(模型视图意图)模式。为了简单起见,我使用数字列表创建了一个示例,每个数字将代表一批项目:

所以现在它可以完美地工作,但订阅在我的 Intent 中,我需要一个带有 Rx 的方法,它可以做完全相同的事情,但让我的 View 订阅。

我想要得到的是:

假设我的清单是[1,2,3]

加载更多新闻我会得到[1,2,3,4]

在刷新新闻生病得到[5]

0 投票
1 回答
478 浏览

android - 使用 RxJava2 或 RxKotlin 进行 For 循环

我想构建一个迭代给定字符串中的字符的异步操作。我有一个 char 数组,由"mystring".toCharArray(). 我想使用 RX 迭代每 10 个字符。

我知道我可以使用AsyncTask和 for 循环来做到这一点,但我认为 RX 会是更优雅的解决方案。我已阅读文档,但不知道该怎么做。

我脑海中的另一个想法是创建一个PublishSubjectonNext()在一个 for 循环中触发,该循环的索引随着订阅增加 10。

PS:"mystring"可以更大,如 json、xml 等。请随时评论 ram profiling。

0 投票
1 回答
435 浏览

android - What is the right approach using rxkotlin or rxjava in android when communicating with server and db?

I've just learned rxjava, rxkotlin, dagger and retrofit, but I don't know the approach to take when communicating with server/db and how to store information locally. There are 3 questions at the end. Please help

  1. Do I need to save the Disposable subjects and unsubscribe? Or is done automatically? (I'm saving all of the subscriptions in a list then undispose all at once)
  2. Is this the right approach? I'm initializing all settings in the initData method, and call it at creation of an activity. The data is stored in a behaviour subject (settingsSubject) and I subscribe on that subject to save changes in database, so everytime I want to change a setting I'm calling the rest client and then update the subject (db will be updated because of the subscription)
  3. On getSettings method, should I use the callback or just return the settingsSubject value?
0 投票
2 回答
167 浏览

android - 如何使用 Room 和 Android Rx 实现对同一查询的不同类型的返回?

我正面临这个问题。我使用房间来创建我的应用程序的本地数据库。假设我有一个实体调用用户和一个 UserDao。它看起来像这样:

在这一点上没有什么奇怪的,但我想做的是能够改变这些函数中的返回类型。我想要这个,因为有时我需要一个 Single,但在其他情况下我需要一个 Flowable。在这两种情况下,查询是相同的,唯一比 chagues 是返回的类型,我不想做这样的事情。

知道如何以干净的方式做到这一点吗?

0 投票
2 回答
160 浏览

kotlin - 在添加“运行”之前忽略 Lambda

我有一个通过改造调用 API 的 rx 链。我订阅了我的 API 服务,使用标准的 rxsubscribe({...})方法并将 lambda 传递给它。不幸的是,当我的调用最终完成时,我添加的要在 lambda 中执行的所有代码都被完全忽略了。AndroidStudio 提出了一个修复程序,它基本上run为我的 lamda 添加了一个内联函数,并且......它神奇地工作。我不知道发生了什么。为什么没有它就行不通run?做什么run

代码如下:

0 投票
1 回答
1616 浏览

android - Android 中带有 Socket.io 的 RxKotlin

我想做的是监听套接字数据并将其转换为我的 UI 可以订阅此事件并在 UI 上进行更改的可观察字符串

到目前为止,我创建了一个类 SocketConnection 维护在匕首连接发生正确并接收数据并能够正确处理接口,但想与 rxkotlin 一起应用。

使用 Socket.io、kotlin

套接字连接类

存储库

视图模型

OnFragment (UI)

在这个 UI 中使用一次性订阅方法进入基类。

请让我提前知道我做错了什么thanx

0 投票
1 回答
351 浏览

rx-android - RxKotlin 在 Android 中是否依赖于 RxJava?

我可以在不添加 Rx Java 的情况下使用 Rx Kotlin + Rx Android 吗?或者 Rx Kotlin 依赖于 Rx Java。

0 投票
1 回答
511 浏览

android - 如何在 flatMap 中使用 await 方法?

我的问题是这个。我有下一个代码

所以,我从我的 android 应用程序中的 Room 表中获取了一个日期。我正在使用异步方法,因为房间查询需要在与 UI 不同的线程中完成。因此,结果是,我想为远程数据库构建一个新查询。问题是我想确保在创建查询时日期已经初始化。考虑到这一点,我使用 await 方法,但是给了我一个错误。它说我不能在没有挂起函数中调用 await 函数。那么,你能想出一个办法来解决这个问题吗?或如何解决?谢谢你

0 投票
2 回答
565 浏览

android - RxJava 2 模拟 Observable 不起作用

我使用 RxJava 2Observable将条形码扫描仪包装在我的一个应用程序中。这个片段展示了我如何订阅Observable和收听它的事件

barcodeObservableObservable<Barcode>类型的对象。这一切都可以在带有真正条形码扫描仪的真实设备上正常工作。现在我想对该saveBarcode()方法进行单元测试并尝试以Observable<Barcode>这种方式模拟

我期望当我调用presenter.start()演示者时,必须订阅barcodeObservable并接收onNext()带有我提供的对象的事件。但这并没有发生。我究竟做错了什么?