Android RxJava 2、RoomDb和

Android RxJava 2、RoomDb和,android,rx-java2,android-room,Android,Rx Java2,Android Room,我正试图创建一个DatabaseHelper类来分离一些房间的东西。DatabaseHelper不是活动或片段。我试着做如下的事情 roomDb.mediaItemDownloadDao() .findById(mediaItemId) .subscribeOn(Schedulers.io()) .subscribe(oldDownload -> { oldDownload.setSo

我正试图创建一个DatabaseHelper类来分离一些房间的东西。DatabaseHelper不是活动或片段。我试着做如下的事情

 roomDb.mediaItemDownloadDao()
            .findById(mediaItemId)
            .subscribeOn(Schedulers.io())
            .subscribe(oldDownload -> {
                oldDownload.setSomeField(true);
                roomDb.mediaItemDownloadDao().insert(oldDownload);
            });
}

但它告诉我subscribe的结果没有被使用。是否有办法确保执行该命令,然后立即进行处置?我应该把一次性用品递给打电话的人吗?在片段/活动之外实现我想要/使用rx对象的最佳方式是什么

所以我想我不想去RX,而是想用

 rx.schedulers.Schedulers.io().createWorker()

把工作放在那里=]

和你的类似。我想补充一点,您应该将订阅
一次性
添加到助手中的
复合可编程
中,并且当父活动被销毁时,链接调用以处置您的
复合可编程

我更关注的是如何在下载服务的情况下做到这一点,因此我认为消除对复合/activity/etc的需要并使用调度器是我想要的途径。