應用設置存儲主要分爲本地存儲和漫遊存儲兩種方式。本地存儲是指將應用的設置信息存儲在本地存儲空間中,而漫遊存儲則是指將應用的設置信息存儲在網絡服務器中,相對於本地存儲而言,漫遊存儲支持多臺設備之間的應用設置同步,更加靈活也更加方便。本節內容以本地存儲方式爲例,介紹如何獲取及更改本地存儲中的應用程序設置信息。windows
(1)應用設置容器獲取服務器
系統使用應用設置容器ApplicationDataContainer來保存應用的設置信息,獲取應用設置容器是得到應用設置信息的第一步,在獲取到應用設置容器以後纔可以對其中保存的應用設置信息進行各類操做,例如寫入、刪除等,能夠像下面這樣獲取當前應用的應用設置容器。網絡
//得到本地應用設置容器app
Windows.Storage.ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;spa
(2)應用設置容器操做orm
介紹瞭如何獲取當前應用的應用設置容器以後,下面來介紹如何嚮應用設置容器中寫入應用的設置信息。對象
容器中的設置信息是以鍵值對形式存儲的,包含兩種類型的鍵值對設置信息,簡單鍵值對和複合鍵值對。相應的,對於設置信息的寫入、刪除等操做來講,根據設置信息的不一樣類型,也分爲簡單鍵值對和複合鍵值對兩種操做方式,接下來詳細介紹這兩種設置信息類型及其相應的操做方式,因爲本地和漫遊應用設置信息的讀寫方法相同,下面將主要以本地應用設置爲例,從設置信息寫入開始,陸續對設置信息的有關操做進行講解,首先來看簡單鍵值對設置信息的有關操做。ci
q 簡單鍵值對element
想要寫入設置信息,須要首先使用上面已經介紹的方法得到應用設置容器,並指定用來保存設置信息的鍵,而後使用應用設置容器的Values屬性以鍵值對形式保存設置信息,如下示例代碼在test鍵中保存設置信息「localSettingsTest!」。rem
//獲取本地應用程序設置的容器
Windows.Storage.ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
//建立名爲「test」的鍵
String name = "test";
//將這個鍵賦值爲「localSettingsTest!」
localSettings.Values[name] = "localSettingsTest!";
在成功寫入簡單鍵值對設置信息以後,若是想要查看它,一樣能夠經過應用設置容器的Values屬性得到其中的設置信息,下面的示例代碼獲取localSettings容器中與test鍵對應的設置信息。
Object value = localSettings.Values["test"];
另外,若是想要刪除應用設置容器中的設置信息,能夠以存儲設置信息的鍵爲參數調用Remove方法,示例代碼以下所示:
localSettings.Values.Remove("test");
q 複合鍵值對
介紹了簡單鍵值對設置信息的寫入、讀取和刪除操做以後,如今來看複合鍵值對設置信息的有關操做。
與簡單鍵值對設置信息類似,想要寫入複合鍵值對設置信息,首先須要得到應用設置容器,指定用來存儲複合鍵值對設置信息的鍵,但不一樣的是,除此以外還須要新建ApplicationDataCompositeValue類的對象,並在這個對象中存儲複合鍵值對設置信息,而後再將這個對象做爲一個總體保存到應用設置容器中。示例代碼以下所示:
Windows.Storage.ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
String containerName = "compositegTestSetting";
String intName = "intValue";
String stringName = "stringValue";
ApplicationDataCompositeValue composite = new ApplicationDataCompositeValue();
//整型鍵值對
composite[intName] = 1;
//字符串類型鍵值對
composite[stringName] = "I am String!";
//複合鍵值對
localSettings.Values[containerName] = composite;
讀取複合鍵值對設置信息,依然使用ApplicationDataContainer類的Values屬性,示例代碼以下所示:
//讀取複合鍵值對設置信息
Windows.Storage.ApplicationDataCompositeValue composite =
(Windows.Storage.ApplicationDataCompositeValue)localSettings.Values["compositegTestSetting"];
if (composite == null)
{
// 沒有數據
}
else
{
// 獲取 composite["intValue "]和composite["strValue "]中的數據
}
而對於複合鍵值對設置信息的刪除,則一樣可經過使用應用設置容器的Remove方法得以實現。代碼以下所示:
//刪除複合的鍵值對
localSettings.Values.Remove("compositegTestSetting");