【问题标题】:How to store data in android? [duplicate]如何在android中存储数据? [复制]
【发布时间】:2013-02-22 11:08:50
【问题描述】:

我正在尝试将从服务器接收到的一些数据存储到我的 android 项目中的文件中。但我无法做到这一点..我使用了下面显示的以下代码..请帮帮我。谢谢。

String FILENAME = "hello_file";
String string = "hello world!";

FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
fos.write(string.getBytes());
fos.close();

它给出的错误是“内容无法解析为变量”。我导入了 android.content .. 然后它给所有 3 行称为“未处理的异常类型 FileNotFoundException”的错误 但是我已经创建了那个文件。问题是我不知道我将该文件保存在项目的哪个文件夹中?有人可以帮帮我吗?

【问题讨论】:

    标签: android


    【解决方案1】:

    Android 中允许使用 SharedPreference 或 Sqlite DB 两种方式保存数据 不建议写入文件。

    对于您的问题 1. Manifest 应该有写权限。

    如果不是,请发送代码.. 它非常基本

    我的建议是 SharedPreference 给你。

    【讨论】:

    • 数据量大时不建议共享偏好
    • 哦,我会试试的,谢谢。我现在应该学习共享偏好。
    • Pratheek,请勾选哪个答案对您有帮助,以便其他人使用。人们正在花费一些时间为您解决此问题。如果不检查,那么很多人可以帮助其他有需要的人。我同意乌斯曼的观点。
    • Ranjith,是的,一旦我确定哪种解决方案有效,我肯定会这样做。但问题是我仍然是 android 开发的初学者,所以我花了很多时间来实现和测试东西。给大家带来的不便请见谅:(
    【解决方案2】:

    -这里最常见的错误是您没有AndroidManifest.xml 文件中给出permission to wite external storage

    -请将此包含在您的清单文件中

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>

    【讨论】:

    • 谢谢。我不知道这件事。 Bt 即使我添加了 元素,它仍然无法正常工作。你能告诉我我应该把那个文件夹放在哪个文件夹里吗?
    【解决方案3】:

    使用

    File root = context.getFilesDir();
    
    File file = new File(root, fileName);
    fos = new FileOutputStream(file);
    

    【讨论】:

    • 我应该在哪里包含这个?在 onCreate() 函数内部?
    • 你把它添加到需要保存文件的地方。
    • 它给出了一个名为 fos cannot be resolved to a variable 的错误。我该怎么办?
    【解决方案4】:

    按照 Kumar 的建议,首先检查 Manifest Permission 如果您的问题仍未解决,请查看以下link 以获取帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-29
      • 1970-01-01
      • 1970-01-01
      • 2014-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-07
      相关资源
      最近更新 更多