为我的应用程序保存用户数据



我想知道为我正在开发的应用程序保存所有用户数据的正确方法是什么。该应用程序在QT中。用户将大量数据输入到应用程序中,每个用户的数据都会有所不同。我希望用户能够将所有当前数据保存到一个文件中,一旦用户想再次使用该文件或在运行该应用程序的另一台计算机上使用该文件,该文件就可以由应用程序再次加载。

什么是正确和最好的方法?我需要使用xml格式吗?然后使用QT的xmlreader?或者我只需要创建自己的文件格式,然后使用流读取所有内容。文件中的数据需要标记,因为它需要将数据放在gui上的某些位置。用户可以选择动态创建包含特定信息的框和选项卡。

如果你需要更多信息,请告诉我。


一个简短的例子:

我不仅仅是在阅读gui的位置。但是这些内容。对于例子用户可以创建包含编辑文本框的选项卡。和这些选项卡与项目相关联在列表中。当用户单击用户列表中的项目将提供一整套新选项卡。每个标签都有一些编辑表单。该文件需要包含列表中的内容、选项卡用户已在每个项目下创建以及每个列表的内容与每个的选项卡关联的选项卡项目。

在essense中,是的,您将创建自己的文件格式,但实际内容可以是XML,无论您需要什么方案。然后,您可以使用Qt内置的XML处理功能来繁重地解析文本(我个人更喜欢DOM模型,所以我使用QDomDocument作为基点),您只需要担心在各个节点之间解析内容。

如果我没记错的话,Qt框架有一些很棒的XML示例,它们几乎立即帮助我起步。希望他们能帮忙!

另一个很好的解决方案是使用内部数据库实现(sqlite之上的QSQL)。与xml解决方案相比,它可能更通用(需要时进行更新,可以使用外部密钥)。Qt有一些很好地使用它的例子。

在依赖性方面,XML解决方案将要求您使用XML和xmlpattern(如果您想验证内容),而sqlite解决方案将需要QSQL+sqlite插件。我认为sqlite保证了写入的原子性,从而防止了数据的损坏(想想:用户在保存应用程序时正在杀死它)。

相关内容

  • 没有找到相关文章

最新更新