【发布时间】:2019-01-21 21:35:51
【问题描述】:
在我的应用程序中,我收到了来自 RESTServer 的 JSON 响应。然后我将它们转换成数据对象,将它们存储在 TObjectList 中,然后将列表绑定到 TListBindSourceAdapter 进行显示。
我想将 TObjectList 数据保存到本地存储。我的问题是:保存它的最佳方法是什么?
我尝试创建 一个 SQLite DB,我可以将记录保存到 SQLite DB,但它需要在代码中手动将我的 TObjectList 转换为 DB 记录,当我检索时我需要将它转换回数据对象。它涉及更多的开发工作。
或者我应该使用 SaveState 吗?我可以使用 SaveState 将本地数据保存为字符串。我可以尝试使用 TJson.ObjectToJson 将数据对象转换为 JSON 并保存。为此,我可以将 TObjectList 保存到 Array 中,将其存储到数据对象中并转换为 JSON。检索时我可以使用 TJson.JsonToObject 转换回来。
或者有更好的方法吗?在 Firemonkey 中保存本地数据有通用方法吗?有没有类似于 Angular 中的状态管理的东西?
【问题讨论】:
-
本地缓存 HTTP 响应可能是另一种选择
-
如果您需要持久存储,那么 SQLite 可以使用。您可以从 JSON 直接存储到 TDataSets。
-
也许你可以直接保存你的json响应?因为您已经解析了它们,所以当您从磁盘中获取它们时无需重做该过程
标签: delphi firemonkey