2014-11-10 1 views
1

나는 간단한 코드context.getdir() NullPointerException이

내 이해 당으로
if (context != null) 
    { 
     File mydir = context.getDir("abc",0); 
    } 

을 작성했습니다, 나는 첫 번째 매개 변수로 어떤 임의의 문자열을 전달할 수 있습니다. 생성 된 디렉토리의 이름이됩니다. 또한이 코드는 이미 Null Check 내에 있으므로 컨텍스트를 null로 설정할 수 없습니다.

하지만이 경우 NullPointerException에게

11-10 09:43:44.839: E/AndroidRuntime(11441): FATAL EXCEPTION: DOWNLOAD_THREAD 
11-10 09:43:44.839: E/AndroidRuntime(11441): Process: com.samsung.samsunggearapps, PID: 11441 
11-10 09:43:44.839: E/AndroidRuntime(11441): java.lang.NullPointerException 
11-10 09:43:44.839: E/AndroidRuntime(11441): at android.content.ContextWrapper.getDir(ContextWrapper.java:257) 

편집을주고있다 : 나는 getApplicationContext()를 사용하여 시도; . 그것도 null입니다.

11-10 11:31:17.919: E/AndroidRuntime(21038): java.lang.NullPointerException 
11-10 11:31:17.919: E/AndroidRuntime(21038): at android.content.ContextWrapper.getApplicationContext(ContextWrapper.java:114) 
+0

context 대신 getApplicationContext()를 사용하십시오. –

+0

'''Context'' 객체를 얻는 방법을 보여줄 수 있습니까? –

+0

컨텍스트 context = getApplicationContext(); –

답변

1

나는 그렇게 생각하지 않습니다. 또한 모드 당신에 따라 다른 응용 프로그램에서 액세스 할 수있는 내부 메모리에있는 파일이나 디렉토리를 생성 할 수 있습니다)

File mydir = context.getDir(Environment.DIRECTORY_PICTURES, Context.MODE_PRIVATE); 
+0

두 번째 매개 변수는 0 일 수 있습니다. Context.MODE_PRIVATE를 제공하더라도 동일한 오류가 발생합니다. – user4057066

+0

@ user4057066 예, 정말로 나를 괴롭히는 것은 1 인자입니다. 왜 그렇게합니까? –

+0

내 코드를 if (context! = null) {File mydir = context.getDir (Environment.DIRECTORY_PICTURES, Context.MODE_PRIVATE);}로 변경하더라도 동일한 오류가 발생합니다. 그것은 다른 곳에서도 가지 않습니다. context가 null가 아닌 것을 의미합니다. – user4057066

0

getDir (: 당신은 where (1 PARAM)와 how (2 PARAM)를 지정해야 몹시 떠들어 대다.

File dir = ctx.getDir("abc", Context.MODE_PRIVATE); 
+0

이것이 올바른 일인 이유를 설명 할 수 있는가? ? 설명이없는 코드 덤핑은 일반적으로 StackOverflow에서 권장하지 않습니다. – rayryeng