안드로이드 개발 질문/답변
(글 수 45,052)
구글링을 통해서 폰상의 사진자료를 선택해서 서버에 전송하는 소스를 보고 따라하는데 에러가 나네요.
갤러리에서 선택한 사진 자료의 절대경로를 구하는 부분이라는데,
public void tryToAdd() {
...
Cursor c = getContentResolver().query(Uri.parse(selImage.toString()), null, null, null, null);
c.moveToNext();
String absolutionPath = c.getString(c.getColumnIndex(MediaStore.MediaColumns.DATA));
c.moveToNext();
String absolutionPath = c.getString(c.getColumnIndex(MediaStore.MediaColumns.DATA));
...
}
c.moveToNext(); 부분에서 에러가 나고 LogCat부분을 보면...
....
10-29 00:24:47.696: ERROR/선택된 이미지(15416): selImage : android.graphics.Bitmap@405e22a0
10-29 00:24:48.126: ERROR/DiskCacheSEC(12100): [SE Lab.] expired sd #: 0
10-29 00:24:49.061: ERROR/AndroidRuntime(15416): FATAL EXCEPTION: main
10-29 00:24:49.061: ERROR/AndroidRuntime(15416): java.lang.NullPointerException
10-29 00:24:49.061: ERROR/AndroidRuntime(15416): at com.exam.write_menu1_form.tryToAdd(write_menu1_form.java:393)
10-29 00:24:49.061: ERROR/AndroidRuntime(15416): at com.exam.write_menu1_form$8.onClick(write_menu1_form.java:279)
....
10-29 00:24:48.126: ERROR/DiskCacheSEC(12100): [SE Lab.] expired sd #: 0
10-29 00:24:49.061: ERROR/AndroidRuntime(15416): FATAL EXCEPTION: main
10-29 00:24:49.061: ERROR/AndroidRuntime(15416): java.lang.NullPointerException
10-29 00:24:49.061: ERROR/AndroidRuntime(15416): at com.exam.write_menu1_form.tryToAdd(write_menu1_form.java:393)
10-29 00:24:49.061: ERROR/AndroidRuntime(15416): at com.exam.write_menu1_form$8.onClick(write_menu1_form.java:279)
....
갤러리에서 이미지 선택까지는 되는것 같은데... SD카드의 경로를 읽어오는 부분이 문제인가요???
폰이 갤럭시S2 인데 혹시 또 다른 뭔가가 필요한 것인지요???




null 포인트 에러가 나고있는거 같네요..
커서를 moveToNext()를 하기전에 반드시 처음 위치로 초기화를 해주시기 바랍니다.
moveToFirst()나 비슷한 메소드가 있을꺼에요.
커서는 반드시 처음 위치를 가리키고있다는 보장이 없어요.