rx-java2相关内容

同一项目中的RxJava 1和RxJava 2

我们的项目使用RxJava 1: 编译'io.reactivex:rxjava:1.1.6' 我们使用一个内部使用RxJava 2的库: 编译'io.reactivex.rxjava2:rxjava:2.0.9' 当我执行 ./gradlew assembleDebug 时,出现此错误: com.android.build.api.transform.TransformExcept ..
发布时间:2021-04-05 19:29:26 移动开发

RxJava 2/改造2-NetworkOnMainThreadException

我需要执行一个请求,如果我的令牌已过期,我需要刷新它,然后重试该请求. 这是我正在尝试执行的操作,目前我可以刷新令牌,但它引发了NetworkOnMainThreadException.它完成了请求,更新了令牌并到达了日志,但是那异常杀死了我.我该如何避免呢? public ObservablelistarEstabelecimentos(){返回Ob ..
发布时间:2021-04-05 18:55:14 移动开发

使用改造和rxjava 2.x处理空响应

在使用rxjava 1.x时,我通常返回 Observable 来处理改装后的空响应: @POST("login")可观察到的getToken(@Header("Authorization")字符串授权,@Header("username")字符串用户名,@Header("password")字符串密码); 但是由于rxjava 2.x不会使用 Void 发出任 ..
发布时间:2021-04-05 18:47:28 移动开发

Paging3:“不确定如何将Cursor转换为该方法的返回类型"在Room DAO中使用PagingSource作为返回类型时

我试图为新的Paging 3库模仿Google的代码实验室,当我尝试让Room DAO方法返回 PagingSource 时,我遇到了以下错误: D:\ Programming \ Android \ something \ app \ build \ tmp \ kapt3 \ stubs \ debug \ com \ someapp \ something \ data \ db \ U ..

RxJava2 toList()从不发出

因此,我发现以下Disposable无效.我正在使用Room从一个表中获取所有行作为列表,将它们中的每行映射到某个东西并创建一个列表,然后它不会从那里继续. storedSuggestionDao.getSuggestionsOrderByType()//可流动.doOnNext(storedSuggestions-> Timber.e("storedSuggestions:" + store ..
发布时间:2021-04-04 20:35:06 移动开发

Android Room插入重复的实体

我正在使用Android的Room库在应用程序中进行数据库交互,因此我对如何防止重复项插入数据库感到困惑. 我觉得我一定很想念东西,因为这似乎应该很容易做到.我已经在Google上搜索了与该主题相关的各种单词组合,但无济于事. 我本质上是使用样本之一进行插入和查询. 实体: @Entity(tableName ="cameras")公共类CameraEntity {@Prim ..
发布时间:2021-04-04 20:34:45 移动开发

如何使用Android Room执行单行查询

如何使用带有RxJava的Android Room进行单行查询?我能够查询项目列表,没有问题.在这里,我想查找是否存在特定行.根据文档,看来我可以返回Single并检查是否存在EmptyResultSetException异常(如果不存在任何行). 我可以有类似的东西: @Query("SELECT * FROM Users WHERE userId =:id LIMIT 1")单个 ..
发布时间:2021-04-04 20:34:39 移动开发

如何同步从LiveData获得价值?

对于 LiveData ,是否有与RxJava的Observable中的 blockingNext 或 blockingSingle 类似的东西来同步获取值?如果没有,我如何实现相同的行为? 解决方案 您可以调用 getValue()返回当前值(如果有).但是,没有“阻塞直到有值"选项.通常,这是因为 LiveData 是要在主应用程序线程上使用的,因此应避免无限阻塞调用. 如果您需 ..
发布时间:2021-04-04 18:46:01 移动开发

是否建议在订阅完成工作后立即调用Disposable.dispose()?

我有一个 Activity ,在其中创建并订阅 Single 类的多个实例(每个实例在单独的后台线程中进行一些工作).对于每个订阅,我将创建的 Disposable 实例添加到范围为 Activity 的 CompositeDisposable 实例中.当 Activity 被销毁时,我正在调用 CompositeDisposable.clear()方法来处置 Activity 中的所有订阅.当然 ..
发布时间:2021-04-03 20:52:29 移动开发

何时调用CompositeDisposable上的处理并清除

我的问题可以是如何使用RxJava 2的CompositeDisposable吗?但要求澄清另一个疑问.根据公认的答案 //使用清除将清除所有内容,但可以接受新的一次性一次性用品.clear();//使用dispose将清除所有内容并设置isDisposed = true,因此它将不接受任何新的一次性Disposables.dispose(); 在我的情况下,我使用片段作为我的视图(MVP中 ..
发布时间:2021-04-03 20:45:44 移动开发

DiffUtil回调导致索引超出范围异常

我目前正在开发一个具有4个字段的项目列表,可以使用自动完成功能对其进行编辑.基础数据结构是4个字段对及其自动完成建议的列表.在用户编辑之前,一旦用户编辑了一个请求,该建议就为空,而我使用diffutil来检测&将更改分派到适配器.我正在使用redux/mvi模式,因此我在视图模型中计算了diffutil回调,然后将一对传递给我的活动以仅调度更改. 一些代码和错误代码片段的时间:) 错误: ..
发布时间:2021-02-15 19:52:36 移动开发

在flatMap {...}映射器函数内部进行阻塞操作是否安全?

我想组织一个线程屏障:给定一个锁对象,任何线程都可以获取它并进一步延伸线程的链,但是任何其他线程将保持休眠状态,直到第一个线程完成并释放该线程锁定. 让我们用代码表达我的意图(log()只是在日志中打印字符串): val mutex = Semaphore(1) // number of permits is 1 source .subscribeOn(Schedulers.new ..
发布时间:2021-02-15 19:50:33 其他开发

RxJava在SQL中的分组方式替代

我有一个Student的列表: Observable source = Observable.fromIterable(getStudentList()); 我想按邮政编码以及它们出现的次数对它们进行分组,但是问题是我使用的是Java 7 该怎么做? 解决方案 在组本身上使用groupBy,flatMap和count: source.groupBy( ..
发布时间:2021-02-10 18:45:07 其他开发

在Android中的MVP Presenter中对RxJava进行单元测试

我是TDD的新手.同样是MVP和Rxjava的新功能.我只是深入研究,这是值得的.但是我停留在测试部分.我了解单元测试的基础.一开始对我来说有点困难.但是我被困在这里,那么如何测试演示者呢? 这是Presenter类- public class NewsPresenter { private final RxjavaService service; private final Mai ..
发布时间:2020-11-29 20:02:40 其他开发