2011-07-17 4 views
0

내부 저장소 용 파일을 만들고 있는데 데이터를 쓸 때 문제가 있습니다. 나는 그것이 (Logcat 태그를 사용하여 그것을 체크하기 위해) 사용되었지만, FileOutputStream을 열 자마자 두 번째 줄에 NullPointerException이 있다는 것을 알았다.내부 파일에 데이터 쓰기 - ContextWrapper NullPointerException

static ContextWrapper wrap = new ContextWrapper(context); 
FileOutputStream gamesave = wrap.openFileOutput (FILENAME, Context.MODE_PRIVATE); 
gamesave.write(DATA.getBytes()); 
gamesave.close(); 

다른 질문이 있는데 왜 NullPointerException이 있는지 알 수 없으므로 올바른 절차를 따르고있는 것 같습니다.

+0

_ 위치는 NPE입니까? 어떤 줄에 – Bozho

+0

btw,'정적'..? 이게 진짜 코드인가요? – Bozho

+0

두 번째 줄. 어쩌면 ContextWrapper를 인스턴스화하지 않아도 될까요? – Anna

답변

0

context var (즉, ApplicationContext)에 잘못된 컨텍스트가 있다고 생각합니다. Wrapper없이 컨텍스트를 직접 사용해보십시오.

+0

문제는 그것이 활동이 아니라는 것입니다! 그게이 작품을 만드는 유일한 방법입니까? – Anna

+0

어디에서 컨텍스트를 가져 옵니까? – Mannaz

+0

클래스에 대한 생성자를 만들 수는 있지만 클래스의 메서드를 빌린 곳이 여러 개 있기 때문에 다른 클래스의 클래스 인스턴스를 여러 개 만드는 중입니다. – Anna

0

ContextWrapper를 만드는 이유는 무엇입니까? 그렇게 할 이유가 없습니다. 그냥 가지고있는 컨텍스트를 사용하십시오. 활동 인 경우 Activity를, 그렇지 않은 경우 컨텍스트를 사용하십시오.

응용 프로그램을 컨텍스트로 사용하는 것이 완벽하다는 점에 유의하십시오.