Android:从表示中恢复图像位图作为已解码的字符串

时间:2015-10-07 21:07:28

标签: android bitmap android-imageview android-bitmap bitmapfactory

我正在进行Web服务调用以获取jpeg图像,我将其存储为String以便成为某些Json字段的值(Web服务返回Json ...)。 Web服务本身从URL检索图像,所以总体而言我已经使用了我的Web服务:

InputStream in = new java.net.URL(imageWebServiceURL).openStream();
String imageAsStringReadyForJson = getStringFromInputStream(in);

private String getStringFromInputStream(InputStream is) {
    BufferedReader br = null;
    StringBuilder sb = new StringBuilder();
    String line;
    try {
        br = new BufferedReader(new InputStreamReader(is));
        while ((line = br.readLine()) != null) {
            sb.append(line);
        }
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        if (br != null) {
            try {
                br.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    return sb.toString();
}

然后在Android中我尝试反之亦然:

InputStream stream = new ByteArrayInputStream(stringFromJson.getBytes(Charset.forName("UTF-8")));
Bitmap photoBitmap = BitmapFactory.decodeStream(stream);
imageView.setImageBitmap(photoBitmap);

结果:在ImageView下面我有TextView,如果我注释掉imageView.setImageBitmap(photoBitmap)活动视图顶部显示的TextView。在我打电话给imageView.setImageBitmap(photoBitmap)之后,我看到文字向下移动到图像的自由空间,但这个地方仍然是空的(活动白色背景......)。

这里的错误在哪里?

0 个答案:

没有答案