我正在进行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)
之后,我看到文字向下移动到图像的自由空间,但这个地方仍然是空的(活动白色背景......)。
这里的错误在哪里?