WinStore之Application Data

1、Application Data簡介windows

  Applicaion Data至關於桌面應用的註冊表,存儲一些用戶配置信息,如運行時狀態,用戶喜愛等,須要注意的時,當卸載應用時,這些數據會被刪除,因此不要存儲重要數據。服務器

  Applicaion Data即便在應用更新之後也不會丟失,有一個版本控制。app

2、按用途分類ui

  •   local 本地數據  只保存在當前設備.
  •   roaming 漫遊數據 安裝了的此用戶的應用均可以同步。windows會自動幫你同步數據到微軟的雲服務器,可是會限制大小。若是用戶30天內不用這些數據(例如程序卸載),會被服務器刪除。
  •   temporary 臨時數據  隨時均可能被系統刪除的數據.

3、按存儲方式分類 this

  App settingsspa

  •   用來保存配置數據,最深32層,不限數量,能夠保存在本地且能夠漫遊。
  •   AppSettings支持除二進制外的全部WinRT數據格式,若是存儲二進制數據得用文件。
  •   系統只驗證數據格式和長度,不驗證數據是否正確。

  用ApplicationData.LocalSettings這個靜態屬性來取得ApplicationDataContainer類類型的配置。版本控制

  App Filescode

  •   根目錄下有三個系統自定義的文件夾:本地,漫遊,臨時。
  •   能夠本身建文件夾,可是最多不超過32層,一樣不限數量。

     用ApplicationData.LocalFolder這個靜態屬性來取StorageFolder類型的文件。blog

4、代碼示例get

  存儲本地數據

複製代碼
        ApplicationDataContainer localSettings = ApplicationData.Current.LocalSettings;//存儲單一配置的句柄
        ApplicationDataCompositeValue composite = new ApplicationDataCompositeValue();//存儲多項配置句柄 StorageFolder localFolder = ApplicationData.Current.LocalFolder;//存儲文件句柄
      localSettings.Values[ "exampleSetting"] = "Hello Windows";;//存儲單一配置       composite["intVal"] = 1;       composite["strVal"] = "string";       localSettings.Values["exampleCompositeSetting"] = composite;//存儲多項配置
複製代碼

 

  創建配置層級

複製代碼
ApplicationDataContainer container = 
   localSettings.CreateContainer("exampleContainer", ApplicationDataCreateDisposition.Always); if (localSettings.Containers.ContainsKey("exampleContainer")) { localSettings.Containers["exampleContainer"].Values["exampleSetting"] = "Hello Windows"; }
複製代碼

  讀取配置  

  

複製代碼
Object value = localSettings.Values["exampleSetting"];//a setting  ApplicationDataCompositeValue composite = (ApplicationDataCompositeValue)localSettings.Values["exampleCompositeSetting"]; if (composite == null) { // No data } else { // Access data in composite["intVal"] and composite["strVal"] } bool hasContainer = localSettings.Containers.ContainsKey("exampleContainer"); bool hasSetting = false; if (hasContainer) { hasSetting = localSettings.Containers["exampleContainer"].Values.ContainsKey("exampleSetting"); }
複製代碼

  刪除配置

複製代碼
localSettings.Values.Remove("exampleSetting"); //ApplicationDataContainerSettings.Remove  localSettings.Values.Remove("exampleCompositeSetting"); //ApplicationDataCompositeValue.Remove  localSettings.DeleteContainer("exampleContainer"); //ApplicationDataContainer.DeleteContainer 
複製代碼
相關文章
相關標籤/搜索