在我的任务中,我需要读取和写入 Raw 文件夹中的文件。我做了第一个从我的项目中读取文件,现在我想写同一个文件。所以我很容易在该文件中进行任何更新。
看到这个如何将文件写入android中的资产文件夹或原始文件夹?
我允许用户设置密码,即将通行证写入文件然后读取通行证并验证它是否匹配。是否可以在原始文件夹中写入文件
在我的任务中,我需要读取和写入 Raw 文件夹中的文件。我做了第一个从我的项目中读取文件,现在我想写同一个文件。所以我很容易在该文件中进行任何更新。
看到这个如何将文件写入android中的资产文件夹或原始文件夹?
我允许用户设置密码,即将通行证写入文件然后读取通行证并验证它是否匹配。是否可以在原始文件夹中写入文件
“res”文件夹中存在的任何数据都是不可写的。您只能从中读取数据。您永远不能即时将数据写入 res 文件夹。如果您正在寻找一种存储用户名和密码凭据的方法,您可以使用 Shared Prefrence
这是一个关于如何使用它的例子。
http://marakana.com/forums/android/examples/63.html
编辑 1
除非用户使用设置页面中的“清除数据”按钮清除数据,否则在共享首选项中存储数据是持久的。导航到 设置->管理应用程序->您的应用程序。在这里,您将看到卸载按钮和清除数据按钮。android 中的另一件事是您将永远无法保存持久数据。您不能使用任何数据存储方法,如首选项、sqlite 或文件系统来永久存储数据。如果用户想擦除数据,他单击“清除数据”按钮,您的数据就消失了。因此,您已经以这种方式进行编码以处理此问题。
由于这是不可能的,您可以尝试使用您的应用程序的受写保护且无法写入的资源。所以这取决于用户,或者您可能必须使用您的服务器将数据存储在那里。
是的,这是做不到的。不要尝试写入原始目录,而是使用共享首选项更新本地文件系统中的文件,如下面的链接所述:
请参考http://developer.android.com/guide/topics/data/data-storage.html#filesInternal。
Any data present in the "res" folder is not writable. You can only read data from it.
See this tutorial from the Android Dev site : http://developer.android.com/training/basics/data-storage/files.html
String filename = "myfile";
String string = "Hello world!";
FileOutputStream outputStream;
try {
outputStream = openFileOutput(filename, Context.MODE_PRIVATE);
outputStream.write(string.getBytes());
outputStream.close();
} catch (Exception e) {
e.printStackTrace();
}