创建 Android 应用程序时,我有一些文件需要存储在 android 本身上。
我该怎么做呢?
如果你有本地文件,比如一些错误提示音,一些正在打开的视频..然后把它放在你里面assets folder of your project
。
如果您需要在运行时下载动态数据,请使用本指南。
通用文件的最佳位置是文件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 的更多信息。哦,是的,您可以在资产中创建文件夹。
如果你想保留一些文件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");