【问题标题】:How to get image from java webservice on Android如何从 Android 上的 java webservice 获取图像
【发布时间】:2014-09-12 10:32:57
【问题描述】:

我有一个 Java (JAX-RS) 网络服务,它将图像存储在 mysql blob 中。 使用 GET 请求获取带有图像的 JSON 或 XML。

[{"id":1,"imagen":"iVBORw0KGgoAAAANSUhEUgAAAKAAAABfCAYAAABvC8zhAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAGO5JRE ...etc

我的问题是: 在我的 android 应用程序中获取该 JSON 并将文本存储为变量是一个好主意吗?如何从该文本创建位图?会不会很慢? 谢谢

【问题讨论】:

    标签: java android mysql json web-services


    【解决方案1】:

    您的问题的第一个答案是:绝对是的。与 XML 相比,JSON 是一种更好的数据获取方式。

    其次,从您的 JSON String 来看,图像似乎是 Base64 编码的。所以解析 JSON 并解码 Base64 String 以获取图像 Bitmap 使用 BitmapFactory 像这样:

    byte[] decodedString = Base64.decode(encodedImage, Base64.DEFAULT);
    Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length); 
    

    用于解析 JSON:

    JSONArray jsonArray = new JSONArray(response);
    for(int i=0;i<jsonArray.length;i++){
       JSONObject jsonObj = jsonArray.getJSONObject(i);
       String id = jsonObj.getString("id");
       String encodedString = jsonObj.getString("imagen");
       Log.i("DATA","Id: "+id);
    }
    

    【讨论】:

    • 感谢您的回答,我会试试这个
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-30
    • 2011-12-22
    • 1970-01-01
    • 1970-01-01
    • 2014-03-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多