RxJavaと長いタスクで向きを変えて処理する方法を学び、断片を保持してviewstateを保存する方法について読んでいますが、それでも私にとってはまだ不明です。RxJava 2 + Retrofit 2(または長い非同期タスク)+ Dagger 2 + MVP VS方向を変える
たちは改造を経由してネットワーク要求を持っている、と想像:
Retrofit retrofit = ApiClient.getClient(); //get retrofit instance
retrofit.create(ApiInterface.class).getImageList() // get list of image objects
.map(this::sleepDear)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(this::setupRecyclerView);
sleepDear()
public ImageResponse sleepDear(ImageResponse response) throws InterruptedException {
for (int i = 0; i < 5; i++) {
Log.d(TAG, "SLEEP");
TimeUnit.SECONDS.sleep(1);
}
return response;
}
setupRecyclerView()
public void setupRecyclerView(ImageResponse response) {
bar.setVisibility(View.GONE);
Log.d(TAG, "response size " + response.getImageList().size());
ImageAdapter adapter = new ImageAdapter(MainActivity.this, response.getImageList());
recyclerView.setAdapter(adapter);
}
sleepDear()メソッドは、長い計算(5秒をシミュレート)、その後setupRecyclerView()はリクエストからrecyclerviewにデータを変換すると、それをドロップしてs私が向きを変えたときにもう一度タルト。修正する最良の解決策は何ですか? MVPはビューとモデル(レトロフィット要求)レイヤを分離するのに役立ちます。答えをありがとう。