使用Json将图像从PHP MySQL显示到Android中的imageview

时间:2014-05-05 17:22:42

标签: java php android mysql json

我试图通过php mysql在android中将图像显示到imageview中。我使用JSON来解析图像..

 nom | couleur | image  
 -------------------------------------------------------------------  
 passat | gris |http://10.0.2.2/model/image/passat.jpg  

我的PHP代码:

$result = mysql_query("SELECT * FROM info WHERE nom = '$nom'");  

if (!empty($result)) {  
    // check for empty result  
    if (mysql_num_rows($result) > 0) {  

        $result = mysql_fetch_array($result);  

        $info = array();  

        $info["nom"] = $result["nom"];  
        $info["couleur"] = $result["couleur"];  
        $info["prix"] = $result["prix"];  
        $info["image"] = base64_encode($result["image"]);  
        // success  
        $response["success"] = 1;  

        // user node  
        $response["info"] = array();  

        array_push($response["info"], $info);  

        // echoing JSON response  
        echo json_encode($response); 

    }
}

这是我的Info.java代码:

package com.example.gridview2;  

import java.util.ArrayList;  
import java.util.List;  

import org.apache.http.NameValuePair;  
import org.apache.http.message.BasicNameValuePair;  
import org.json.JSONArray;  
import org.json.JSONException;  
import org.json.JSONObject;  

import android.app.Activity;  
import android.content.Intent;  
import android.graphics.Bitmap;  
import android.graphics.BitmapFactory;  
import android.os.Bundle;  
import android.util.Base64;  
import android.util.Log;  
import android.widget.ImageView;  
import android.widget.TextView;  

public class Info extends Activity {

    TextView txt1,txt2,txt3;  
    ImageView image;  
    JSONParser jParser = new JSONParser();  
    private static final String url_product_detials = "http://10.0.2.2/model/detail.php";  
    private static final String TAG_SUCCESS = "success";  
    private static final String TAG_PRODUCT = "info";  
    private static final String TAG_NAME = "nom";  
    private static final String TAG_COLOR = "couleur";  
    private static final String TAG_PRICE = "prix";  
    private static final String TAG_IMAGE = "image";  

    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.main7);  

        process();  
    }
    private void process() {  
        Intent intent = getIntent();  
        String nom = intent.getStringExtra(TAG_NAME);  
        List<NameValuePair> params = new ArrayList<NameValuePair>();  
        params.add(new BasicNameValuePair(TAG_NAME, nom));  
        JSONObject json = jParser.makeHttpRequest(url_product_detials, "GET",
                params);  
        Log.d("Single employee Details", json.toString());  
        try {  

            int success = json.getInt(TAG_SUCCESS);  

            if (success == 1) {  
                JSONArray productObj = json.getJSONArray(TAG_PRODUCT); // JSON Array  

                // get first product object from JSON Array  
                JSONObject product = productObj.getJSONObject(0);  

                txt1 = (TextView) findViewById(R.id.textView1);  
                txt2 = (TextView) findViewById(R.id.textView2);  
                txt3 = (TextView) findViewById(R.id.textView3);  
                image = (ImageView) findViewById(R.id.imageView1);  

                String NOM =product.getString(TAG_NAME);  
                String couleur = product.getString(TAG_COLOR);  
                String prix =   product.getString(TAG_PRICE);  
                String image1 =   product.getString(TAG_IMAGE);  
                txt1.setText(NOM);  
                txt2.setText(couleur);  
                txt3.setText(prix);  
                byte[] encodeByte = Base64.decode(image1, Base64.DEFAULT);  
                Bitmap bitmap = BitmapFactory.decodeByteArray(encodeByte, 0, encodeByte.length);       

                image.setImageBitmap(bitmap);  

            } else{  
                // product with pid not found
            }  
        } catch (JSONException e) {  
            e.printStackTrace();  
        }  
    }  
}

我的json回复:

{
  "success": 1,
  "info": [
    {
      "nom": "passat",
      "couleur": "gris",
      "prix": "1000",
      "image": "aHR0cDovLzEwLjAuMi4yL21vZGVsL2ltYWdlL3Bhc3NhdC5qcGc="
    }
  ]
}

图片没有显示,我不知道问题出在哪里 任何人都可以帮助我

0 个答案:

没有答案