title: How to solve NullPointerException error in Android?
body: <p>The below code runs smoothly in the emulator from Eclipse, but there are problems when I run it on my Android phone and tablet.</p>
  
  <pre><code>public class RingerActivity extends Activity{
  /** Called when the activity is first created. */
  Button press;
  boolean tone = true;
  MediaPlayer mp;
  
  @Override
  public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);
  
      mp = new MediaPlayer();
      mp = MediaPlayer.create(RingerActivity.this, R.raw.alarm);
      //Error occurs at here
      mp.start();
  
      Handler h = new Handler();
      Runnable stopPlaybackRun = new Runnable() {
          public void run(){
              mp.stop();
              mp.release();
          }    
      };
      h.postDelayed(stopPlaybackRun, 20 * 1000);
  
      AudioManager manager = (AudioManager)getSystemService(AUDIO_SERVICE);
      if(manager!=null){
          manager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
          int maxVolume = manager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
          manager.setStreamVolume(AudioManager.STREAM_MUSIC, maxVolume, 0);
      }
  }
  
  @Override
  public boolean onKeyDown(int keyCode, KeyEvent event){
  
      if (keyCode == KeyEvent.KEYCODE_VOLUME_UP){
          Toast.makeText(this, "Volume Up", Toast.LENGTH_LONG).show();
          return true;
      }
  
      if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN){
          Toast.makeText(this, "Volume Down", Toast.LENGTH_LONG).show();
          return true;
      }
  
      return super.onKeyDown(keyCode, event);
  }
  </code></pre>
  
  <p>I get a "NullPointException" in line "mp.start()". I have been working on this problem for a while, but I really do not know what is happening, I tried this on both my Android smartphone and tablet (Gingerbread and ICS), but the app force closes. I need help from you guys... thanks...</p>
  
  <p>Logcat</p>
  
  <pre><code>11-09 15:41:09.909: E/AndroidRuntime(11975): FATAL EXCEPTION: main
  11-09 15:41:09.909: E/AndroidRuntime(11975): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.testing.ringer/com.testing.ringer.RingerActivity}: java.lang.NullPointerException
  11-09 15:41:09.909: E/AndroidRuntime(11975):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1872)
  11-09 15:41:09.909: E/AndroidRuntime(11975):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1893)
  11-09 15:41:09.909: E/AndroidRuntime(11975):    at android.app.ActivityThread.access$1500(ActivityThread.java:135)
  11-09 15:41:09.909: E/AndroidRuntime(11975):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1054)
  11-09 15:41:09.909: E/AndroidRuntime(11975):    at android.os.Handler.dispatchMessage(Handler.java:99)
  11-09 15:41:09.909: E/AndroidRuntime(11975):    at android.os.Looper.loop(Looper.java:150)
  11-09 15:41:09.909: E/AndroidRuntime(11975):    at android.app.ActivityThread.main(ActivityThread.java:4385)
  11-09 15:41:09.909: E/AndroidRuntime(11975):    at java.lang.reflect.Method.invokeNative(Native Method)
  11-09 15:41:09.909: E/AndroidRuntime(11975):    at java.lang.reflect.Method.invoke(Method.java:507)
  11-09 15:41:09.909: E/AndroidRuntime(11975):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849)
  11-09 15:41:09.909: E/AndroidRuntime(11975):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:607)
  11-09 15:41:09.909: E/AndroidRuntime(11975):    at dalvik.system.NativeStart.main(Native Method)
  11-09 15:41:09.909: E/AndroidRuntime(11975): Caused by: java.lang.NullPointerException
  11-09 15:41:09.909: E/AndroidRuntime(11975):    at com.testing.ringer.RingerActivity.onCreate(RingerActivity.java:23)
  11-09 15:41:09.909: E/AndroidRuntime(11975):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1072)
  11-09 15:41:09.909: E/AndroidRuntime(11975):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1836)
  11-09 15:41:09.909: E/AndroidRuntime(11975):    ... 11 more
  </code></pre>
  
  <p>Ringer Manifest</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.testing.ringer"
      android:versionCode="1"
      android:versionName="1.0" &gt;
  
      &lt;uses-sdk android:minSdkVersion="10" /&gt;
  
      &lt;uses-permission android:name="android.permission.RECORD_AUDIO"/&gt;
  
      &lt;application
          android:icon="@drawable/ic_launcher"
          android:label="@string/app_name" &gt;
          &lt;activity
              android:name=".RingerActivity"
              android:label="@string/app_name" &gt;
              &lt;intent-filter&gt;
                  &lt;action android:name="android.intent.action.MAIN" /&gt;
  
                  &lt;category android:name="android.intent.category.LAUNCHER" /&gt;
              &lt;/intent-filter&gt;
          &lt;/activity&gt;
      &lt;/application&gt;
  
  &lt;/manifest&gt;
  </code></pre>