【问题标题】:Issue loading ImageView from InputStream obtained from web service in Android 3.0 and above从 Android 3.0 及更高版本的 Web 服务获取的 InputStream 加载 ImageView 的问题
【发布时间】:2012-03-31 05:42:42
【问题描述】:

我的应用必须显示从 Web 服务作为 InputStream 获得的图像数据的图像预览。 InputStream 被解码为 Bitmap 以显示在 ImageView 中。整个流程在 Android 2.2 和 2.3 中运行良好,但在 Android 3.0 和 4.0 中无法正常运行。在后一种情况下,解码的位图为空,而在 2.x 中则很好。

这是我使用的代码 sn-p..

ImageView imgView = (ImageView) findViewById(R.id.image);       
String imageUrl = "my webservice url";      
HttpClient httpClient = new DefaultHttpClient();
HttpGet mHttpGetEntity = new HttpGet(imageUrl);
HttpResponse response;
try {
    response = httpClient.execute(mHttpGetEntity);
    XmlPullParser xpp = XmlPullParserFactory.newInstance().newPullParser();       
    InputStream is = response.getEntity().getContent();
    xpp.setInput(is, "UTF-8");
    // use xpp for process
    imgView.setImageBitmap(BitmapFactory.decodeStream(is));        
} catch (ClientProtocolException e) {
    e.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
}

即使在 Android 3.0 以上版本中,我如何才能使这项工作正常进行。请指教。

【问题讨论】:

    标签: android imageview inputstream android-3.0-honeycomb android-4.0-ice-cream-sandwich


    【解决方案1】:

    您的代码在我的 4.0 上运行良好。我想说不要担心 3.0,因为它是不稳定的版本,没有人会使用它。

    【讨论】:

    • 我在 Google Nexus 和 Galaxy Tab 10.1 中尝试过,这两种情况都无法正常工作。那可能是什么问题?
    • 你有网络连接权限吗?当我第一次在我的测试应用程序中测试它时,我得到了同样的东西,然后我记得我需要互联网许可。我使用这张图片ikailansays.files.wordpress.com/2008/12/n506957763_68091.jpg 这不是我...
    • 是的,我为在此处发布的示例应用程序缺少权限!但是我的应用程序仍然存在这个问题,它涉及解析响应的额外任务。更新了我上面的代码
    • 好的.. 我找出了导致问题的行。它在 xpp.setInput(is, "UTF-8");我认为 xpp.setInput 改变了 InputStream 'is' 的内容,这是我的问题的原因。当我注释掉那行代码时,它工作正常。但我不确定相同的原始代码如何在 Android 2.x 中正常工作!现在,如何从 InputStream 加载图像并使用 XmlPullParser 对其进行解析?
    • 你在说什么? XmlPullParser ?如果您再次查看您的问题,您从未提及 XML,而是 ImageView 和 null。如果你不知道如何提出正确的问题,你将得不到答案。还有常见问题解答stackoverflow,一个问题一个问题,使问题与其他问题相关。现在,您已经解决了空问题,将此问题标记为已回答并针对 Xml 事物开始一个新问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-12
    • 1970-01-01
    相关资源
    最近更新 更多