如何从网址中检索图像

时间:2012-05-09 12:11:13

标签: android listview imageview

我正在研究API。我们提供了图片网址。我必须在我的列表活动中显示来自该Url的图像,其中使用了自定义适配器。如何设置图像投掷网址?我花了差不多两天时间。我在我的活动中使用了图像视图。

3 个答案:

答案 0 :(得分:2)

在你的活动中尝试下面的代码,你将获得Bitmap对象,你可以使用setImageBitmap(Bitmap bmt)。

方法:

public Bitmap getBitmap(String url) {
            Log.d("getBitmap", "getBitmap");
            Bitmap bm = null;
            try {
                URL aURL = new URL(url);
                URLConnection conn = aURL.openConnection();
                conn.connect();
                InputStream is = conn.getInputStream();
                BufferedInputStream bis = new BufferedInputStream(is);
                bm = BitmapFactory.decodeStream(new FlushedInputStream(is));
                bis.close();
                is.close();
            } catch (Exception e) {
                e.printStackTrace();
            } finally {

            }
            return bm;
        }

内部阶级:

class FlushedInputStream extends FilterInputStream {
        public FlushedInputStream(InputStream inputStream) {
            super(inputStream);
        }
    }

答案 1 :(得分:0)

see this完整示例

答案 2 :(得分:0)

使用此代码从文件

获取位图图像
Bitmap bitmapImage = BitmapFactory.decodeFile(//File path);
    imageView.setImageBitmap(bitmapImage);

你可以通过以下方法从uri获取文件,

private File getFileFromUri(Uri uri) throws IOException {
    Cursor cursor = managedQuery(uri, null, null, null, null);
    if (cursor.getCount() == 0) {
        throw new IOException(String.format("cannot find data from %s",
                uri.toString()));
    } else {
        cursor.moveToFirst();
    }

    String filePath = cursor.getString(cursor
            .getColumnIndex(Video.VideoColumns.DATA));

    File file = new File(filePath);
    cursor.close();
    return file;
}

希望这会对你有所帮助