android先行ダウンロード画像
2024 ワード
大幅に早めにユーザーの情報を修正するには、クライアントが先に情報を引き出して、伝える必要があります.これは間違いありませんが、奇抜なのは画像もこのように実現して、先にダウンロードして、それからアップロードして、製品といろいろな根拠を通じて努力した後、失敗して、このように実現するしかありません.背景:1,2,3,4の3つの順のFragmentがあり、1つ目のFragmentに入ると、複数の画像のダウンロードが行われ、4つ目のFragmentが表示されて使用され、3つ目のFragmentが4つ目のFragmentにジャンプしようとしたときに判断し、ダウンロードが完了したら直接ジャンプし、loadingボックスの提示が完了しなければダウンロードが完了するまで待つ.実装方法:Listener+グローバル変数(このグローバル変数はActivityに記載されており、この4つのfragmentはすべてこの変数を得ることができる)は、ここでグローバル変数とListenerを使用することは不可欠であり、グローバル変数を使用することはFragment 3に達していない場合、つまりListenerがnewから出ていない場合、Fragment 3のダウンロードが完了したことを通知する.Listenerの役割は、Fragment 3ジャンプFragment 4がまだダウンロードが完了していない場合に、ダウンロードを待って、ダウンロードが完了したことを知ってからジャンプすることです.
ステップ1、Fragment 1でダウンロードを開始し、ダウンロード終了後、Listenerから通知を受け、グローバル変数を変更する.
ステップ2、Fragment 3 newリスナー
ステップ3、Fragment 3ジャンプFragment 4イベントがトリガーされた場合、グローバルがフラグビットであり、ダウンロードに成功したか否かを判断し、成功しなければloadingボックスを回し、Listener通知を待つ
これによりFragment 4への保証が完了し、ダウンロード操作が完了する.
ステップ1、Fragment 1でダウンロードを開始し、ダウンロード終了後、Listenerから通知を受け、グローバル変数を変更する.
public void downloadRejectImages(Map images) {
new AsyncImageLoader().loadImages(images, new AsyncImageLoader.ImageCallback() {
@Override
public void imageLoaded() {
loadImageStatus = SUCC_MSG;
if (mOnImageLoadListener != null) {
mOnImageLoadListener.onSuccess();
}
}
@Override
public void imageLoadFailed() {
loadImageStatus = FAIL_MSG;
if (mOnImageLoadListener != null) { mOnImageLoadListener.onFailure();
}
}
});
ステップ2、Fragment 3 newリスナー
((RealNameActivity) mActivity).setOnImageLoadListener(new RealNameActivity.OnImageLoadListener() {
@Override
public void onSuccess() {
completeInfos();
}
@Override
public void onFailure() {
completeInfos();
}
});
ステップ3、Fragment 3ジャンプFragment 4イベントがトリガーされた場合、グローバルがフラグビットであり、ダウンロードに成功したか否かを判断し、成功しなければloadingボックスを回し、Listener通知を待つ
// Fragment ,
これによりFragment 4への保証が完了し、ダウンロード操作が完了する.