存储数组或自定义对象(持久数据)的方法是什么?

时间:2011-06-10 20:39:51

标签: android persistent-storage

有没有办法将自定义数据对象存储为持久数据而不在Android中使用SQLite?

我在屏幕上有一个3 * 3矩阵的EditText字段,我想将这9个字段的所有内容存储到一个“配置文件”(对象)中。可以创建其他配置文件以使具有不同数据的不同矩阵。

我想到了XML,但我想听听其他意见。

3 个答案:

答案 0 :(得分:3)

您可以序列化数组并将其存储到共享首选项,类似于此问题的答案:

Android Sharepreferences and array

要存储多个配置文件,您可以使用“Profile-1”,“Profile-2”等密钥将每个配置文件存储在共享首选项中。然后,您可以拥有另一个具有您拥有的配置文件数量的共享首选项。

答案 1 :(得分:2)

您可以尝试类似

的内容
public bool save(SaveableObject s, Context context, String fileName)
{
    try
    {
        FileOutputStream fos;
        ObjectOutputStream os;
        File file1 = context.getExternalFilesDir(null);
        File file2 = new File(file1, fileName);
        fileName = file2.getAbsolutePath();
        fos = context.openFileOutput(fileName, Context.MODE_PRIVATE);
        os = new ObjectOutputStream(fos);
        os.writeObject((Object)analysis);
        os.close();
        fos.close();
    } 
    catch (IOException e)
    {
        e.printStackTrace();
    }
}

应将文件保存到/sdcard/fileName

答案 2 :(得分:1)

您的选项在文档的Data Storage主题中进行了解释。