title: MySQL db connection
body: <p>I have been searching the web for a connection between my Android simulator and a MySQL db.<br>
  I've found that you can't connect directly but can via a web server. The web server will handle my request from my Android.</p>
  
  <p>I found the following code on <a href="http://www.helloandroid.com" rel="nofollow">Hello Android</a>, but I don't understand. If I run this code on the simulator, nothing happens; the screen stays black.
  Where does <code>Log.i</code> land, in the Android screen, the error log, or somewhere else?<br>
  Can somebody help me with this code?</p>
  
  <pre><code>package app.android.ticket;
  
  import java.io.BufferedReader;
  import java.io.InputStream;
  import java.io.InputStreamReader;
  import java.util.ArrayList;
  
  import org.apache.http.HttpEntity;
  import org.apache.http.HttpResponse;
  import org.apache.http.NameValuePair;
  import org.apache.http.client.HttpClient;
  import org.apache.http.client.entity.UrlEncodedFormEntity;
  import org.apache.http.client.methods.HttpPost;
  import org.apache.http.impl.client.DefaultHttpClient;
  import org.apache.http.message.BasicNameValuePair;
  import org.json.JSONArray;
  import org.json.JSONException;
  import org.json.JSONObject;
  
  import android.app.Activity;
  import android.os.Bundle;
  import android.util.Log;
  
  
  public class fetchData extends Activity {
  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);
    //call the method to run the data retreival
      getServerData();
  
  
  }
  public static final String KEY_121 = "http://www.jorisdek.nl/android/getAllPeopleBornAfter.php";
  
  public fetchData() {
      Log.e("fetchData", "Initialized ServerLink ");
  }
  
  private void getServerData() {
      InputStream is = null;
      String result = "";
  
      //the year data to send
      ArrayList&lt;NameValuePair&gt; nameValuePairs = new ArrayList&lt;NameValuePair&gt;();
      nameValuePairs.add(new BasicNameValuePair("year","1980"));
  
      //http post
      try{
              HttpClient httpclient = new DefaultHttpClient();
              HttpPost httppost = new HttpPost(KEY_121);
              httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
              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());
      }
  
      //convert response to string
      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());
      }
      //parse json data
      try{
              JSONArray jArray = new JSONArray(result);
              for(int i=0;i&lt;jArray.length();i++){
                      JSONObject json_data = jArray.getJSONObject(i);
                      Log.i("log_tag","id: "+json_data.getInt("id")+
                              ", name: "+json_data.getString("name")+
                              ", sex: "+json_data.getInt("sex")+
                              ", birthyear: "+json_data.getInt("birthyear")
                      );
              }
      }catch(JSONException e){
              Log.e("log_tag", "Error parsing data "+e.toString());
      }
  
      }
  }    
  </code></pre>