RxJava 2, RoomDb и удаление - PullRequest
0 голосов
/ 25 мая 2018

Я пытаюсь создать класс DatabaseHelper, чтобы отделить некоторые вещи Room.DatabaseHelper не является действием или фрагментом.Я пытаюсь сделать что-то вроде следующего:

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

, но он говорит мне, что результат подписки не используется.Есть ли способ, чтобы убедиться, что выполняется, а затем утилизировать немедленно?Должен ли я передавать одноразовые до вызывающего абонента?Каков наилучший способ для достижения того, что я хочу / использовать объекты RX за пределами фрагмента / деятельности?

Ответы [ 2 ]

0 голосов
/ 25 мая 2018

Этот вопрос похож на ваш.Я бы добавил, что вы должны добавить свою подписку Disposable к CompositeDisposable в вашем помощнике, а когда родительская активность будет уничтожена, соедините вызов, чтобы избавиться от CompositeDisposable.

0 голосов
/ 25 мая 2018

так что я думаю, вместо того, чтобы идти к RX для этого, я хочу использовать

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

и просто поместить работу туда =]

...