-1

我正在编写一个将加速度计值写入文件的 android 应用程序,我正在将这些值显示在屏幕上,但我不知道它是否正在将它们写入文件,如果是我可以' t 找到文件。

我有这个方法,但我不确定它是否正确;

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;
    } 
}
4

2 回答 2

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;
    }
}
于 2012-10-13T15:41:40.467 回答
0

查看

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

用于写入文件的不同选项。你基本上可以写到

  • 内部存储 - 将私人数据存储在设备内存中。
  • 外部存储 - 将公共数据存储在共享的外部存储上。

并且必须注意许可等。

于 2012-10-13T15:43:21.193 回答