【问题标题】:Displaying an image coming from database through web service in Android在Android中通过Web服务显示来自数据库的图像
【发布时间】:2012-11-19 13:35:26
【问题描述】:

我正在尝试在 Android 中使用 ImageView 显示图像。图像数据通过 Web 服务来自数据库。除了图像之外的所有其他值都可以在 android 屏幕上成功显示。我尝试了以下代码:

Bitmap bm=BitmapFactory.decodeStream((InputStream)response.getProperty(7));
image.setImageBitmap(bm);

但我得到的类转换异常为:

12-30 12:51:52.241: ERROR/AndroidRuntime(310): FATAL EXCEPTION: main
12-30 12:51:52.241: ERROR/AndroidRuntime(310): java.lang.ClassCastException: org.ksoap2.serialization.SoapPrimitive
12-30 12:51:52.241: ERROR/AndroidRuntime(310):     at com.trueVUE.modules.report.MainSimulation.onClick(MainSimulation.java:131)
12-30 12:51:52.241: ERROR/AndroidRuntime(310):     at android.view.View.performClick(View.java:2408)
12-30 12:51:52.241: ERROR/AndroidRuntime(310):     at android.view.View$PerformClick.run(View.java:8816)
12-30 12:51:52.241: ERROR/AndroidRuntime(310):     at android.os.Handler.handleCallback(Handler.java:587)
12-30 12:51:52.241: ERROR/AndroidRuntime(310):     at android.os.Handler.dispatchMessage(Handler.java:92)
12-30 12:51:52.241: ERROR/AndroidRuntime(310):     at android.os.Looper.loop(Looper.java:123)
12-30 12:51:52.241: ERROR/AndroidRuntime(310):     at android.app.ActivityThread.main(ActivityThread.java:4627)
12-30 12:51:52.241: ERROR/AndroidRuntime(310):     at java.lang.reflect.Method.invokeNative(Native Method)
12-30 12:51:52.241: ERROR/AndroidRuntime(310):     at java.lang.reflect.Method.invoke(Method.java:521)
12-30 12:51:52.241: ERROR/AndroidRuntime(310):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
12-30 12:51:52.241: ERROR/AndroidRuntime(310):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
12-30 12:51:52.241: ERROR/AndroidRuntime(310):     at dalvik.system.NativeStart.main(Native Method)

请建议我解决这个问题。

感谢和问候, 拉胡尔·贾斯瓦尔

【问题讨论】:

    标签: android imageview


    【解决方案1】:

    最简单和最简单的方法是将其显示在 web 视图中或使用 setImageURI 在图像视图中设置

    【讨论】:

    • 你能给我举个例子吗?
    【解决方案2】:
    Bitmap bimage=  getBitmapFromURL(bannerpath);
    image.setImageBitmap(bimage);
    
     public static Bitmap getBitmapFromURL(String src) {
            try {
                Log.e("src",src);
                URL url = new URL(src);
                HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                connection.setDoInput(true);
                connection.connect();
                InputStream input = connection.getInputStream();
                Bitmap myBitmap = BitmapFactory.decodeStream(input);
                Log.e("Bitmap","returned");
                return myBitmap;
            } catch (IOException e) {
                e.printStackTrace();
                Log.e("Exception",e.getMessage());
                return null;
            }
        }
    

    在你的 android-menifest.xml 中添加这一行

    <uses-permission android:name="android.permission.INTERNET" />
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-30
      • 1970-01-01
      • 2013-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-06
      相关资源
      最近更新 更多