你好 Android 程序员
问题
我需要下载 50 张图片。问题是,用户在下载时无法使用该应用程序,这对用户体验不利。
意图
我认为在使用应用程序时使用 Universal Image Loader 下载图像是个好主意。我现在遇到的问题是我不知道如何将它与 AsyncTask 一起使用。我使用 AsyncTask 是因为我只加载前 10 个结果,然后,当用户滚动到代码末尾时,它会加载接下来的 10 个结果。
为此,我在 Fragment 中使用了 AsyncTask。
遇到的问题
我遇到的问题是如何正确实现通用图像加载器
方法
到目前为止,我所做的是将 ImageLoader 库添加到库中并将其添加为库。然后,我用这个内容创建了一个新类
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 Manifest XML。我没有将它添加为活动。我添加它只是作为一个名字。
但是现在我遇到了一个问题。如果我理解正确,文档说明使用它
imageLoader.loadImage(imageURL, ImageView)
这里的问题是,我不能在 doInBackground 方法中使用它,因为我不能在那里更改布局。所以我必须在 onPostExecute 方法中这样做,但我遇到了问题。所以我想听听关于如何在 Android 中结合使用这个 Universal Image Loader 和 AsyncTask 的解决方案。
正如我所说,我包含了库,编辑了 Android Manifest 文件并为应用程序创建了一个类。但是现在呢?
我在 Fragment 的 onCreate 方法中放了什么?我在哪里初始化 imageLoader?我真的不知道在我的班级/片段中在哪里做我需要 imageLoader 的地方。
关于我如何解决这个问题的任何建议?