1

创建 Android 应用程序时,我有一些文件需要存储在 android 本身上。

我该怎么做呢?

4

3 回答 3

3

如果你有本地文件,比如一些错误提示音,一些正在打开的视频..然后把它放在你里面assets folder of your project

如果您需要在运行时下载动态数据,请使用本指南

于 2012-07-04T08:45:49.360 回答
1

通用文件的最佳位置是文件assets夹。

您可以通过 访问文件AssetManager,例如,您可以使用它Activity.getAssets()

这是一个如何访问文本文件的示例:

try {
    BufferedReader br = new BufferedReader(
        new InputStreamReader(getAssets().open("sometextfile.txt")));

        // do stuff with br
} catch (IOException e) {
        e.printStackTrace();
}

有关AssetManager阅读Java Doc 的更多信息。哦,是的,您可以在资产中创建文件夹。

于 2012-07-04T08:39:43.133 回答
1

如果你想保留一些文件readme.txt,甚至是音乐文件,你可以使用文件夹内的 raw 文件res夹。raw因此,在文件夹内创建一个名为的res文件夹。

在 raw 文件夹中,假设有一个名为 的文件readme.txt,假设调用了 Activity 类MyActivity

现在,您可以将文件的内容读入字符串,如下所示:

StringBuilder strContents = new StringBuilder();
String thisLine;
InputStream is = MyActivity.this.getResources().openRawResource(R.raw.readme);
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
while ((thisLine = br.readLine()) != null) { // while loop begins here
    strContents.append(thisLine);
}
br.close();
//Now you have the data in strContents

或者,assets这也是您可以使用的一个这样的文件夹,因为原始文件夹包含文件,没有任何优化,由 Android 完成压缩。

因此,在您的项目根文件夹中创建一个assets文件夹并将您的文件放在那里,例如myfile.

现在,您可以获得文件 InputStream 的实例,如下所示:

InputStream is = getBaseContext().getAssets().open("mydb");

于 2012-07-04T09:01:46.213 回答