im new at RxAndroid, i have been successfull implement load data from webservice using RxAndroid + Lambda, here are my code
RestClient.get()
.getStories()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(responseStories -> {
// show data to my view
view.showData(responseStories.getStories());
}, throwable -> {
// show error to my view
Timber.e("error get data stories :" + throwable.getMessage());
}, () -> {
Timber.i("completed get data stories");
});
interface for getStories
@GET("/me/stories") Observable<ResponseStories> getStories();
and then i want combine it with my function for save data to local database (sqlite), but im little bit confuse what function i must use for .
i have been trying with simple code like these
List<User> listUser = new ArrayList<>();
listUser.add(new User("John Snow"));
listUser.add(new User("Raisyana"));
Observable.just(listUser)
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.concatMap(users1 -> Observable.from(users1))
.doOnNext(user -> saveToDatabaseUser(user))
.subscribe();
private void saveToDatabaseUser(User user) {
Log.d("save", "save data " + user.getName());
Log.d("thread", "" + Thread.currentThread().getName());
}
its success log username, but when im trying implement on my real code it failed
Aucun commentaire:
Enregistrer un commentaire