こんにちは仲間の Android コーダー
問題
50枚の画像をダウンロードする必要があります。問題は、ユーザーがダウンロード中にアプリを使用できず、ユーザー エクスペリエンスが悪いことです。
目的
アプリの使用中に Universal Image Loader を使用して画像をダウンロードするのは良い考えだと思いました。私が今抱えている問題は、AsyncTask と一緒に使用する方法がわからないことです。AsyncTask を使用しているのは、最初の 10 個の結果のみをロードし、ユーザーがコードの最後までスクロールすると、次の 10 個の結果がロードされるためです。
そのために、フラグメント内で AsyncTask を使用しています。
問題発生
私が直面している問題は、Universal Image Loader を正しく実装する方法です。
アプローチ
ここまでで行ったことは、ImageLoader ライブラリを libs に追加し、ライブラリとして追加することです。次に、このコンテンツで新しいクラスを作成しました
package de.activevalue.ttflies;
import android.app.Application;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
/**
* Created with IntelliJ IDEA.
* User: pan
* Date: 28.10.13
* Time: 10:11
* To change this template use File | Settings | File Templates.
*/
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
// Create global configuration and initialize ImageLoader with this configuration
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext()).build();
ImageLoader.getInstance().init(config);
}
}
android:name=".MyApplication"
次に、この行を<application ...
XML ファイルのタグに追加して、Android マニフェスト XML も編集します。アクティビティとして追加しませんでした。名前だけ付けました。
しかし今、私は問題に直面しています。ドキュメントには、正しく理解していればそのように使用するように記載されています
imageLoader.loadImage(imageURL, ImageView)
ここでの問題は、レイアウトを変更できないため、 doInBackground メソッドでこれを使用できないことです。したがって、onPostExecute メソッドでそれを行う必要がありますが、問題が発生しています。したがって、この Universal Image Loader を Android で AsyncTask と組み合わせて使用する方法についての解決策を聞きたいと思います。
前述したように、ライブラリを含め、Android マニフェスト ファイルを編集し、アプリケーションのクラスを作成しました。しかし、今はどうですか?
Fragment の onCreate メソッドには何を入れますか? imageLoader はどこで初期化しますか? imageLoaderが必要なクラス/フラグメントのどこで何をすべきか本当にわかりません。
どうすればそれを解決できるかについて何か提案はありますか?