簡體   English   中英

在 Firemonkey 移動應用程序中保存對象本地數據的最佳方法是什么?

[英]What is the best method to save Objects local data in Firemonkey mobile app?

在我的應用程序中,我從 RESTServer 獲得了 JSON 響應。 然后我將它們轉換為數據對象,將它們存儲在 TObjectList 中,然后將列表綁定到 TListBindSourceAdapter 進行顯示。

我想將 TObjectList 數據保存到本地存儲。 我的問題是:保存它的最佳方法是什么?

我嘗試創建一個 SQLite DB ,我可以將記錄保存到 SQLite DB 中,但是它需要在代碼中手動將我的 TObjectList 轉換為 DB 記錄,當我檢索時,我需要將其轉換回數據對象。 它涉及更多的開發工作。

還是我應該使用SaveState 我可以使用 SaveState 將本地數據保存為字符串。 我可以嘗試使用 TJson.ObjectToJson 將數據對象轉換為 JSON 並保存。 為此,我可以將 TObjectList 保存到數組中,將其存儲到數據對象中並轉換為 JSON。 檢索時我可以使用 TJson.JsonToObject 轉換回來。

或者有什么更好的方法可以做到這一點? Firemonkey 有保存本地數據的通用方法嗎? 是否有類似於 Angular 中的狀態管理的東西?

最后,我使用 SaveState 將我的數據保存到本地。 由於我嘗試並發現使用 SaveState 開發速度更快且更易於開發。

使用 saveState 而不是保存到本地數據庫的缺點是,SaveState 僅在應用程序表單關閉時或在移動應用程序中,當應用程序停用時發生。 如果手機應用中的應用直接被殺死而不是去激活,則不會調用SaveState,數據可能會丟失。 相反,可以隨時手動調用保存到本地數據庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM