Alors j'ai pensé que j'essaierais Room
sur un petit projet parallèle. J'ai suivi l'exemple de Florina Muntenescu projet: android-architecture-componentsAndroid Architecture Composants Chambre ViewModel CompleteableFormAction
J'accorde une attention particulière aux classes: UserActivity.kt, UserViewModel.kt, UserDao.kt
UserViewModel#updateUserName()
retourne une Completable et doit être souscrit au retour onComplete
ou onError
Lorsque Je tente de mettre mon équivalent de viewModel.updateUserName(userName)
dans une chaîne RxBindings
. Si je souscris normalement Je suis passé un Disposable!
dans la onNext
avec une valeur de "DISPOSED"
en finale .subscribe
Le problème est que ce ne sera pas émettrait Erreur et sait donc jamais s'il y a une question
Comment pourrais-je adapter le code ci-dessous afin que le .subscribe
final renvoie les correct événements?
RxTextView.textChanges(editText)
.debounce(250L, TimeUnit.MILLISECONDS, schedulers.main)
.subscribeOn(schedulers.main)
.observeOn(schedulers.disk)
.map({ name ->
viewModel.updateUserName(name)
.subscribe(
{ Timber.d(“Success”) },
{ error -> Timber.d(error, “something went wrong”)) })
})
.observeOn(schedulers.main)
.subscribe(
{ Timber.d("name changed $it}") },
{ Timber.e(it, "name error") })
Merci à l'avance
M.
Cela a fonctionné à merveille! – Mannox
Je ne savais pas de cet opérateur, j'ai commencé à écrire quelque chose comme:. '.flatMap ({nom -> var res = Observable.empty() vM updateUserName (nom) .subscribe ({ res = Observable .just ("succès") }, {error -> res = Observable.error (erreur) }) résultat}) ' –
Mannox