마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

getResources().getIdentifier 에 대해서 궁금합니다.

0 추천
String[] nowmenuvoice = {"","","kfcchiken","","",""};
int mp3res;
이렇게 선언하고
mp3res = getResources().getIdentifier(nowmenuvoice[2],"raw",getPackageName());
music2 = MediaPlayer.create(this, mp3res);
music2.setLooping(false);
music2.start();
이렇게 쓰면 에러가 나고
mp3res = getResources().getIdentifier("kfcchicken","raw",getPackageName());
그냥 문자열로 쓰면 소리가 나옵니다...
 
도대체 뭐가 다르죠 ㅠㅠ
11-16 14:53:51.370 18974-18974/sulivan_k.suilvan E/AndroidRuntime: java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=-1, data=Intent { (has extras) }} to activity {sulivan_k.suilvan/sulivan_k.suilvan.Menu}: android.content.res.Resources$NotFoundException: Resource ID #0x0
11-16 14:53:51.370 18974-18974/sulivan_k.suilvan E/AndroidRuntime:     at android.app.ActivityThread.deliverResults(ActivityThread.java:3543)
11-16 14:53:51.370 18974-18974/sulivan_k.suilvan E/AndroidRuntime:     at android.app.ActivityThread.handleSendResult(ActivityThread.java:3586)
11-16 14:53:51.370 18974-18974/sulivan_k.suilvan E/AndroidRuntime:     at android.app.ActivityThread.access$1300(ActivityThread.java:145)
11-16 14:53:51.370 18974-18974/sulivan_k.suilvan E/AndroidRuntime:     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1333)
11-16 14:53:51.370 18974-18974/sulivan_k.suilvan E/AndroidRuntime:     at android.os.Handler.dispatchMessage(Handler.java:102)
11-16 14:53:51.370 18974-18974/sulivan_k.suilvan E/AndroidRuntime:     at android.os.Looper.loop(Looper.java:135)
11-16 14:53:51.370 18974-18974/sulivan_k.suilvan E/AndroidRuntime:     at android.app.ActivityThread.main(ActivityThread.java:5228)
11-16 14:53:51.370 18974-18974/sulivan_k.suilvan E/AndroidRuntime:     at java.lang.reflect.Method.invoke(Native Method)
11-16 14:53:51.370 18974-18974/sulivan_k.suilvan E/AndroidRuntime:     at java.lang.reflect.Method.invoke(Method.java:372)
11-16 14:53:51.370 18974-18974/sulivan_k.suilvan E/AndroidRuntime:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959)
11-16 14:53:51.370 18974-18974/sulivan_k.suilvan E/AndroidRuntime:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754)
11-16 14:53:51.370 18974-18974/sulivan_k.suilvan E/AndroidRuntime:  Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x0
11-16 14:53:51.370 18974-18974/sulivan_k.suilvan E/AndroidRuntime:     at android.content.res.Resources.getValue(Resources.java:1236)
11-16 14:53:51.370 18974-18974/sulivan_k.suilvan E/AndroidRuntime:     at android.content.res.Resources.openRawResourceFd(Resources.java:1194)
11-16 14:53:51.370 18974-18974/sulivan_k.suilvan E/AndroidRuntime:     at android.media.MediaPlayer.create(MediaPlayer.java:919)
11-16 14:53:51.370 18974-18974/sulivan_k.suilvan E/AndroidRuntime:     at android.media.MediaPlayer.create(MediaPlayer.java:902)
11-16 14:53:51.370 18974-18974/sulivan_k.suilvan E/AndroidRuntime:     at sulivan_k.suilvan.Menu.onActivityResult(Menu.java:98)
11-16 14:53:51.370 18974-18974/sulivan_k.suilvan E/AndroidRuntime:     at android.app.Activity.dispatchActivityResult(Activity.java:6140)
11-16 14:53:51.370 18974-18974/sulivan_k.suilvan E/AndroidRuntime:     at android.app.ActivityThread.deliverResults(ActivityThread.java:3539)
11-16 14:53:51.370 18974-18974/sulivan_k.suilvan E/AndroidRuntime:     at android.app.ActivityThread.handleSendResult(ActivityThread.java:3586) 
11-16 14:53:51.370 18974-18974/sulivan_k.suilvan E/AndroidRuntime:     at android.app.ActivityThread.access$1300(ActivityThread.java:145) 
11-16 14:53:51.370 18974-18974/sulivan_k.suilvan E/AndroidRuntime:     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1333) 
11-16 14:53:51.370 18974-18974/sulivan_k.suilvan E/AndroidRuntime:     at android.os.Handler.dispatchMessage(Handler.java:102) 
11-16 14:53:51.370 18974-18974/sulivan_k.suilvan E/AndroidRuntime:     at android.os.Looper.loop(Looper.java:135) 
11-16 14:53:51.370 18974-18974/sulivan_k.suilvan E/AndroidRuntime:     at android.app.ActivityThread.main(ActivityThread.java:5228) 
11-16 14:53:51.370 18974-18974/sulivan_k.suilvan E/AndroidRuntime:     at java.lang.reflect.Method.invoke(Native Method) 
11-16 14:53:51.370 18974-18974/sulivan_k.suilvan E/AndroidRuntime:     at java.lang.reflect.Method.invoke(Method.java:372) 
11-16 14:53:51.370 18974-18974/sulivan_k.suilvan E/AndroidRuntime:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959) 
11-16 14:53:51.370 18974-18974/sulivan_k.suilvan E/AndroidRuntime:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754) 
익명사용자 님이 2015년 11월 16일 질문

1개의 답변

0 추천
직접 Trace 해보세요 null 인 듯 싶은데요
aucd29 (218,390 포인트) 님이 2015년 11월 16일 답변
...