Przy każdym uruchomieniu aplikacji mam funkcję Retrofit Observable, która pobiera nazwę użytkownika użytkownika z serwera. Chcę użyć tej wartości dla każdego kolejnego subskrybenta, ale wydaje się, że za każdym razem, gdy wywołuję funkcję subscribe(), wartość jest ponownie pobierana z sieci. Ponieważ nazwa użytkownika prawdopodobnie nie ulegnie zmianie podczas cyklu życia aplikacji, nie odtwarzam obiektu Observable, a tylko raz tworzę.RxJava: W jaki sposób można zaobserwować pobranie po użyciu i ponowne użycie?
Jak chcę go do pracy jest:
Tworzenie obserwowalnym raz
Pobiera nazwę użytkownika raz, zapisać tę wartość w obserwowalnym
Na subskrybować, wykorzystywania że zapisaną wartość, lub jeśli jest to nie wykonano pobierania, czekaj, aż zostanie pobrane:
Jak mam to zrobić?
Przez "use' cache() '", masz na myśli tworzenie Observable lub subskrybowanie go? –
Dodanie '.cache()' do instancji Observable zdało się to zrobić. Dzięki! –