안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요.
제가 지금 인텐트를 이용해 갤러리를 부르고 선택한 사진을 불러오는 부분에서 오류가 나서요..
전에는 잘 되다가 제가 어떤 부분을 건들였는지, 오류가 나더라구요;;
05-22 10:08:43.436: W/dalvikvm(5244): threadid=1: thread exiting with uncaught exception (group=0x4001f7e0)
05-22 10:08:43.452: E/AndroidRuntime(5244): FATAL EXCEPTION: main
05-22 10:08:43.452: E/AndroidRuntime(5244): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=0, result=-1, data=Intent { dat=content://media/external/images/media/200 }} to activity {com.android.photoframe/com.android.photoframe.EditPhotoActivity}: java.lang.NullPointerException
05-22 10:08:43.452: E/AndroidRuntime(5244): at android.app.ActivityThread.deliverResults(ActivityThread.java:3515)
05-22 10:08:43.452: E/AndroidRuntime(5244): at android.app.ActivityThread.handleSendResult(ActivityThread.java:3557)
05-22 10:08:43.452: E/AndroidRuntime(5244): at android.app.ActivityThread.access$2800(ActivityThread.java:125)
05-22 10:08:43.452: E/AndroidRuntime(5244): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2063)
05-22 10:08:43.452: E/AndroidRuntime(5244): at android.os.Handler.dispatchMessage(Handler.java:99)
05-22 10:08:43.452: E/AndroidRuntime(5244): at android.os.Looper.loop(Looper.java:123)
05-22 10:08:43.452: E/AndroidRuntime(5244): at android.app.ActivityThread.main(ActivityThread.java:4627)
05-22 10:08:43.452: E/AndroidRuntime(5244): at java.lang.reflect.Method.invokeNative(Native Method)
05-22 10:08:43.452: E/AndroidRuntime(5244): at java.lang.reflect.Method.invoke(Method.java:521)
05-22 10:08:43.452: E/AndroidRuntime(5244): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
05-22 10:08:43.452: E/AndroidRuntime(5244): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
05-22 10:08:43.452: E/AndroidRuntime(5244): at dalvik.system.NativeStart.main(Native Method)
05-22 10:08:43.452: E/AndroidRuntime(5244): Caused by: java.lang.NullPointerException
05-22 10:08:43.452: E/AndroidRuntime(5244): at com.android.photoframe.EditPhotoActivity.onActivityResult(EditPhotoActivity.java:587)
05-22 10:08:43.452: E/AndroidRuntime(5244): at android.app.Activity.dispatchActivityResult(Activity.java:3890)
05-22 10:08:43.452: E/AndroidRuntime(5244): at android.app.ActivityThread.deliverResults(ActivityThread.java:3511)
05-22 10:08:43.452: E/AndroidRuntime(5244): ... 11 more
..오류는 이 부분입니다. 값을 갑자기 제대로 못 받아오는거 같은데..
어떤 버튼을 눌렀을 시 인텐트로 갤러리를 불러오는 부분은
Button LoadImageButton = (Button)this.findViewById(R.id.loadImageButton);
LoadImageButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent i = new Intent(Intent.ACTION_PICK);
i.setType(android.provider.MediaStore.Images.Media.CONTENT_TYPE);
i.setData(android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(i, PICK_FROM_ALBUM);
}
});이것이구요.
여기서 선택한 사진을 비트맵으로 읽는 부분은
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(resultCode==RESULT_OK)
{
switch(requestCode)
{
case PICK_FROM_ALBUM:
Uri uri = data.getData();
try{
Bitmap photo;
photo = Images.Media.getBitmap(getContentResolver(), uri);
if(photo!= null)
{......
이렇습니다;ㅠㅠ 갑자기 잘되다가..어디서 잘못된 걸까요?




EditPhotoActivity.java:587우선 이라인에서 널이 떨어지는군요..해당 라인으로 들어가는 플로어 이전부터 디버깅 찍어보시면 알수있을꺼 같은데요