Je construis un projet en utilisant web3.RxJava comment observer sur mainThread dans des versions plus anciennes? Je n'ai pas accès à AndroidSchedulers.mainThread()
web3j.ethGetBalance("0x2910543af39aba0cd09dbb2d50200b3e800a63d2", latestBlock)
.observable()
.subscribeOn(rx.schedulers.Schedulers.io())
//This needs to be on the main thread!
//But i only have access to rx.schedulers not AndroidSchedulers.mainThread()
.observeOn(rx.schedulers.Schedulers.io())
.subscribe(block -> {
ethereumTV.setText(block.getBalance() + "");
}, error -> {
error.printStackTrace();
});
Mais web3 utilise une ancienne version de RxJava et je ne peux pas accéder au mainThread d'observer à ce sujet (Pour mettre à jour des vues de texte, etc.)
Toutes les idées?
'compiler 'io.reactivex: rxandroid: 1.2.1'' /* Parce que les versions RxAndroid sont rares, il est r */ /* dépend explicitement de la dernière version de RxJava pour les corrections de bugs et les nouvelles fonctionnalités. */ 'compile 'io.reactivex: rxjava: 1.1.6'' – EpicPandaForce
c'est mon problème si ->' observeOn (rx .Scheduler) 'in' rx.Observable 'ne peut pas être appliqué à' (io.reactivex.Scheduler) ' – Gravychain
Si vous ne pouvez pas ajouter la dépendance 'rxandroid' pour obtenir' AndroidSchedulers', alors vous devrez peut-être créer votre propre 'Scheduler '. Le planificateur de threads principal était juste un wrapper autour de 'handler.post (...)' de toute façon. – Jon