如何在android中保存数据结构?

时间:2009-09-24 16:48:26

标签: xml android dom parsing

我想存储来自这样的结构的一些数据:

class Project {
    ChildA a;
    ChildB b;
}

class ChildA {
    ChildC c;
    ...
}
...

我创建的数据如下:

Projet x = new Project();
x.a = new ChildA();
x.a.c = new ChildC();

...我想将它保存到我设备的SD卡上的外部文件中,以便其他应用程序可以读取它(用户可以打开/复制它)。

我认为我应该使用DOM解析器,因为我的数据结构不是很大,但我找不到教程或类似的东西。有没有更好的方法来存储这些信息?

如果没有,是否有任何说明如何在android中使用解析器?

1 个答案:

答案 0 :(得分:13)

如果您希望其他Android应用程序可以访问您的数据,那么推荐的方法是编写Content Provider。另一方面,如果您希望将数据用于非Android应用程序,则需要“导出”它。你必须自己编码。

我现在可以想到三种选择:

  1. 创建XML文件
    不幸的是,Android并不包括方便地创建XML所需的全部内容 文件。最值得注意的是,javax.xml.transform不可用,并且添加了平台 不推荐课程。这意味着你必须自己写出来 “transform”class
  2. 创建JSON文件
    Android API很好地支持JSON。请参阅herehere
  3. 创建Java序列化文件
    只要您的对象实现“Serializable”接口,它们就可以轻松实现 写出来的文件。我自己从来不需要这样做,但它应该是 直截了当,应该在网上提供示例。 (例如,谷歌来了 this mini-tutorial
  4. 当您私下存储文件时,请考虑使用openFileInputopenFileOutput。如果要明确存储在SD卡上,则应使用getExternalStorageDirectory()检索根文件夹。

    我个人的建议是使用JSON文件。这是一种简单的格式,适用于大多数情况,并且可以广泛使用。除了de /序列化是死的简单。