Wpis z mikrobloga

Cześć, to znowu ja. Mógłby ktoś zerknąć co ja tutaj zrobiłem źle, że mi to nie hula? Chcę trochę zmodyfikować jeden obiekt i dodać drugi do bazy. Używam Room i chciałbym to zrobić za pomocą RXJava i Completable.

Obydwa dao mają metody zwracające Completable przy update i insert.
https://pastebin.com/jqfL6Y1t

Repository tylko podają dalej zwrócone Completable z DAO.

W serwisie mam metodę, która ma wykonać te działania: https://pastebin.com/N6v0w3zz

No i w ViewModelu próbuję obsłużyć zwrócone Completable: https://pastebin.com/HFYc62gL

Po odpaleniu tej metody z VM na konsolę dostaję tylko komunikaty, ale żadne zmiany w bazie nie są widoczne.

Dzięki za pomoc :)

#androiddev #programowanie
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Rubajticos: przeczytaj jak działa Completable.fromCallable. Działa tak samo jak fromAction, rezultat z Callable jest ignorowany.

Dlatego piggyRepository.updateWithCallback(piggy) tworzy Completable, ale nie jest na nim wykonany subcribe.

Completable updatePiggy = Completable.fromAction(() -> {
piggy.includeContribution(contribution.getAmount())}).andThen(piggyRepository.updateWithCallback(piggy));
  • Odpowiedz