android - 如何在客户端使用 URL 从服务器下载多个图像

标签 android json android-asynctask

我正在使用本教程: http://manishkpr.webheavens.com/android-viewpager-as-image-slide-gallery-swipe-gallery/

这里他用的是drawable images,现在我想用Server Images

ImageAdapter.java:

public class ImageAdapter extends PagerAdapter {
Context context;
private int[] GalImages = new int[] {
R.drawable.one,
R.drawable.two,
R.drawable.three
};
ImageAdapter(Context context){
this.context=context;
}
@Override
public int getCount() {
return GalImages.length;
}

@Override
public boolean isViewFromObject(View view, Object object) {
return view == ((ImageView) object);
}

@Override
public Object instantiateItem(ViewGroup container, int position) {
ImageView imageView = new ImageView(context);
int padding = context.getResources().getDimensionPixelSize(R.dimen.padding_medium);
imageView.setPadding(padding, padding, padding, padding);
imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
imageView.setImageResource(GalImages[position]);
((ViewPager) container).addView(imageView, 0);
return imageView;
}

@Override
public void destroyItem(ViewGroup container, int position, Object object) {
((ViewPager) container).removeView((ImageView) object);
}
}

我仍然使用这样的图片路径:

R.drawable.one,
R.drawable.two,
R.drawable.three

但现在我想使用如下的图片路径:

http://manishkpr.webheavens.com/wp-content/uploads/2012/10/bloglogo1.png,
http://manishkpr.webheavens.com/wp-content/uploads/2012/10/bloglogo2.png,
http://manishkpr.webheavens.com/wp-content/uploads/2012/10/bloglogo3.png

最佳答案

您无需使用引用 http://www.androidhive.info/2012/07/android-loading-image-from-url-http/ 执行任何操作.

只需创建包含 url 的字符串数组

    String[] imagUrl={
            http://manishkpr.webheavens.com/wp-content/uploads/2012/10/bloglogo1.png,
            http://manishkpr.webheavens.com/wp-content/uploads/2012/10/bloglogo2.png,
           http://manishkpr.webheavens.com/wp-content/uploads/2012/10/bloglogo3.png };

创建数组后,只需复制文件 ImageLoader.javaFileCache.javaMemoryCache.javaUtils.java 在您的应用程序中。

然后在您的适配器类中执行以下操作。

@Override
public Object instantiateItem(ViewGroup container, int position) {
    // Imageview to show
    ImageView imageView = new ImageView(context);
    // ImageLoader class instance
    ImageLoader imgLoader = new ImageLoader(getApplicationContext());
     // Loader image - will be shown before loading image
    int loader = R.drawable.loader;
    // whenever you want to load an image from url
    // call DisplayImage function
    // url - image url to load
    // loader - loader image, will be displayed before getting image
    // image - ImageView 
    imgLoader.DisplayImage(imagUrl[position], loader, imageView );
}

关于android - 如何在客户端使用 URL 从服务器下载多个图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18146717/

相关文章:

java - 搜索 ArrayList 模型

android - Android Studio 示例代码中 setAudioSource 失败

php - 适用于 iOS 的简单 PHP/MySQL Web 服务

android - MapView 和 AsyncTask

java - Android - 将数据从 AsyncTask 传递到 Activity

php - 从不同数据库获取用户信息

android - AWS cognito 与 AppAuth 集成

支持 JSONP 的 ASP.NET 通用 HTTP 处理程序 (.ashx)

java - java中XML到JSON的转换

java - onPostExecute 不会在 AsyncTask Android 上被调用