정확히 어디가 문제인지 모르겠습니다..

책에 있는 예제를 그대로 작성하였는데 계속해서 에러가 나서...


public class ImageEx extends Activity{
   
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);


        setContentView(new SoundEx(this));
      }
}

이 액티비이 측 호출하려는 부분이고 실제 코드는 밑 입니다..


public class SoundEx extends View{
   
    MediaPlayer M_BackGround;
    MediaPlayer M_Effect_1;
    MediaPlayer M_Effect_2;
   
    public SoundEx(Context context){
        super(context);
       
        M_BackGround = MediaPlayer.create(context, R.raw.background);
        M_Effect_1 = MediaPlayer.create(context, R.raw.effect1);
        M_Effect_2 = MediaPlayer.create(context, R.raw.effect2);
       
        M_BackGround.start();
        //쓰레드와 같이 스타트, 스탑으로 함.
        setFocusable(true);
        //따로 리턴값을 받아 재생하는 것이 아닌 이곳에 포커스를 맞추어 그대로 실행함.
    }
   
    protected void onDraw(Canvas canvas)
    {
        Paint P = new Paint();
        P.setTextSize(20);
        P.setColor(Color.WHITE);
        String Str;
       
        if(M_BackGround.isPlaying())
        {
            Str = "재생 중";
        }
       
        else
        {
            Str = "일시 정지";
        }
       
        canvas.drawText("현재 음악의 상태는 " + Str , 0, 20, P);
       
    }
   
   
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
       
        if(keyCode == KeyEvent.KEYCODE_DPAD_LEFT)
        {
            M_Effect_1.start();
        }
       
        if(keyCode == KeyEvent.KEYCODE_DPAD_RIGHT)
        {
            M_Effect_2.start();
        }
       
        if(keyCode == KeyEvent.KEYCODE_SPACE)
        {
            if(M_BackGround.isPlaying())
            {
                M_BackGround.pause();
               
            }
            else
            {
                M_BackGround.start();
               
            }
            invalidate();
        }
        return super.onKeyDown(keyCode, event);
    }

}



더불어 해당 로그캣은 아래와 같습니다.


08-24 05:25:18.712: ERROR/AndroidRuntime(328): FATAL EXCEPTION: main
08-24 05:25:18.712: ERROR/AndroidRuntime(328): java.lang.RuntimeException: Unable to start activity ComponentInfo{GameStudy.A1/GameStudy.A1.ImageEx}: android.content.res.Resources$NotFoundException: File Hello World, GameStudy! from drawable resource ID #0x7f040000
08-24 05:25:18.712: ERROR/AndroidRuntime(328):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
08-24 05:25:18.712: ERROR/AndroidRuntime(328):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
08-24 05:25:18.712: ERROR/AndroidRuntime(328):     at android.app.ActivityThread.access$1500(ActivityThread.java:117)
08-24 05:25:18.712: ERROR/AndroidRuntime(328):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
08-24 05:25:18.712: ERROR/AndroidRuntime(328):     at android.os.Handler.dispatchMessage(Handler.java:99)
08-24 05:25:18.712: ERROR/AndroidRuntime(328):     at android.os.Looper.loop(Looper.java:123)
08-24 05:25:18.712: ERROR/AndroidRuntime(328):     at android.app.ActivityThread.main(ActivityThread.java:3683)
08-24 05:25:18.712: ERROR/AndroidRuntime(328):     at java.lang.reflect.Method.invokeNative(Native Method)
08-24 05:25:18.712: ERROR/AndroidRuntime(328):     at java.lang.reflect.Method.invoke(Method.java:507)
08-24 05:25:18.712: ERROR/AndroidRuntime(328):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
08-24 05:25:18.712: ERROR/AndroidRuntime(328):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
08-24 05:25:18.712: ERROR/AndroidRuntime(328):     at dalvik.system.NativeStart.main(Native Method)
08-24 05:25:18.712: ERROR/AndroidRuntime(328): Caused by: android.content.res.Resources$NotFoundException: File Hello World, GameStudy! from drawable resource ID #0x7f040000
08-24 05:25:18.712: ERROR/AndroidRuntime(328):     at android.content.res.Resources.openRawResourceFd(Resources.java:860)
08-24 05:25:18.712: ERROR/AndroidRuntime(328):     at android.media.MediaPlayer.create(MediaPlayer.java:662)
08-24 05:25:18.712: ERROR/AndroidRuntime(328):     at GameStudy.A1.SoundEx.<init>(SoundEx.java:20)
08-24 05:25:18.712: ERROR/AndroidRuntime(328):     at GameStudy.A1.ImageEx.onCreate(ImageEx.java:20)
08-24 05:25:18.712: ERROR/AndroidRuntime(328):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
08-24 05:25:18.712: ERROR/AndroidRuntime(328):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
08-24 05:25:18.712: ERROR/AndroidRuntime(328):     ... 11 more
08-24 05:25:18.712: ERROR/AndroidRuntime(328): Caused by: java.io.FileNotFoundException: Hello World, GameStudy!
08-24 05:25:18.712: ERROR/AndroidRuntime(328):     at android.content.res.AssetManager.openNonAssetFdNative(Native Method)
08-24 05:25:18.712: ERROR/AndroidRuntime(328):     at android.content.res.AssetManager.openNonAssetFd(AssetManager.java:427)
08-24 05:25:18.712: ERROR/AndroidRuntime(328):     at android.content.res.Resources.openRawResourceFd(Resources.java:857)
08-24 05:25:18.712: ERROR/AndroidRuntime(328):     ... 16 more





정확히 어디가 문제인지.. 답을 좀 알려주세요...ㅠ.ㅠ;;;