选择正确的数据存储替代方案

时间:2011-05-09 14:33:13

标签: android xml sqlite

我正在编写一个Android应用程序来解析短信。我需要针对不同国家的不同规则,并且想法是为我的国家和后来的开源项目定义规则,以便其他用户可以为他们的国家贡献规则。在我看来,XML格式是定义这些规则最方便的。

所以我有一个应用程序,它可以从存储在res / raw中的XML文件中复制规则,用户以后可以更新那些规则或下载某些其他国家/地区的规则。

正如我所说,我已将现有的XML文件放在res / raw中,但问题是当用户下载新的或更改的规则集时,应用程序无法更改或存储资源中的文件(如果我错了,请纠正我)。 / p>

所以我现在有两个选择,我不喜欢任何一个。我想听听你对此事的看法。

a)我可以将XML文件保存为本地文件,但是我必须从res / raw读取默认规则并在应用程序安装时将它们复制到文件系统中,或者跟踪两个单独的文件串。安装应用程序时是否可以在文件系统上预先包含文件?

b)我可以将XML代码保存在数据库中,但也可以在安装时从文件中复制它。或者更糟糕的是在类中将XML编码为String以在安装时插入它?

如果问题太长或不清楚,我道歉,英语不是我的母语,这是我的第一个问题。

1 个答案:

答案 0 :(得分:0)

我不确定我是否理解你,但你可以将XML文件存储在应用程序的内部数据存储中。 - > http://developer.android.com/guide/topics/data/data-storage.html

如果要在安装时附加第一个XML文件版本,请先将其存储在资源中,然后在安装后将其复制到内部数据存储中。在更新XML文件时,您只需在内部数据存储中覆盖此文件。

希望我能帮到你,这是我在stackoverflow上的第一个答案。如果我告诉你你已经知道的事情,我很抱歉。