ボタンをクリックした後、RetrofitサービスコールuploadPhoto
を作成するアンドロイドアプリがあります。向き変更後のRxJava Androidアプリの整備サービス応答
このサービスコールの応答では、写真のIDを受信したいので、サービスの応答またはエラーを聞く必要があります。私はこの
Signletons.retrofitService.uploadPhoto(photoData)
.subscribe(new Action1<Response<UploadResponse>>() {
@Override
public void call(Response<UploadResponse> response) {
// response.body().photoId
}
})
を扱うしかし、活動は姿勢変化により破壊されますとき、私は上記の観測から退会し、私の写真リクエストが送信された間、これはどこかで起こるかもしれませんが、前に応答が受信されたコードを持っています。つまり、写真をアップロードすることはできますが、写真IDは取得できません。
この状況を処理し、オリエンテーションが変更された後に再登録すると、オリエンテーションの変更により逃した結果を得るのに最も良い方法は何ですか?
を終了していない場合は退会どのように活動が再び再作成されたときに再サブスクライブするのに役立つのでしょうか? –
あなたは正しいです。それは助けにならないでしょう。以前のものはunsubscribedされていないので、あなたはonCreateメソッドのObservableに再び登録することはできません。 – dwursteisen
私はこの観察可能なものから退会しない場合、この観察可能なハンドラーは破壊される活動に留まります。結果が到着すると、破壊されたアクティビティで処理する必要はありません。さらに、活動が破壊されるのを防ぐことは、非常に高価な作業です。 –