Я разрабатываю приложение для 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
.