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

이게왜 널값이 될가요...............하 멘붕.............

0 추천
05-21 01:31:49.291: W/dalvikvm(1173): threadid=1: thread exiting with uncaught exception (group=0xb1a57ba8)
05-21 01:31:49.321: E/AndroidRuntime(1173): FATAL EXCEPTION: main
05-21 01:31:49.321: E/AndroidRuntime(1173): Process: com.example.jiminnn, PID: 1173
05-21 01:31:49.321: E/AndroidRuntime(1173): java.lang.NullPointerException
05-21 01:31:49.321: E/AndroidRuntime(1173):  at com.example.jiminnn.FileFinderActivity$1.onClick(FileFinderActivity.java:42)
05-21 01:31:49.321: E/AndroidRuntime(1173):  at android.view.View.performClick(View.java:4438)
05-21 01:31:49.321: E/AndroidRuntime(1173):  at android.view.View$PerformClick.run(View.java:18422)
05-21 01:31:49.321: E/AndroidRuntime(1173):  at android.os.Handler.handleCallback(Handler.java:733)
05-21 01:31:49.321: E/AndroidRuntime(1173):  at android.os.Handler.dispatchMessage(Handler.java:95)
05-21 01:31:49.321: E/AndroidRuntime(1173):  at android.os.Looper.loop(Looper.java:136)
05-21 01:31:49.321: E/AndroidRuntime(1173):  at android.app.ActivityThread.main(ActivityThread.java:5017)
05-21 01:31:49.321: E/AndroidRuntime(1173):  at java.lang.reflect.Method.invokeNative(Native Method)
05-21 01:31:49.321: E/AndroidRuntime(1173):  at java.lang.reflect.Method.invoke(Method.java:515)
05-21 01:31:49.321: E/AndroidRuntime(1173):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
05-21 01:31:49.321: E/AndroidRuntime(1173):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
05-21 01:31:49.321: E/AndroidRuntime(1173):  at dalvik.system.NativeStart.main(Native Method)
http://snix.tistory.com/419 sdcard목록을 리스트로 뛰우는 코드인데요 제가 버튼이라 editText를 추가해서 파일검색할라고 이코드를 삽입했어요
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
File[] tempFiles = new File("/sdcard").listFiles();  
                                                                                        이게왜 널값이 될가요... 도저히 이해가..
String str = edt.getText().toString();
for(int i=0;i<tempFiles.length;i++){
a[i] = tempFiles[i].getName();
}
for(int i=0;i<a.length;i++){
if(a[i].contains(str)){
fileNameList.add(a[i]);
}
}
}
});
sccard 리스트 자체를 못불러와서 버튼클릭하면 오류가 뜹니다... 저게왜 널값이 될가요 ㅜㅜ
지미니v (1,080 포인트) 님이 2014년 5월 21일 질문

3개의 답변

+3 추천
/sdcard 경로가 없으니 null나올꺼에요

경로는 하드 코딩하지말고 Environment이용하면 될듯합니다.
q1212 (26,020 포인트) 님이 2014년 5월 21일 답변
+3 추천

답변주신분 말씀대로 Environment.getExternalStorageDirectory().toString() 찍어보면 경로를 String 값으로 볼수 있어요

-쫑- (1,790 포인트) 님이 2014년 5월 21일 답변
+1 추천
Environment.getExternalStorageDirectory() + "/sdcard/" + 블라블라~

 

이런식으로 쓰시면 됩니다
한림의별 (600 포인트) 님이 2014년 5월 21일 답변
...