title: Null pointer exception when connecting to a database
body: <p>Hi i am new to android and i am developing an app in which i am checking for login credentials by connecting to mysql database.</p>
  
  <p>This is the error i am encountering which shows up in the emulator.</p>
  
  <p>java.lang.NullPointerException</p>
  
  <p>This is my code.</p>
  
  <p>LoginActivity.java</p>
  
  <pre><code>import android.app.Activity;
  import java.util.ArrayList;
  import org.apache.http.NameValuePair;
  import org.apache.http.message.BasicNameValuePair;
  import android.os.Bundle;
  import android.os.StrictMode;
  import android.view.View;
  import android.widget.Button;
  import android.widget.EditText;
  import android.widget.TextView;
  
  public class LoginActivity extends Activity {
      EditText un,pw;
      TextView error;
      Button ok;
      /** Called when the activity is first created. */
      @Override
      public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);
      un=(EditText)findViewById(R.id.email_address);
      pw=(EditText)findViewById(R.id.password);
      ok=(Button)findViewById(R.id.login_button);
      error=(TextView)findViewById(R.id.tv_error);
      if (android.os.Build.VERSION.SDK_INT &gt; 9) {
          StrictMode.ThreadPolicy policy = 
              new StrictMode.ThreadPolicy.Builder().permitAll().build();
          StrictMode.setThreadPolicy(policy);
      }
      ok.setOnClickListener(new View.OnClickListener() {
  
      @Override
  
      public void onClick(View v) {
      // TODO Auto-generated method stub
      ArrayList&lt;NameValuePair&gt; postParameters = new ArrayList&lt;NameValuePair&gt;();
      postParameters.add(new BasicNameValuePair("username", un.getText().toString()));
      postParameters.add(new BasicNameValuePair("password", pw.getText().toString()));
  
      //String valid = "1";
      String response = null;
      try {
      response = CustomHttpClient.executeHttpPost("http://engiguide.com/check.php", postParameters);  //Enetr Your remote PHP,ASP, Servlet file link
      String res=response.toString();
      // res = res.trim();
      res= res.replaceAll("\\s+","");
      //error.setText(res);
      if(res.equals("1"))
      error.setText("Correct Username or Password");
      else
      error.setText("Sorry!! Incorrect Username or Password");
  
      } catch (Exception e) {
  
      un.setText(e.toString());
      }}
      });
  }
  } 
  </code></pre>
  
  <p>CustomHttpClient.java</p>
  
  <pre><code>import java.io.BufferedReader;
  import java.io.IOException;
  import java.io.InputStreamReader;
  import java.net.URI;
  import java.util.ArrayList;
  import org.apache.http.HttpResponse;
  import org.apache.http.client.HttpClient;
  import org.apache.http.client.entity.UrlEncodedFormEntity;
  import org.apache.http.client.methods.HttpGet;
  import org.apache.http.client.methods.HttpPost;
  import org.apache.http.conn.params.ConnManagerParams;
  import org.apache.http.impl.client.DefaultHttpClient;
  import org.apache.http.params.HttpConnectionParams;
  import org.apache.http.params.HttpParams;
  
  public class CustomHttpClient {
  /** The time it takes for our client to timeout */
  public static final int HTTP_TIMEOUT = 30 * 1000; // milliseconds
  /** Single instance of our HttpClient */
  private static HttpClient mHttpClient;
  /**
  * Get our single instance of our HttpClient object.
  *
  * @return an HttpClient object with connection parameters set
  */
  private static HttpClient getHttpClient() {
  if (mHttpClient == null) {
  mHttpClient = new DefaultHttpClient();
  final HttpParams params = mHttpClient.getParams();
  HttpConnectionParams.setConnectionTimeout(params, HTTP_TIMEOUT);
  HttpConnectionParams.setSoTimeout(params, HTTP_TIMEOUT);
  ConnManagerParams.setTimeout(params, HTTP_TIMEOUT);
  }
  return mHttpClient;
  }
  /**
  * Performs an HTTP Post request to the specified url with the
  * specified parameters.
  *
  * @param url The web address to post the request to
  * @param postParameters The parameters to send via the request
  * @return The result of the request
  * @throws Exception
  */
  public static String executeHttpPost(String url, ArrayList postParameters) throws Exception {
  BufferedReader in = null;
  try {
  HttpClient client = getHttpClient();
  HttpPost request = new HttpPost(url);
  UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(postParameters);
  request.setEntity(formEntity);
  HttpResponse response = client.execute(request);
  in = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
  StringBuffer sb = new StringBuffer("");
  String line = "";
  String NL = System.getProperty("line.separator");
  while ((line = in.readLine()) != null) {
  sb.append(line + NL);
  }
  in.close();
  String result = sb.toString();
  return result;
  } finally {
  if (in != null) {
  try {
  in.close();
  } catch (IOException e) {
  e.printStackTrace();
  }}}}
  public static String executeHttpGet(String url) throws Exception {
  BufferedReader in = null;
  try {
  HttpClient client = getHttpClient();
  HttpGet request = new HttpGet();
  request.setURI(new URI(url));
  HttpResponse response = client.execute(request);
  in = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
  StringBuffer sb = new StringBuffer("");
  String line = "";
  String NL = System.getProperty("line.separator");
  while ((line = in.readLine()) != null) {
  sb.append(line + NL);
  }
  in.close();
  String result = sb.toString();
  return result;
  } finally {
  if (in != null) {
  try {
  in.close();
  } catch (IOException e) {
  e.printStackTrace();
  }}}}}
  </code></pre>
  
  <p>This is the php code used to connect to the mysql database.</p>
  
  <pre class="lang-php prettyprint-override"><code>&lt;?php
  $un=$_POST['username'];
  $pw=$_POST['password'];
  //connect to the db
  $user = ‘username’;
  $pswd = ‘password’;
  $db = ‘loginactivity’;
  $conn = mysql_connect(‘localhost’, $user, $pswd);
  mysql_select_db($db, $conn);
  //run the query to search for the username and password the match
  $query = “SELECT * FROM userpass WHERE username = ‘$user’ AND password = ‘$pswd’”;
  $result = mysql_query($query) or die(“Unable to verify user because : ” . mysql_error());
  //this is where the actual verification happens
  if(mysql_num_rows($result) &gt; 0)
      echo 1;  // for correct login response
  else
      echo 0; // for incorrect login response
  ?&gt;
  </code></pre>