Я разрабатываю приложение для Android с использованием Clean Architecture, и я переношу его в RxJava 2.x. Я должен сделать некоторые сетевые запросы для мыльной службы, поэтому я определил интерфейс api в модуле домена:
public interface SiginterApi {
Observable<User> login(String user, String password);
...
Observable<List<Campaign>> getCampaigns(List<Long> campaignIds);
}
Я прочитал, что сетевой запрос должен быть выполнен с помощью < <21 > , из-за управления противодавлением, так как это "холодный наблюдаемый". С другой стороны, я знаю, что результат запроса будет успешным (с ответом) или ошибкой, поэтому я не знаю, следует ли использовать Flowable или Single или даже Observable.
Кроме того, у меня есть доступ к базе данных следующим образом:
public interface UserRepository extends Repository {
Observable<Void> saveUser(String username, String hashedPassword, boolean logged, User user);
...
Observable<User> findUser(String username, String hashedPassword);
}
Я не знаю, следует ли использовать Completable/Flowable/Observable в методе saveUser и Single/Flowable/Observable в методе findUser.