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

Android 选择正确的数据存储替代方案,android,xml,sqlite,Android,Xml,Sqlite,我正在编写一个android应用程序来解析短信。我需要为不同的国家制定不同的规则,我的想法是为我的国家和后来的开源项目定义规则,以便其他用户可以为他们的国家制定规则。在我看来,XML格式是定义这些规则最方便的格式 因此,我有一个应用程序,它可以从存储在res/raw中的XML文件中提取规则,用户稍后可以更新这些规则集,或者在这些规则可用时下载其他国家的规则 正如我所说,我已经将现有的XML文件放在res/raw中,但问题是当用户下载新的或更改的规则集时,应用程序无法更改或将文件存储在资源中(如果

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

因此,我有一个应用程序,它可以从存储在res/raw中的XML文件中提取规则,用户稍后可以更新这些规则集,或者在这些规则可用时下载其他国家的规则

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

所以我现在有两个选择,我不喜欢任何一个。我想听听你对这件事的意见

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

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


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

我不确定我是否理解您的意思,但您可以将XML文件存储在应用程序的内部数据存储中。-->

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


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

一年前这对我来说是个难题,但我仍然会接受这个答案。欢迎来到SO