Make it Simple
Make it Simple

Reputation: 1882

How to display the images from MySQL database in Android using JSON object

I've been trying several ways of displaying my JSON images but my solutions never succeeded.

I've parsed my JSON and I'm getting the response.

However included the response is an image which I need to display in my application.

Recieving the image as :"img src=question/images/u2_1_l2_q66" which is just string. I'm getting the same text as in emulator "not a image".

In drawable, should I add the image ?

How can I display these image in my application ? Please guide me.

Any help would be appreciable.

code

       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 code

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

Upvotes: 1

Views: 11342

Answers (2)

Sammar javed
Sammar javed

Reputation: 153

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());
                }

            }

Upvotes: 1

Sammar javed
Sammar javed

Reputation: 153

<?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();
?>

Upvotes: 1

Related Questions