title: getting exception while using media player
body: <p>I am using media player to play a mp3 file.But when i run it,i am getting the null pointer exception.Please tell me what is the problem.</p>
  
  <p>This is the code:</p>
  
  <pre><code>package com.example.soundplayer;
  
  import android.app.Activity;
  import android.media.MediaPlayer;
  import android.os.Bundle;
  import android.view.View;
  import android.widget.Button;
  
  public class MainActivity extends Activity {
  
      /**
       * Variables
       */
      MediaPlayer mp = null;
      String hello = "Hello!";
  
      @Override
      public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_main);
  
          /**
           * Talking with the buttonHello
           */
          final Button buttonHello = (Button) findViewById(R.id.idHello);
          buttonHello.setOnClickListener(new View.OnClickListener() {
              @Override
              public void onClick(View v) {
                  managerOfSound(hello);
              } // END onClick()
          }); // END buttonHello
      } // END onCreate()
  
      /**
       * Manager of Sounds
       */
      protected void managerOfSound(String theText) {
          if (mp != null) {
              mp.reset();
              mp.release();
          }
          if (theText == hello){
              mp = new MediaPlayer();
              mp = MediaPlayer.create(MainActivity.this, R.raw.sound);
              mp.start();}
      }
  }
  </code></pre>
  
  <p>This is the exception:</p>
  
  <pre><code>08-22 13:13:01.001: W/dalvikvm(785): threadid=3: thread exiting with uncaught exception (group=0x4001b188)
  08-22 13:13:01.001: E/AndroidRuntime(785): Uncaught handler: thread main exiting due to uncaught exception
  08-22 13:13:01.020: E/AndroidRuntime(785): java.lang.NullPointerException
  08-22 13:13:01.020: E/AndroidRuntime(785):  at com.example.soundplayer.MainActivity.managerOfSound(MainActivity.java:57)
  08-22 13:13:01.020: E/AndroidRuntime(785):  at com.example.soundplayer.MainActivity$1.onClick(MainActivity.java:30)
  08-22 13:13:01.020: E/AndroidRuntime(785):  at android.view.View.performClick(View.java:2364)
  08-22 13:13:01.020: E/AndroidRuntime(785):  at android.view.View.onTouchEvent(View.java:4179)
  08-22 13:13:01.020: E/AndroidRuntime(785):  at android.widget.TextView.onTouchEvent(TextView.java:6541)
  08-22 13:13:01.020: E/AndroidRuntime(785):  at android.view.View.dispatchTouchEvent(View.java:3709)
  08-22 13:13:01.020: E/AndroidRuntime(785):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
  08-22 13:13:01.020: E/AndroidRuntime(785):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
  08-22 13:13:01.020: E/AndroidRuntime(785):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
  08-22 13:13:01.020: E/AndroidRuntime(785):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
  08-22 13:13:01.020: E/AndroidRuntime(785):  at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1659)
  08-22 13:13:01.020: E/AndroidRuntime(785):  at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1107)
  08-22 13:13:01.020: E/AndroidRuntime(785):  at android.app.Activity.dispatchTouchEvent(Activity.java:2061)
  08-22 13:13:01.020: E/AndroidRuntime(785):  at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1643)
  08-22 13:13:01.020: E/AndroidRuntime(785):  at android.view.ViewRoot.handleMessage(ViewRoot.java:1691)
  08-22 13:13:01.020: E/AndroidRuntime(785):  at android.os.Handler.dispatchMessage(Handler.java:99)
  08-22 13:13:01.020: E/AndroidRuntime(785):  at android.os.Looper.loop(Looper.java:123)
  08-22 13:13:01.020: E/AndroidRuntime(785):  at android.app.ActivityThread.main(ActivityThread.java:4363)
  08-22 13:13:01.020: E/AndroidRuntime(785):  at java.lang.reflect.Method.invokeNative(Native Method)
  08-22 13:13:01.020: E/AndroidRuntime(785):  at java.lang.reflect.Method.invoke(Method.java:521)
  08-22 13:13:01.020: E/AndroidRuntime(785):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
  08-22 13:13:01.020: E/AndroidRuntime(785):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
  08-22 13:13:01.020: E/AndroidRuntime(785):  at dalvik.system.NativeStart.main(Native Method)
  </code></pre>
  
  <p>I am getting exception in this line:</p>
  
  <pre><code> mp.start();
  </code></pre>
  
  <p>Thanks in advance.</p>