[英]Event to save/read list data in UWP app
我正在編寫一個 UWP 應用程序來學習新的 UWP 平台。 我的應用程序的主頁是用戶可以編輯的列表(經典命令,如添加/編輯/刪除 + 重新排序)。 我需要在用戶離開應用程序時根據用戶的選擇將這些項目保存到本地存儲或 OneDrive,並在用戶返回應用程序時恢復這些項目。
顯然,我們可以做到這一點的最佳時刻是應用程序的主屏幕被激活或停用的時候。 問題是:什么活動最適合我的目的?
在學習了UWP平台的一些基礎知識后,發現VS2015 UWP Blank App模板提供的OnSuspending/OnLaunched事件並不是保存列表數據的合適事件。 那什么事件呢? 頁面的 OnNavigatedFrom/OnNavigatedTo 我曾經在 WP8 Silverlight 應用程序中使用過? 或者我可以使用新的 UWP 平台中的其他事件來滿足我的需求?
我以前做過類似的事情。
在我的場景中,我需要將數據保存在 OnDrive 或保存在本地文件夾(存儲文件夾)中
我有同樣的問題,我用這樣的方法解決了我的問題:
我使用了一個在后台運行的計時器,每 2 分鍾或 5 分鍾自動保存所有更改。
我添加了使用按鈕手動保存數據的可能性,以防萬一用戶想要手動保存他的數據。
使用這種技術,我阻止了每次用戶更改某些屬性或添加另一個項目時始終連接到 OneDrive 或將數據保存在本地存儲中。
為了獲取數據,我總是使用 OnNavigatedTo 來加載所有項目。
為了在用戶關閉或離開應用程序后保存所有數據,我喜歡使用后台任務將本地存儲中所有最后保存的數據與 Ondrive 同步(實際上我只是替換數據)
此致
你提到了以下幾點:
我看到 VS2015 UWP Blank App 模板提供的 OnSuspending/OnLaunched 事件不是保存列表數據的合適事件。
哪些事情讓您懷疑 OnSuspending/OnLaunched 是否不是處理此問題的正確方法?
我總結一下:
為了保存,請使用Application.Suspending 。 如果需要,請使用ExtendedExecution 。
對於加載,請使用Application.OnLaunched 。 檢測 PreviousExecutionState 並在需要時恢復。
對於測試,請使用“暫停和關閉” :
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.