UWP入門——應用數據和設置


數據有兩個基本的分類,應用數據和用戶數據,而用戶數據則為由用戶擁有的數據,如文檔,音樂或電子郵件等,下面將大致的介紹一下應用數據的基本操作。

應用數據:應用數據包含APP的狀態信息(如運行時狀態,用戶設置等),包括設置和文件,應用數據在應用程序安裝時有自己的存儲區域,而在卸載時會清空

  • 設置:存儲用戶首選項和應用程序狀態,可存儲多種數據類型
    • UInt8、Int16、UInt16、Int32、UInt32、Int64、UInt64、Single、Double
    • Boolean
    • Char16 和 String
    • DateTime 和 TimeSpan
    • GUID、Point、Size、Rect
    • ApplicationDataCompositeValue:一組必須按原子方式序列化和反序列化的相關應用設置。使用復合設置可輕松處理相互依賴的設置的原子更新。系統會在並發訪問和漫游時確保復合設置的完整性。復合設置針對少量數據進行了優化,如果將它們用於大型數據集,性能可能很差。
  • 文件:使用文件存儲二進制文件,或自定義的序列化類型

   

上面提到過應用數據包括設置和文件

而應用數據根據存儲的性質又分為三類:

  • 本地數據
  • 漫游數據:用戶可輕松地在多個設備之間保持應用的應用數據同步
  • 臨時數據:臨時應用數據存儲類似於緩存

所以相應的就有本地設置和本地文件,漫游設置和漫游文件,臨時設置和臨時文件

   

不同類型的設置和文件的API如下:

  • 本地設置:ApplicationData.Current.LocalSettings
  • 本地文件:ApplicationData.Current.LocalFolder
  • 漫游設置:ApplicationData.Current.RoamingSettings
  • 漫游文件:ApplicationData.Current.RoamingFolder
  • 臨時設置:ApplicationData.Current.TemporarySettings
  • 臨時文件:ApplicationData.Current.TemporaryFolder

   

設置的基本操作

設置是一個ApplicationDataContainer類型的對象,關於ApplicationDataContainer類的介紹請參照官方文檔 ,這里只是介紹一些簡單的操作。

   簡單設置

     ApplicationDataContainer localSettings = ApplicationData.Current.LocalSettings;//獲取本地設置,你也可以獲取漫游設置和臨時設置,后面的操作都一樣
            localSettings.Values["theme"] = "Light";//在本地設置中添加一個設置項,類似字典賦值方式,theme是localSettings里面的key,而"Light"是值,可以設置的類型在上面已經列出
            localSettings.Values.Remove("theme");//刪除設置項
            string theme = localSettings.Values["theme"] as string;//讀取設置項
 ApplicationDataCompositeValue simpleSettings = new ApplicationDataCompositeValue();//創建簡單設置的容器
            simpleSettings["theme"] = "Light"; simpleSettings["FontFamily"] = "微軟雅黑"; localSettings.Values["SimpleSettings"] = simpleSettings;//將復合設置項添加到上面獲取的本地設置中
 ApplicationDataCompositeValue advanceSettings = new ApplicationDataCompositeValue();//創建簡單設置的容器
            advanceSettings["IsSync"] = false; localSettings.Values["AdvanceSettings"] = advanceSettings;

這樣就可以實現設置項的復合操作,具體操作參照:https://msdn.microsoft.com/zh-cn/library/windows/apps/xaml/windows.storage.applicationdatacontainer.aspx

文件的基本操作

與文件操作相關的兩個基本的類是StorageFileStorageFoler

 StorageFolder folder = ApplicationData.Current.LocalFolder;//獲得本地文件夾 StorageFile file = await folder.CreateFileAsync("first.txt", CreationCollisionOption.OpenIfExists);//創建文件 await FileIO.WriteTextAsync(file, "文本的內容");//使用FileIO將字符串寫入文件  StorageFile fileOpen = folder.GetFileAsync("first.txt"); string content = await FileIO.ReadTextAsync(fileOpen);//讀取文本  

以上操作稍作修改就可應用於漫游數據和臨時數據,漫游數據可以實現多設備間的數據同步,但是數據同步有一定的條件。臨時數據類似於緩存,可用於保存一些緩存數據,如微博里的圖片緩存等,系統維護時會自動刪除,或者可以隨時手動刪除。

除了對數據的操作之外,你也可以對數據進行版本控制:使用Application.Version屬性和ApplicationData.SetVersionAsync

 

以上只是對應用數據的一些簡單操作,熟悉這些操作后你可以實現更高級的操作,具體的操作可以參照官方文檔應用數據和設置

光說不練假把式,所以如果你看了上述操作后如果不太明白的話那就直接擼代碼,練習中慢慢就會明白,同時如果你發現上述任何錯誤歡迎指正。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM