我有一个php页面,它以json格式从php页面返回图像

 $result = mysql_query("SELECT image FROM image_table WHERE email_id = '$email'");

if (!empty($result)) {
    if (mysql_num_rows($result) > 0) {

        $result = mysql_fetch_array($result);

        $user = array();
        $user["image"] = base64_encode($result["image"]);
        $response["success"] = 1;
       $response["image_table"] = array();

        array_push($response["image_table"], $user);
      echo json_encode($response);
    } else {
        $response["success"] = 0;
        $response["message"] = "No Image  found";
        echo json_encode($response);
    }

这给我的东西像

  {"success":1,"image_table":[{"image":"iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAIAAAD\/gAIDAAAAA3NCSVQFBgUzC42AAAAgAElEQVR4nDS70Y8c2XXm+WXUiewTyYhi3GIGO4Nkkgx2J1tZraLMsptyU6sWRMGtdQte2dLsGB4NsLPQww4wuy8LP

当我在班级使用imageview时,显示我的图像....并且asynctask活动继续运行...

 class LoadImage extends AsyncTask<String, String, String> {
    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        pDialog = new ProgressDialog(MainActivityMap.this);
        pDialog.setMessage("Loading Image. Please wait...");
        pDialog.setIndeterminate(false);
        pDialog.setCancelable(false);
        pDialog.show();
    }
    protected String doInBackground(String... args) {
            List<NameValuePair> params = new ArrayList<NameValuePair>();
            params.add(new BasicNameValuePair("username", email));
            json= jsonParser.makeHttpRequest(url_img_address, "GET", params);

            Log.d("Image: ", json.toString());

            try {
                int success = json.getInt(TAG_SUCCESS);

                if (success == 1) {
                    address = json.getJSONArray(TAG_IMAGE_TABLE);
                    for (int i = 0; i < address.length(); i++) {
                        JSONObject c = address.getJSONObject(i);
                         image = c.getString(TAG_IMAGE);
                         InputStream stream = new ByteArrayInputStream(Base64.decode(image.getBytes(), Base64.DEFAULT));
                         bmp=BitmapFactory.decodeStream(stream); 


                    } 
                } else {

                }
            } catch (JSONException e) {
                e.printStackTrace();
            }

        return null;
    }

protected void onPostExecute(String file_url) {
        pDialog.dismiss();
        ivProperty.setImageBitmap(bmp);


    }

}

当我在我的asuncktask中使用它时....我又有一个logcat结果..ie

03-31 18:16:03.358: D/skia(2622): --- decoder->decode returned false

问题是什么以及如何解决......提前

#1楼 票数:0 已采纳

尝试这个,

String strPicture;
for (int i = 0; i < address.length(); i++) {
 JSONObject c = address.getJSONObject(i);
 strPicture= c.getString(TAG_IMAGE);
 byte bytePic[] = null;
        try {
            bytePic = Base64.decode(strPicture, Base64.DEFAULT);
        } catch (Exception e) {
            e.printStackTrace();
        }

        if (bytePic != null) {
            ByteArrayInputStream imageStream = new ByteArrayInputStream(
                    bytePic);
            Bitmap theImage = BitmapFactory.decodeStream(imageStream);
            imageStream.reset();
            imageView.setImageBitmap(theImage); //Setting image to the image view
        }
}

  ask by Tufan translate from so

未解决问题?本站智能推荐:

2回复

用于图像提取的AsyncTask不断被调用

我有一个小应用程序,可以保存学生名单。 当添加新的学生记录时,从我自己的10个地址池中选择一个随机图像url(字符串),并使用AsyncTask在图像视图中获取并设置该AsyncTask 。 我将自定义CursorAdapter用于列表,并使用自定义SQLiteOpenHelper
2回复

从缓存中存储和加载图像,图像将存储但不会加载

我具有从服务器下载一个图像或一组图像并显示它们的功能。 这部分工作正常,但我想将它们存储在缓存中以使用该应用程序保存用户数据。 我已按照此步骤将缓存过程合并到我现有的函数中。 这是我的imageload类: 在我的日志中,它表示图像正在存储在缓存中,但是当我检入设备设置时,
3回复

ImageView什么也没显示

我有一个Bitmap (1538 x 2000)并将其设置为ImageView src ,但是当我运行该应用程序时,什么都没有显示(但活动背景色),我读到了有关位图尺寸限制的信息,但是如果问题是为什么我可以在同一设备上的图库中查看此位图? 任何帮助将不胜感激
1回复

刷新ImageView中的图像缓存

我有一个getDrawingCache() ,我可以使用getDrawingCache()图像的可见部分。 它运作良好。 但是,当我在getDrawingCache()更改图像并尝试从中获取位图时, getDrawingCache()返回第一个图像的位图。 我试图调用此方法buildDra
2回复

无法从内部存储器将图像加载到ImageView中

我正在尝试从内部存储器添加图像。 我正在尝试使用此代码 这是img_db是我从Sqlite table获取的路径。当我记录它时,我得到了这样的提示 E / img_db:file:///storage/sdcard0/download/img11024FILE.jpg--
2回复

如何指定必须缩小显示此ImageView?

我绝对不是Android开发的新手,我在第一个应用程序上遇到以下问题。 我的问题与将图像占用的空间更改为布局有关。 因此,我遇到这样的情况:我没有将图像直接放入XML布局文件中,而是以编程方式在我的活动代码中调用了此方法: 所以ImgUtility.createRanking
2回复

如何将imageView中的背景图像存储在位图中?

我正在尝试将imageView中的图像存储在位图中,以便可以将其存储在android设备的库中。 每次保存图像时,都不存储imageView的背景。 我想念什么? 这是我的代码: 将图像存储到图库的代码是:
1回复

android如何将pdf转换为图像并加载到imageview中

我正在开发一个Android应用程序从j son获取PDF并将PDF文件转换为图像并在图像视图上显示转换后的图像。 (不是Web视图或PDF查看器) 我需要将PDF转换为图像并将图像加载到imageview上。 那可能吗?? 我怎样才能完成这项任务。 我跟着这个和这个 。 感