2012-09-05 3 views
0

파일을로드하고 저장하기 위해 내 Activity 클래스 내에있는 코드가 있습니다. 그것은 잘 작동합니다. 이 코드는 cFavretClass의 내용을 저장합니다. 나는 코드를 정리하려고하는데, 그래서 파일을 i/o를 cFavret 클래스로 옮겼다.Activity 클래스 내에 파일 I/O가 있어야합니까?

컴파일 할 코드를 가져올 수 없습니다. 이제 openFileOutput is undefined in type cFavrets이라는 오류 메시지가 나타납니다.

나는이 방법이 Googles Activity Class에 선언되었다고 가정하고 있습니까? 모든 파일 입출력이 활동 클래스에 있어야 함을 의미합니까?

boolean Save() 
{ 
    String FILENAME = "hello_file"; 

    try { 
    FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE); 
    fos.write(buffer); 
    fos.close(); 
    } 
    // just catch all exceptions and return false 
    catch (Throwable t) { 
    return false; 
    }  
    return true; 
} 

boolean Load() 
{ 
    String FILENAME = "hello_file"; 
    try { 
    FileInputStream fos = openFileInput(FILENAME); 
    buffer[0]=0; 
    fos.read(buffer); 
    fos.close(); 
    } 
    // just catch all exceptions and return false 
    catch (Throwable t) { 
    // maybe file does not exist, try creating it 
    return false; 
    } 
    return true; 
} 

답변

1

이 I/O가 활동 클래스에 있어야합니다 모든 파일을 의미 하는가?

아니,하지만 문제의 방법이 컨텍스트에서 호출이 - 그냥이 cFavretClass의 생성자에 컨텍스트를 통과 (또는 당신이 선호하는 방법 자체에) :

Context mContext; 
public cFavretClass(Context context) { 
    mContext = context; 
} 

... 
    // in your methods: 
    mContext.openFileOutput(FILENAME); 
+0

안녕하세요, Activty 클래스에서 어떻게 컨텍스트를 얻을 수 있습니까 ??? 나는 Context mContext를 시도하고있다. mContext = 컨텍스트. 작동하지 않음 –

+0

활동은 컨텍스트입니다. 단지'this'를 전달하십시오. – JRaymond

0

JRaymond로 설명하면, openFileOutputContext이고, 그 중 Activity이 유도된다. 이 방법은 응용 프로그램에 개인 인 파일을 만들 수있는 한 특별합니다.

외부 저장소 (SD-Card)에 쓸 때도 일반 Java I/O 클래스를 사용할 수 있지만 모든 사람이 읽을 수 있습니다.

관련 문제