Я только начал изучать, как использовать RxJava 2 и Retrofit 2 в Android. Я следил за несколькими учебниками, и я могу получить данные с моего сервера. Мой вопрос заключается в том, что является стандартным способом для легкого доступа к этим извлеченным данным. В настоящее время GSON анализирует его на объект, я печатаю toString, но это все.Извлечение данных из объекта Observable с использованием RxJava 2 и дооснащения 2
У меня есть этот интерфейс, чтобы определить мой запрос POST:
public interface FacebookAppLoginService {
@POST("app/fbapp_login")
Observable<User> getUser(@Body FacebookAccessToken facebookAccessToken);
}
я создаю объект Дооснащаемый:
Retrofit retrofit = new Retrofit.Builder()
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.addConverterFactory(GsonConverterFactory.create())
.baseUrl("http://rocky-garden-56471.herokuapp.com/")
.build();
Я затем создать объект, чтобы содержать тело JSON запроса моей POST:
FacebookAccessToken facebookAccessToken = new FacebookAccessToken();
Затем я создаю наблюдаемое из своего интерфейса:
Observable<User> newUser = facebookAppLoginService.getUser(facebookAccessToken);
Наконец, я присоединяюсь к наблюдаемым, наблюдая в основном потоке, но делать запрос на рабочий поток (я думаю), то я вхожу результаты:
newUser.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(userInfo -> {
Log.i("Server Call", "Received: " + userInfo.toString());
});
ToString правильно печатает из информации пользователя, полученной от сервера. Каков стандартный способ использования этого объекта, который я получаю в лямбда-функции? Я хотел бы сохранить его в базе данных или, по крайней мере, сохранить его в объекте в рамках действия. Как мне это сделать?