如何正确使用Android文件系统?

时间:2012-01-23 13:21:08

标签: android file-io storage

我正在启动一个示例Android应用程序,我需要的一件事是在安装时与应用程序一起存储的两个文件。在运行时,应用程序应该能够读取和写入这些文件。

这似乎不是一项任务,但我已经阅读了各种说明(包括developer.android.com,O'Reilly学习Android和一些类似的问题)并且从未得到最终的线索导致回答我的问题。

这些文件足够小(100kb),允许安装.apk文件,据我所知,这个文件存储在data / data / packagename中。为了在安装过程中将文件放在那里,我发现简单的解决方案是将文件添加到Eclipse项目中的res / raw文件夹中。我这样做但是当我使用模拟器和DDMS测试应用程序时无法找到文件。

我确信我错过了一个重要的教程或信息,如果是这样的话,请将它直接敲打到我脸上。否则,我很感激您提供的任何帮助。

3 个答案:

答案 0 :(得分:1)

将预构建文件放在应用程序的/asset目录中。

首次运行应用程序时,将这些文件复制到/data/data/<application_package>/files目录,

现在对内部存储位置的这些文件执行writeread操作。

注意:  请确保不允许对/asset/res/raw目录中的文件执行写操作(因为它们是只读文件系统)。

此外,如果您的文件位于/res/raw目录,

您可以使用输入流来获取这些文件,例如

InputStream ins = getResources().openRawResource(R.raw.file);

答案 1 :(得分:0)

试试this tutorial。它显示了如何从InputStream文件夹中存储的任何文件中获取raw

答案 2 :(得分:0)

有关读取原始资源的示例,请参阅Resources.openRawResource() issue Android。 openRawResource为您提供了一个读取数据的InputStream。