在 Android 上将 Web 图像转换为 ListView
Posted
技术标签:
【中文标题】在 Android 上将 Web 图像转换为 ListView【英文标题】:Web Images into ListView on Android 【发布时间】:2017-02-26 07:04:40 【问题描述】:我是 Java 初学者,我想在 JSON 的 ListView 上显示 Web 图像。 现在我已经用文本字符串和本地图像(mipmap.ic_launcher)创建了 ListView。也可以从 web 加载 img,但只能从 onCreate 使用
mImageView = (ImageView) findViewById(R.id.image);
new LoadImageTask(this).execute(KEY_URL);
我的其余代码:
public void onLoaded(List<androidVersion> androidList)
for (AndroidVersion wykopList : androidList)
HashMap<String, String> map = new HashMap<>();
mImageView = (ImageView) findViewById(R.id.image);
new LoadImageTask(this).execute(KEY_URL);
map.put(KEY_VER, wykopList.getVer());
map.put(KEY_NAME, wykopList.getName());
map.put(KEY_API, wykopList.getApi());
map.put("image",String.valueOf(R.mipmap.ic_launcher));
mAndroidMapList.add(map);
loadListView();
private void loadListView()
ListAdapter adapter = new SimpleAdapter(MainActivity.this, mAndroidMapList, R.layout.list_item,
new String[] KEY_VER, KEY_NAME, KEY_API,"image" ,
new int[] R.id.version,R.id.name, R.id.api,R.id.image);
mListView.setAdapter(adapter);
@Override
public void onImageLoaded(Bitmap bitmap)
mImageView.setImageBitmap(bitmap);
【问题讨论】:
您可以使用通用图像加载器。这很容易,选项也适合你,比如 picasso ,glide。 可以使用Picasso进行图片加载,Picasso.with(context).load("Image_url").into(imageView); 【参考方案1】:通用图像加载器比为每个图像获取位图要好。 请按照步骤操作。
步骤 1- 从这里下载通用图像加载器 https://github.com/nostra13/Android-Universal-Image-Loader
第 2 步 - 将此 jar 文件放在项目的 libs 文件夹中。并在 build.gradle 文件中添加依赖项
第 3 步 - 实例化 ImageLoader 和 DisplayImageOptions。
ImageLoader imageLoader = ImageLoader.getInstance(); DisplayImageOptions imageDisplayOptions = new DisplayImageOptions.Builder() .cacheInMemory(true).cacheOnDisk(true) .showImageOnLoading(R.drawable.umg_player_img) .bitmapConfig(Bitmap.Config.ARGB_8888) .build();
步骤 4- 现在终于在图像视图上设置您的图像 imageLoader.displayImage(imageUrl, mImageView, imageDisplayOptions);
【讨论】:
我已经完成了这个并使用了activity_main,但是如何在我的arraylist上实现这个?【参考方案2】:使用 picasso 从服务器检索图像。
这是在您的项目中使用 picasso 的 gradle 依赖项:-
compile 'com.squareup.picasso:picasso:2.5.2'
这是如何使用它的示例代码:-
Picasso.with(context)
.load(url)
.placeholder(R.drawable.user_placeholder)
.error(R.drawable.user_placeholder_error)
.into(imageView);
【讨论】:
以上是关于在 Android 上将 Web 图像转换为 ListView的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Android 上将 MS Office DOC/XLS/PPT 和 PDF 转换为图像
ImageMagick 无法在 WSL 上将 PDF 转换为图像