Est-ce que quelqu'un sait pourquoi cela ne fonctionne pas? Cela me donne une erreur très basique dans le logcat, donc je suppose que je n'ai pas besoin d'ajouter ça.Android MediaPlayer mp3 erreur
MainActivity.java:
package com.sydcul.badluckboris;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.ImageButton;
public class MainActivity extends Activity {
ImageButton boris;
MediaPlayer mp = MediaPlayer.create(getApplicationContext(), R.raw.ouch);
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
boris = (ImageButton) findViewById(R.id.ibBoris);
boris.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
mp.start();
}
});
}
}
activity_main.xml:
<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" >
<ImageButton
android:id="@+id/ibBoris"
android:layout_width="250dp"
android:layout_height="300dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:contentDescription="@string/boris"
android:scaleType="fitXY"
android:src="@drawable/badluckboris2" />
</RelativeLayout>
Et le AndroidManifest.xml:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.sydcul.badluckboris"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="15" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
EDIT: LogCat:
10-31 17:15:05.670: E/AndroidRuntime(6500): FATAL EXCEPTION: main
10-31 17:15:05.670: E/AndroidRuntime(6500): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.sydcul.badluckboris/com.sydcul.badluckboris.MainActivity}: java.lang.NullPointerException
10-31 17:15:05.670: E/AndroidRuntime(6500): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1573)
10-31 17:15:05.670: E/AndroidRuntime(6500): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
10-31 17:15:05.670: E/AndroidRuntime(6500): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
10-31 17:15:05.670: E/AndroidRuntime(6500): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
10-31 17:15:05.670: E/AndroidRuntime(6500): at android.os.Handler.dispatchMessage(Handler.java:99)
10-31 17:15:05.670: E/AndroidRuntime(6500): at android.os.Looper.loop(Looper.java:130)
10-31 17:15:05.670: E/AndroidRuntime(6500): at android.app.ActivityThread.main(ActivityThread.java:3691)
10-31 17:15:05.670: E/AndroidRuntime(6500): at java.lang.reflect.Method.invokeNative(Native Method)
10-31 17:15:05.670: E/AndroidRuntime(6500): at java.lang.reflect.Method.invoke(Method.java:507)
10-31 17:15:05.670: E/AndroidRuntime(6500): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912)
10-31 17:15:05.670: E/AndroidRuntime(6500): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:670)
10-31 17:15:05.670: E/AndroidRuntime(6500): at dalvik.system.NativeStart.main(Native Method)
10-31 17:15:05.670: E/AndroidRuntime(6500): Caused by: java.lang.NullPointerException
10-31 17:15:05.670: E/AndroidRuntime(6500): at android.content.ContextWrapper.getApplicationContext(ContextWrapper.java:100)
10-31 17:15:05.670: E/AndroidRuntime(6500): at com.sydcul.badluckboris.MainActivity.<init>(MainActivity.java:12)
10-31 17:15:05.670: E/AndroidRuntime(6500): at java.lang.Class.newInstanceImpl(Native Method)
10-31 17:15:05.670: E/AndroidRuntime(6500): at java.lang.Class.newInstance(Class.java:1409)
10-31 17:15:05.670: E/AndroidRuntime(6500): at android.app.Instrumentation.newActivity(Instrumentation.java:1024)
10-31 17:15:05.670: E/AndroidRuntime(6500): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1565)
10-31 17:15:05.670: E/AndroidRuntime(6500): ... 11 more
10-31 17:15:05.680: E/(1749): Dumpstate > /data/log/dumpstate_app_error
10-31 17:15:05.680: W/ActivityManager(1749): Force finishing activity com.sydcul.badluckboris/.MainActivity
Merci d'avance. Il est intéressant de noter que je suis un Noob avec Android. A fait à peu près VB.NET tho.
Je vais ajouter l'erreur. – Sydcul
Je suis d'accord, vous ne devriez pas essayer d'accéder au contexte de l'application au moment de la construction de la classe, mais plutôt à l'intérieur de 'onCreate'. – Tim
Ok. Je vais essayer ça. – Sydcul