title: Java lang IllegalStateException
body: <p>I am new in android. I am trying to make simple login activity but I am getting run time error when I click on Login button. I think I am not getting data correctly.I have check and there is a data in SQLite in corresponding to that PK.</p>
  
  <p>logcat.</p>
  
  <pre><code>FATAL EXCEPTION: main
                                                                            Process: com.example.champ.remindme, PID: 4043
  java.lang.IllegalStateException: Could not execute method for android:onClick
      at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:289)
      at android.view.View.performClick(View.java:4780)
      at android.view.View$PerformClick.run(View.java:19866)
      at android.os.Handler.handleCallback(Handler.java:739)
      at android.os.Handler.dispatchMessage(Handler.java:95)
      at android.os.Looper.loop(Looper.java:135)
      at android.app.ActivityThread.main(ActivityThread.java:5254)
      at java.lang.reflect.Method.invoke(Native Method)
      at java.lang.reflect.Method.invoke(Method.java:372)
      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
   Caused by: java.lang.reflect.InvocationTargetException
      at java.lang.reflect.Method.invoke(Native Method)
      at java.lang.reflect.Method.invoke(Method.java:372)
      at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:284)
      at android.view.View.performClick(View.java:4780) 
      at android.view.View$PerformClick.run(View.java:19866) 
      at android.os.Handler.handleCallback(Handler.java:739) 
      at android.os.Handler.dispatchMessage(Handler.java:95) 
      at android.os.Looper.loop(Looper.java:135) 
      at android.app.ActivityThread.main(ActivityThread.java:5254) 
      at java.lang.reflect.Method.invoke(Native Method) 
      at java.lang.reflect.Method.invoke(Method.java:372) 
      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 
   Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.database.Cursor android.database.sqlite.SQLiteDatabase.rawQuery(java.lang.String, java.lang.String[])' on a null object reference
      at com.example.champ.remindme.Login.LogIn(Login.java:45)
      at java.lang.reflect.Method.invoke(Native Method) 
      at java.lang.reflect.Method.invoke(Method.java:372) 
      at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:284) 
      at android.view.View.performClick(View.java:4780) 
      at android.view.View$PerformClick.run(View.java:19866) 
      at android.os.Handler.handleCallback(Handler.java:739) 
      at android.os.Handler.dispatchMessage(Handler.java:95) 
      at android.os.Looper.loop(Looper.java:135) 
      at android.app.ActivityThread.main(ActivityThread.java:5254) 
      at java.lang.reflect.Method.invoke(Native Method) 
      at java.lang.reflect.Method.invoke(Method.java:372) 
      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 
  </code></pre>
  
  <h2>java code.</h2>
  
   <pre class="lang-java prettyprint-override"><code>package com.example.champ.remindme;
  import android.app.AlertDialog;
  import android.content.Intent;
  import android.database.Cursor;
  import android.database.sqlite.SQLiteDatabase;
  import android.os.Bundle;
  import android.support.v7.app.AppCompatActivity;
  import android.view.View;
  import android.widget.Button;
  import android.widget.EditText;
  import android.widget.Toast;
  
  public class Login extends AppCompatActivity {
  EditText edtUsername, edtPass;
  String Username,Password;
  int counter=3;
  Button LoginButton;
  SQLiteDatabase db;
  // TextView txtAttempts;
  //private final int interval = 3000;
  /*private Runnable runnable = new Runnable(){
      public void run() {
          LoginButton.setEnabled(true);
      }
  }; */
  @Override
  protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_login);
      LoginButton= (Button)findViewById(R.id.LoginButton);
      edtUsername=(EditText)findViewById(R.id.edtitem);
     // Username=edtUsername.getText().toString();
      edtPass=(EditText)findViewById(R.id.password);
  }
  
  
  public void LogIn(View v){
      if((edtUsername.getText().toString().trim().length()==0)||(edtPass.getText().toString().trim().length()==0))
      {
          showMessage("Error", "Please enter the empty Text Box");
          return;
      }
  
      Cursor c=db.rawQuery("SELECT * FROM User WHERE Username='"+ edtUsername.getText()+"'", null);
      if(c.moveToFirst())
      {
          Username=c.getString(1);
          Password=c.getString(2);
  
          if (edtUsername.getText().toString().equals(Username) &amp;&amp; edtPass.getText().toString().equals(Password)){
              Toast.makeText(Login.this, "Login Successful", Toast.LENGTH_LONG).show();
              Intent intent = new Intent(this, Menu.class);
              intent.putExtra("Username",Username);
              startActivity(intent);
          }
          else {
              Toast.makeText(Login.this, "Login Failed", Toast.LENGTH_LONG).show();
              counter--;
          }
          // txtAttempts.setText("Attempts Left: " + counter);
  
          if (counter == 0) {
              LoginButton.setEnabled(false);
              //      new Timer().schedule((TimerTask) runnable,interval);
          }
      }
      else
      {
          showMessage("Error", "Invalid Username");
      }
  /*-----------------------------------------------------------------*/
  
  }
  
  public void Signup(View v) {
      Intent intent = new Intent(this, SignUp.class);
      startActivity(intent);
  }
  
  public void showMessage(String title,String message)
  {
      AlertDialog.Builder builder=new AlertDialog.Builder(this);
      builder.setCancelable(true);
      builder.setTitle(title);
      builder.setMessage(message);
      builder.show();
  }
  
  }
  </code></pre>
  
  <h2>XML code.</h2>
  
   <pre class="lang-xml prettyprint-override"><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:paddingBottom="@dimen/activity_vertical_margin"
  android:paddingLeft="@dimen/activity_horizontal_margin"
  android:paddingRight="@dimen/activity_horizontal_margin"
  android:paddingTop="@dimen/activity_vertical_margin"
  tools:context="com.example.champ.remindme.Login"
  android:background="@drawable/back"&gt;
  
  
  &lt;ImageView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/imageView2"
      android:src="@drawable/remind_me_logo"
      android:contentDescription="Logo" /&gt;
  &lt;EditText
      android:id="@+id/edtitem"
      android:layout_width="265dp"
      android:layout_height="wrap_content"
      android:padding="10dip"
      android:background="@drawable/username_rounded_edited_text"
      android:inputType="text"
      android:hint="Username"
      android:textAlignment="center"
      android:layout_marginTop="37dp"
      android:layout_below="@+id/imageView2"
      android:layout_centerHorizontal="true" /&gt;
  &lt;EditText
      android:id="@+id/password"
      android:layout_width="265dp"
      android:layout_height="wrap_content"
      android:padding="10dip"
      android:background="@drawable/pass_rounded_edited_text"
      android:inputType="text"
      android:hint="Password"
      android:textAlignment="center"
  
      android:layout_below="@+id/edtitem"
      android:layout_centerHorizontal="true" /&gt;
  
  &lt;Button
      android:id="@+id/LoginButton"
      android:background="@drawable/blue_botton"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="@string/login"
      style="@style/ButtonText"
      android:onClick="LogIn"
      android:layout_below="@+id/password"
      android:layout_alignLeft="@+id/password"
      android:layout_alignStart="@+id/password"
      android:layout_alignRight="@+id/password"
      android:layout_alignEnd="@+id/password" /&gt;
  &lt;Button
      android:id="@+id/txtSignup"
      android:background="@drawable/blue_botton"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Signup"
      style="@style/ButtonText"
      android:onClick="Signup"
      android:layout_below="@+id/LoginButton"
      android:layout_alignLeft="@+id/LoginButton"
      android:layout_alignStart="@+id/LoginButton" /&gt;
  
  &lt;ImageView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/imageView3"
      android:src="@drawable/fb_loging"
      android:layout_alignBottom="@+id/txtSignup"
      android:layout_toRightOf="@+id/txtSignup"
      android:layout_toEndOf="@+id/txtSignup" /&gt;
  &lt;/RelativeLayout&gt;
  </code></pre>