如何在android中在原始文件夹中写入文件

如何在android中在原始文件夹中写入文件,android,android-ndk,Android,Android Ndk,在我的任务中,我需要读写原始文件夹中的文件。我做了第一个从我的项目中读取文件的操作,现在我想写相同的文件。因此,我很容易在该文件中进行任何更新 一见此, 我允许用户设置密码,即将密码写入文件,然后读取密码并验证密码是否匹配。可以在原始文件夹中写入文件吗?不,不能在原始文件夹中写入文件 你应该使用共享优先权 是的,不能这样做。不要尝试在原始目录中写入,而是使用共享首选项更新本地文件系统中的文件,如下链接所述: 请参阅。“res”文件夹中的任何数据都是不可写的。您只能从中读取数据。您永远不能动态地将

在我的任务中,我需要读写原始文件夹中的文件。我做了第一个从我的项目中读取文件的操作,现在我想写相同的文件。因此,我很容易在该文件中进行任何更新

一见此,


我允许用户设置密码,即将密码写入文件,然后读取密码并验证密码是否匹配。可以在原始文件夹中写入文件吗?不,不能在原始文件夹中写入文件

你应该使用共享优先权


是的,不能这样做。不要尝试在原始目录中写入,而是使用共享首选项更新本地文件系统中的文件,如下链接所述:

请参阅。

“res”文件夹中的任何数据都是不可写的。您只能从中读取数据。您永远不能动态地将数据写入res文件夹。如果您正在寻找存储用户名和密码凭据的方法,则可以使用

下面是一个如何使用它的示例

编辑1

除非用户使用“设置”页面中的“清除数据”按钮清除数据,否则以共享首选项存储数据是持久的。导航到设置->管理应用->您的应用。在这里,您将看到卸载按钮和清除数据按钮。在安卓系统中,还有一件事是你永远无法保存持久数据。您不能使用任何数据存储方法(如preference、sqlite或文件系统)来存储永久数据。如果用户想要擦除数据,他点击“清除数据”按钮,您的数据就会消失。因此,您必须以这样的方式编写代码来处理此问题


由于这是不可能的,您可以尝试使用应用程序的资源,该资源受写保护,无法写入。所以这取决于用户,或者您可能必须使用服务器将数据存储在那里

存在于“res”文件夹中的任何数据都是不可写的。您只能从中读取数据

请参见Android开发网站上的本教程:


您可以在内部文件系统中创建文件,而不是在行/资产文件夹中创建文件。您可以在data/data/com.your.package或data/data/com.your.package/newfolder中写入文件,但这是不安全的,其他应用程序可读取[]。我读过这篇文章,但问题是我需要在设备中运行它。但是如果我这样做的话,它会失败。所以我不能选择共享首选项。请在以后给出任何其他建议。我计划在匹配短信文本和密码的情况下从一个手机发送短信到另一个手机,然后它会锁定设备。对于这个wat数据存储,我应该使用吗?。现在我不应该使用file、sqlite和sharedTy来响应androselva。重启后共享的首选项数据在设备上是持久的吗?是的,niks。我试过了,但我做不到。。。。刚才我想到了使用共享优先权的想法,这只是说如何将文件写入到内部或外部存储中,而不是在Android中写入原始文件夹中的文件。
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();
}