Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓:从服务器下载一堆图片_Android_Image_Picasso_Universal Image Loader_Aquery - Fatal编程技术网

Android 安卓:从服务器下载一堆图片

Android 安卓:从服务器下载一堆图片,android,image,picasso,universal-image-loader,aquery,Android,Image,Picasso,Universal Image Loader,Aquery,我正在开发测验应用程序。所有问题都在服务器端。当用户选择测验类别时,服务器返回json文件,其中包含问题、答案变体和图像URL。例如,在一个类别中,我有10个问题,其中4个问题需要加载图像。我从json文件中检查哪一个有图像url,我需要将它们下载到缓存或磁盘内存中(不知道哪个解决方案更好) 问题:如何从服务器加载大量图像并显示进度条?当用户想要进行测验时,如何访问下载的图像? 在开始回答问题之前,我需要下载图像,因为回答问题会有时间限制。尝试使用我认为您使用的。此库使用磁盘缓存来存储映像,因此

我正在开发测验应用程序。所有问题都在服务器端。当用户选择测验类别时,服务器返回json文件,其中包含问题、答案变体和图像URL。例如,在一个类别中,我有10个问题,其中4个问题需要加载图像。我从json文件中检查哪一个有图像url,我需要将它们下载到缓存或磁盘内存中(不知道哪个解决方案更好)
问题:如何从服务器加载大量图像并显示进度条?当用户想要进行测验时,如何访问下载的图像? 在开始回答问题之前,我需要下载图像,因为回答问题会有时间限制。

尝试使用我认为您使用的。此库使用磁盘缓存来存储映像,因此,如果该映像在磁盘上可用,则不下载该映像

要创建带有更新的进度条,必须创建一个异步任务:

本文的第一个示例是下载一个文件。对于您的项目,在下载的每个图像处调用publishProgress()

编辑:

私有类下载ImageTask扩展异步任务{
ImageLoader ImageLoader=ImageLoader.getInstance();//实例android通用图像加载器
List downloadeImage=new LinkedList();
受保护列表doInBackground(列表…URL){
列出你的URL=URL[0];
用于(URL:YourURL){
imageLoader.loadImage(url.toString(),新的SimpleImageLoadingListener()){
@凌驾
public void onLoadingComplete(字符串imageUri、视图视图、位图加载图像){
downloadeImage.add(loadeImage);
出版进度(1);
}
});
}
返回下载的图像;
}
受保护的void onProgressUpdate(整数…进度){
//在此更新您的进度条
}
受保护的void onPostExecute(列表结果){
//关闭进度条
//将位图放在imageview中
}
受保护的void onPreExecute(){
//创建进度条
}
}
执行:

List<Bitmap> yourimages = new DownloadImageTask().execute(YOURLISTURL).get();
List yourmages=new DownloadImageTask().execute(YOURLISTURL.get();

你的意思是在DownloadFilesTask而不是Downloader.downloadFile(URL[i])中,我将使用通用图像加载器?我在第一篇文章中添加了一个示例,下载带有URL列表的图像是一项异步任务。如果需要,可以将其替换为字符串列表。如果asynctask返回位图(图像)列表,则可以在onPostExecute()或get()函数的返回中管理此位图列表。
List<Bitmap> yourimages = new DownloadImageTask().execute(YOURLISTURL).get();