1

我一直在尝试几种显示 JSON 图像的方法,但我的解决方案从未成功。

我已经解析了我的 JSON 并得到了响应。

然而,包括响应是我需要在我的应用程序中显示的图像。

将图像接收为:“img src=question/images/u2_1_l2_q66”,这只是字符串。我得到的文本与模拟器"not a image"中的文本相同。

在drawable中,我应该添加图像吗?

如何在我的应用程序中显示这些图像?请指导我。

任何帮助都是不言而喻的。

代码

       protected String doInBackground(String... args) {
        List<NameValuePair> params = new ArrayList<NameValuePair>();
        params.add(new BasicNameValuePair("tid", tid));
        json = jsonParser.makeHttpRequest(url_get_quesurl, "GET", params);
        Log.d("All Groups: ", json.toString());
        try {
        int success = json.getInt(TAG_SUCCESS);
        if (success == 1) {
            System.out.println("Success");
            groups = json.getJSONArray(TAG_GROUP);
            System.out.println("Result Success+++"+groups);
             for (int i = 0; i < groups.length();i++) {
            JSONObject c = groups.getJSONObject(i);
            String question = c.getString(TAG_QUES);
            System.out.println("Checking ::"+question);
            ques1.add(question);
            String img = c.getString(TAG_IMAGE);
            System.out.println("Checking ::"+img);
            imgarr.add(img);
             }
        } else {
            showAlert();
        }
    } catch (JSONException e) {
        System.out.println("Error "+e.toString());
    }
    return null;
}
protected void onPostExecute(String file_url) {
        pDialog.dismiss();
        ques1=new ArrayList<String>(new ArrayList<String>(ques1));
        imgarr=new ArrayList<String>(new ArrayList<String>(imgarr));
        TextView txtque = (TextView) findViewById(R.id.que_txt); 
        txtque.setText("Q" + num + ")" + ques1.get(j) + imgarr.get(g));
           }

php代码

      $group[$i]['image']= base64_encode(file_get_contents("http://10.0.2.2/question/images/".$row['image']));                                                                                                     
        $i++;
      array_push($response["group"], $group);
4

2 回答 2

1
<?php

mysql_connect("localhost","root","sarwar");
mysql_select_db("ess");
$sql=mysql_query("select image from default_products ");

$i=0;

while($row=mysql_fetch_assoc($sql))
{   




//Where Image Exists.
//First taking path from database and then image from folder against that path and then //converting it ino base64 and then Json
   $output[$i]['image']= base64_encode(file_get_contents("http://ur ip address/ess/uploads/default/products/".$row['image']));



  $i++;
}


print(json_encode($output));




mysql_close();
?>
于 2013-02-19T12:13:08.140 回答
1
String image;
protected Void doInBackground(String... arg0) {



                try{
                        HttpClient httpclient = new DefaultHttpClient();
                        HttpPost httppost = new HttpPost("//Ur URL");

                        HttpResponse response = httpclient.execute(httppost);
                        HttpEntity entity = response.getEntity();
                         is = entity.getContent();
                }catch(Exception e){
                        Log.e("log_tag", "Error in http connection "+e.toString());
                }

                try{
                        BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
                        StringBuilder sb = new StringBuilder();
                        String line = null;
                        while ((line = reader.readLine()) != null) {
                                sb.append(line + "\n");
                        }
                        is.close();

                        result=sb.toString();
                }catch(Exception e){
                        Log.e("log_tag", "Error converting result "+e.toString());
                }
                return null;
                // TODO Auto-generated method stub

            }
            protected void onPostExecute(Void v) {
                  try{


                        JSONArray jArray = new JSONArray(result);
                      for(int i=0;i<=jArray.length();i++)
                      {
                                JSONObject json_data = jArray.getJSONObject(i);


                            String  image=json_data.getString("image");








                      }

             byte[] rawImage = Base64.decode(image, Base64.DEFAULT);
                                                  Bitmap bmp = BitmapFactory.decodeByteArray(rawImage, 0, rawImage.length); 



                                                  imageview.setImageBitmap(bmp);


                }

                catch(JSONException e){
                        Log.e("log_tag", "Error parsing data "+e.toString());
                }

            }
于 2013-02-19T13:01:03.347 回答