가속도계 값을 파일에 쓰는 안드로이드 응용 프로그램을 쓰고 있습니다. 화면에 표시 할 값을 얻고 있지만 쓰기가 가능한지 모르겠습니다. 파일, 그리고 만약 내가 파일을 찾을 수 없습니다.파일에 데이터를 쓰는 응용 프로그램
나는이 방법이 있지만, 제대로하고 있는지 확실하지 않습니다.
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;
}
}
등의 허가를 돌봐 당신이 원하는 모든 값을 기록하고 한 번을 닫아야합니다. 이 코드는 파일을 열고 여러 번 닫는 것과 같습니다. –
무엇을 변경해야합니까? 내가 생각할 수있는 유일한 방법은'osw.close()'를 제거하는 것이다. 나는 또한 그것의 주위에 어떤 종류의 루프가 필요하다고 가정 할 것이므로 값을 쓰는 것을 유지하고 앱이 닫힐 때 닫는다. – ELSheepO