Android 处理MediaFile应用程序中的异常
我正在开发一个媒体文件应用程序,用于播放存储在 我的原始文件夹。总共大约有32种声音。这就是我想要的 单击每个按钮后执行以下操作:Android 处理MediaFile应用程序中的异常,android,nullpointerexception,Android,Nullpointerexception,我正在开发一个媒体文件应用程序,用于播放存储在 我的原始文件夹。总共大约有32种声音。这就是我想要的 单击每个按钮后执行以下操作: Button btnGrowUp = (Button) this.findViewById(R.id.GrowUp); btnGrowUp.setOnClickListener(btnGrowUpListener); private OnClickListener btnGrowUpListener = new OnClickListener() { pu
Button btnGrowUp = (Button) this.findViewById(R.id.GrowUp);
btnGrowUp.setOnClickListener(btnGrowUpListener);
private OnClickListener btnGrowUpListener = new OnClickListener()
{
public void onClick(View v)
{
//Toast.makeText(getBaseContext(), "Grow Up audio file is being played", Toast.LENGTH_SHORT).show();
MediaPlayer mp = MediaPlayer.create(MainScreen.this, R.raw.growup);
mp.start();
}
};
我得到一个运行时异常,说应用程序意外地停止了
在我的logcat窗口中查看以下消息:
12-19 12:33:05.420: WARN/dalvikvm(699): threadid=3: thread exiting
with uncaught exception (group=0x4000fe70)
12-19 12:33:05.441: ERROR/AndroidRuntime(699): Uncaught handler:
thread main exiting due to uncaught exception
12-19 12:33:05.460: ERROR/AndroidRuntime(699):
java.lang.NullPointerException
12-19 12:33:05.460: ERROR/AndroidRuntime(699): at
com.myapps.media.MainScreen$8.onClick(MainScreen.java:244)
12-19 12:33:05.460: ERROR/AndroidRuntime(699): at
android.view.View.performClick(View.java:2179)
12-19 12:33:05.460: ERROR/AndroidRuntime(699): at
android.view.View.onTouchEvent(View.java:3828)
12-19 12:33:05.460: ERROR/AndroidRuntime(699): at
android.widget.TextView.onTouchEvent(TextView.java:6291)
12-19 12:33:05.460: ERROR/AndroidRuntime(699): at
android.view.View.dispatchTouchEvent(View.java:3368)
12-19 12:33:05.460: ERROR/AndroidRuntime(699): at
android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:863)
12-19 12:33:05.460: ERROR/AndroidRuntime(699): at
android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:863)
12-19 12:33:05.460: ERROR/AndroidRuntime(699): at
android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:863)
12-19 12:33:05.460: ERROR/AndroidRuntime(699): at
android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:863)
12-19 12:33:05.460: ERROR/AndroidRuntime(699): at
android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:863)
12-19 12:33:05.460: ERROR/AndroidRuntime(699): at
com.android.internal.policy.impl.PhoneWindow
$DecorView.superDispatchTouchEvent(PhoneWindow.java:1707)
12-19 12:33:05.460: ERROR/AndroidRuntime(699): at
com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent
(PhoneWindow.java:1197)
12-19 12:33:05.460: ERROR/AndroidRuntime(699): at
android.app.Activity.dispatchTouchEvent(Activity.java:1993)
12-19 12:33:05.460: ERROR/AndroidRuntime(699): at
com.android.internal.policy.impl.PhoneWindow
$DecorView.dispatchTouchEvent(PhoneWindow.java:1691)
12-19 12:33:05.460: ERROR/AndroidRuntime(699): at
android.view.ViewRoot.handleMessage(ViewRoot.java:1525)
12-19 12:33:05.460: ERROR/AndroidRuntime(699): at
android.os.Handler.dispatchMessage(Handler.java:99)
12-19 12:33:05.460: ERROR/AndroidRuntime(699): at
android.os.Looper.loop(Looper.java:123)
12-19 12:33:05.460: ERROR/AndroidRuntime(699): at
android.app.ActivityThread.main(ActivityThread.java:3948)
12-19 12:33:05.460: ERROR/AndroidRuntime(699): at
java.lang.reflect.Method.invokeNative(Native Method)
12-19 12:33:05.460: ERROR/AndroidRuntime(699): at
java.lang.reflect.Method.invoke(Method.java:521)
12-19 12:33:05.460: ERROR/AndroidRuntime(699): at
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run
(ZygoteInit.java:782)
12-19 12:33:05.460: ERROR/AndroidRuntime(699): at
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540)
12-19 12:33:05.460: ERROR/AndroidRuntime(699): at
dalvik.system.NativeStart.main(Native Method)
12-19 12:33:05.520: INFO/Process(563): Sending signal. PID: 699 SIG: 3
12-19 12:33:05.520: INFO/dalvikvm(699): threadid=7: reacting to signal
3
12-19 12:33:05.601: INFO/dalvikvm(699): Wrote stack trace to '/data/
anr/traces.txt'
12-19 12:33:05.982: INFO/ARMAssembler(563): generated
scanline__00000077:03515104_00000000_00000000 [ 27 ipp] (41 ins) at
[0x27c718:0x27c7bc] in 982527 ns
12-19 12:33:06.011: INFO/ARMAssembler(563): generated
scanline__00000077:03515104_00001001_00000000 [ 64 ipp] (84 ins) at
[0x27c7c0:0x27c910] in 1804978 ns
如何解决这个问题?多谢各位
Maqsood您正在使用的Javadoc表示,如果创建播放器失败,它将返回null
在调用start方法之前,您没有检查创建是否成功,因此根据上面的堆栈跟踪,这是您看到的异常最可能的原因。因为代码列表中没有行号,如果您让我们知道哪一行失败,那将非常有帮助!或者使用pasty,我想上下文很重要。正在定义的匿名侦听器btnGrowUpListener被封装在一个名为MainScreen的类中,因此为了提供所需的Android上下文,需要使用MainScreen。使用这个符号。非常感谢!我已经解决了。