title: Displaying data in textview through json
body: <p>I want to display user details from mysql database through php and display it in android textview. The scenario is like this: When the user logged in to his account he will be redirected to  the dashboard which contains of 4 buttons namely: newsfeed, profile, calendar and about. When the user clicks the profile button the user details like his lastname, firstname, middleinitial etc will be displayed in the textview. When i run my app, it doesnt display anything but in my php script it returns the user details. What seems to be the problem here? </p>
  
  <p>Here is my java code:</p>
  
  <pre><code>package sscr.stag;
  
  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.app.ProgressDialog;
  import android.content.SharedPreferences;
  import android.os.AsyncTask;
  import android.os.Bundle;
  import android.preference.PreferenceManager;
  import android.util.Log;
  import android.widget.TextView;
  
  public class AdProfile extends Activity {
  // All xml labels
  
  TextView txtFname;
  TextView txtMname;
  TextView txtLname;
  
  // Progress Dialog
  private ProgressDialog pDialog;
  
  // Creating JSON Parser object
  JSONParser jsonParser = new JSONParser();
  
  // Profile json object
  JSONArray user;
  JSONObject hay;
  // Profile JSON url
  private static final String PROFILE_URL     ="http://www.stagconnect.com/StagConnect/admin/TestProfile.php";
  
  // ALL JSON node names
  private static final String TAG_PROFILE = "user";
  // private static final String TAG_ID = "id";
  private static final String TAG_USERNAME = "username";
  private static final String TAG_FIRSTNAME = "first_name";
  private static final String TAG_MIDDLENAME = "middle_initial";
  private static final String TAG_LASTNAME = "last_name";
  
  
  @Override
  public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.adminprofile);
  
  
  txtFname = (TextView) findViewById(R.id.fname);
  txtMname = (TextView) findViewById(R.id.mname);
  txtLname = (TextView) findViewById(R.id.lname);
  
  // Loading Profile in Background Thread
  new LoadProfile().execute();
  }
  
  class LoadProfile extends AsyncTask&lt;String, String, String&gt; {
  
  
  public void test(){
  
   hay = new JSONObject();
  
          // Storing each json item in variable
          try {
              String firstname = hay.getString(TAG_FIRSTNAME);
              String middlename = hay.getString(TAG_MIDDLENAME);
              String lastname = hay.getString(TAG_LASTNAME);
  
              // displaying all data in textview
  
             txtFname.setText("Firstname: " + firstname);
              txtMname.setText("Middle Name: " + middlename);
              txtLname.setText("Last Name " + lastname);
  
          } catch (JSONException e) {
              // TODO Auto-generated catch block
              e.printStackTrace();
          }
  
   }
  
  @Override
  protected void onPreExecute() {
  super.onPreExecute();
  pDialog = new ProgressDialog(AdProfile.this);
  pDialog.setMessage("Loading profile ...");
  pDialog.setIndeterminate(false);
  pDialog.setCancelable(false);
  pDialog.show();
  }
     /**
      * getting Profile JSON
      * */
     protected String doInBackground(String... args) {
      // Building Parameters
  
  SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(AdProfile.this);
  String post_username = sp.getString("username", "anon");
  List&lt;NameValuePair&gt; params = new ArrayList&lt;NameValuePair&gt;();
  params.add(new BasicNameValuePair("username", post_username));
  // getting JSON string from URL
  JSONObject json = jsonParser.makeHttpRequest(PROFILE_URL, "POST",
          params);
  
  // Check your log cat for JSON reponse
  Log.d("Profile JSON: ", json.toString());
  
  try {
      // profile json object
      user = json.getJSONArray(TAG_PROFILE);
  } catch (JSONException e) {
      e.printStackTrace();
  }
  
  return null;
  }
  
  
  protected void onPostExecute(String file_url) {
  // dismiss the dialog after getting all products
  pDialog.dismiss();
  // updating UI from Background Thread
  test();
  
  }
  
  }
  }
  </code></pre>
  
  <p>And here is my php script:</p>
  
  <pre><code>&lt;?php
  
  
  require('admin.config.inc.php');
  
  
  if (!empty($_POST)) {
  
      //initial query
      $query = "Select last_name, first_name, middle_initial, designation FROM admin where username = :user";
  
      $query_params = array(':user' =&gt; $_POST['username']);
  
      //execute query
      try {
          $stmt = $db -&gt; prepare($query);
          $result = $stmt -&gt; execute($query_params);
      } catch (PDOException $ex) {
          $response["success"] = 0;
          $response["message"] = "Database Error!";
          die(json_encode($response));
      }
  
      // Finally, we can retrieve all of the found rows into an array using fetchAll 
      $rows = $stmt -&gt; fetchAll();
  
      if ($rows) {
          $response["success"] = 1;
          $response["message"] = "Post Available!";
          $response["user"] = array();
  
          foreach($rows as $row) {
              $user = array();
              $user["designation"] = $row["designation"];
              $user["middlename"] = $row["middle_initial"];
              $user["firstname"] = $row["first_name"];
              $user["lastname"] = $row["last_name"];
  
              //update our repsonse JSON data
              array_push($response["user"], $user);
          }
  
          // echoing JSON response
          echo json_encode($response);
  
      } else {
          $response["success"] = 0;
          $response["message"] = "No user available!";
          die(json_encode($response));
      }
  
  } else {}
  
  
         ?&gt;
  
   &lt;form action="TestProfile.php" method="POST"&gt;
   Username: &lt;input type="text" name="username"&gt;
   &lt;input type="submit" value="Submit"&gt;
   &lt;/form&gt;
  </code></pre>
  
  <p>Here the output of my php script(JSON Response):</p>
  
  <pre><code>{"success":1,"message":"Post Available!","user":[{"designation":"Student Affairs Office in charge","middlename":"","firstname":"test","lastname":"test"}]}
  </code></pre>