2012-10-13 5 views
-1

가속도계 값을 파일에 쓰는 안드로이드 응용 프로그램을 쓰고 있습니다. 화면에 표시 할 값을 얻고 있지만 쓰기가 가능한지 모르겠습니다. 파일, 그리고 만약 내가 파일을 찾을 수 없습니다.파일에 데이터를 쓰는 응용 프로그램

나는이 방법이 있지만, 제대로하고 있는지 확실하지 않습니다.

public void WriteToFile() 
{ 
    try 
    { 
     final String accelValue = new String(accelXValue + "," + accelYValue + "," + accelZValue); 
     FileOutputStream fOut = openFileOutput("accelValue.txt", MODE_WORLD_READABLE); 
     OutputStreamWriter osw = new OutputStreamWriter(fOut); 
     // Write the string to the file 
     osw.write(accelValue); 

     osw.flush(); 
     osw.close(); 
    } 
    finally 
    { 
     return; 
    } 
} 

어디에서 파일을 휴대폰에 저장합니까?

내 코드에서 이것을 어딘가에 호출해야합니까? 아니면 가속도계 메서드를 따르는 것이 좋습니까?

감사합니다.

또한 앱에서 파일 쓰기 권한을 만들어야합니다.

https://stackoverflow.com/a/8738467/1383281

이 응답 도움이겠습니까?

여기에 새 코드가 있지만 여전히 아무 것도 보이지 않습니다.

public void WriteToFile() 
{ 
    File AccelData = new File(Environment.getExternalStorageDirectory() + File.separator + "AccelData.txt"); 
    try 
    { 
     if (!(AccelData.exists())) 
       { 
        AccelData.createNewFile(); 
       } 

     final String accelValue = new String(accelXValue + "," + accelYValue + "," + accelZValue); 
     FileOutputStream ADOut = openFileOutput("accelValue.txt", MODE_WORLD_READABLE); 
     OutputStreamWriter AD = new OutputStreamWriter(ADOut); 
     AD.write(accelValue); 
    } 
    finally 
    { 
     return; 
    } 
} 
+1

등의 허가를 돌봐 당신이 원하는 모든 값을 기록하고 한 번을 닫아야합니다. 이 코드는 파일을 열고 여러 번 닫는 것과 같습니다. –

+0

무엇을 변경해야합니까? 내가 생각할 수있는 유일한 방법은'osw.close()'를 제거하는 것이다. 나는 또한 그것의 주위에 어떤 종류의 루프가 필요하다고 가정 할 것이므로 값을 쓰는 것을 유지하고 앱이 닫힐 때 닫는다. – ELSheepO

답변

1
public void WriteToFile() 
{ 
    FileOutputStream fOut = openFileOutput("accelValue.txt", MODE_WORLD_READABLE); 
    OutputStreamWriter osw = new OutputStreamWriter(fOut); 

    try 
    { 
     final String accelValue = new String(accelXValue + "," + accelYValue + "," + accelZValue); 
     // Write the string to the file 
     osw.write(accelValue); 
    } 
    finally 
    { 
     osw.flush(); 
     osw.close(); 
     return; 
    } 
} 
0

다른 옵션은 파일에 기록하기위한 확인

http://developer.android.com/guide/topics/data/data-storage.html

. 기본적으로 쓸 수 있습니다

  • 내부 저장소 - 장치 메모리에 개인 데이터를 저장합니다.
  • 외부 저장소 - 공용 데이터를 공유 외부 저장소에 저장합니다.

하고, 당신은 아마 한 번 파일을 열어야합니다

관련 문제