J'ai Android la requête SQL Chambre, que coulante de retour:coulante de la chaîne à pouvant être complétée par une action
@Query("SELECT * FROM exercices WHERE lang = 'ru' AND id_exercice = :id")
Flowable<Exercices> getExercicesById(int id);
Dans mon dépôt, j'ai besoin obtenir l'élément émis, que de changer sa valeur booléenne, puis appelez nouvelle méthode, qui doit retours réalisables. Voilà ce que j'essaie:
@Override
public Completable setExerciseUsed(int id) {
return mDatabase.exerciseDao().getExercicesById(id)
.doOnNext(exercise -> exercise.setIs_used(1))
.flatMapCompletable(exercise ->
Completable.fromAction(() -> mFitnessDatabase.exerciseDao().addExercise(exercise)));
}
J'ai aussi essayé:
Exercices e = mDatabase.exerciseDao().getExercicesById(id).blockingFirst();
e.setIs_used(0);
return Completable.fromAction(() -> mDatabase.exerciseDao().addExercise(e));
Mais t fonctionne pas correctement. Il semble que Flowable émet beaucoup d'éléments, et ça va se bloquer en cycle, après l'abonnement.