0
원시 폴더에 저장된 사운드를 재생하기위한 미디어 파일 앱을 개발 중입니다. 전체적으로 약 32 개의 소리가 있습니다.MediaFile 앱에서 예외 처리하기
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:
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();
}
};
내가 내 로그 캣 창에서 후속 메시지와 함께 "응용 프로그램이 예기치 않게 중지"라는 런타임 예외를 얻을 : 그리고 이것은 내가 각 버튼의 클릭에 일을 이야 무엇인가
이 문제를 해결하는 방법? 당신
Maqsood
코드 목록에 행 번호가 없기 때문에 어떤 행이 실패했는지 알려 주시면 도움이 될 것입니다! (또는 페이스트리를 사용하면 컨텍스트가 중요하다고 생각합니다.) – moritz
btw, MainScreen.this? – moritz
정의되고있는 익명의 청취자 ('btnGrowUpListener')는'MainScreen'이라는 클래스 안에 캡슐화되어 있습니다. 그래서 안드로이드'Context'를 제공하기 위해서'MainScreen.this' 표기법이 사용됩니다. –