Windows Phone 隔離儲存區 (Isolated Storage)之IsolatedStorageSettings

來源:互聯網
上載者:User

  Isolated Storage[隔離儲存區 (Isolated Storage)]有兩種方式在本機存放區你的資料。第一是通過庫中的鍵/值對,叫做IsolatedStorageSettings。第二是通過建立真實的檔案和目錄,叫做IsolatedStorageFile。
  IsolatedStorageSettings允許你在一個字典中儲存鍵/值對(注意,無需任何設定),然後再讀取出來。這些資料會一直儲存著,無論應用程式停止/啟動,或者關機等等。除非你刪除它,或者使用者卸載你的應用程式,否則它一直存在。但是在它被添加到字典中之前是無法讀取的。
  IsolatedStorageSettings可提供一種將使用者特定資料存放區為本地 IsolatedStorageSettings中的鍵/值對的便捷方法。一種典型的用途是儲存設定資訊。並且這裡所能儲存的索引值對中的“值”不只限於字串,而且可以是一個執行個體化對象。下面就分別介紹如何儲存字串和執行個體化的對象。
  一,字串類型資料處理
  1.儲存鍵/值對

View Code

 1             //擷取IsolatedStorageSettings
2 var settings = IsolatedStorageSettings.ApplicationSettings;
3 //定義需要儲存的鍵/值對
4 String key = "username";
5 String value = "宇之樂";
6 //判斷是否已經存在,存在修改,不存在添加
7 if (settings.Contains(key))
8 {
9 settings[key] = value;
10 }
11 else
12 {
13 settings.Add(key, value);
14 }
15 //儲存資訊,如果不調用的話,重啟後資料會丟失
16 settings.Save();

  2.擷取資料

View Code

            String key = "username";
String value = String.Empty;
try
{
//從IsolatedStorageSettings擷取字串資訊
var settings = IsolatedStorageSettings.ApplicationSettings;
bool isFind = settings.TryGetValue(key, out value);
if (!isFind)
{
value = String.Empty;
}
}
catch (System.Exception ex)
{
//未找到
}

  二,執行個體化對象的處理
  1.定義對象

View Code

    [DataContract]
public class UserInfo
{
[DataMember]
public String UserName { get; set; }
[DataMember]
public String BlogAddress { get; set; }
}

  注意:此處必須使用[DataContract](資料契約)和[DataMember],只有這樣序列化的對象的執行個體才可以儲存到IsolatedStorageSettings中。使用[DataContract]需要添加引用System.Runtime.Serialization。
  2.儲存執行個體化對象

View Code

            //擷取IsolatedStorageSettings
var settings = IsolatedStorageSettings.ApplicationSettings;
//定義需要儲存的key
String key = "username";
//執行個體化對象
UserInfo user = new UserInfo();
user.UserName = "宇之樂";
user.BlogAddress = "http://www.cnblogs.com/huizhang212/";
try
{
//判斷是否已經存在,存在修改,不存在添加
if (settings.Contains(key))
{
settings[key] = user;
}
else
{
settings.Add(key, user);
}
//儲存資訊,如果不調用的話,重啟後資料會丟失
settings.Save();
}
catch (System.Exception ex)
{
//儲存失敗,如果儲存的是未執行個體化的對象,會報異常
}

  3.擷取儲存的執行個體化對象

View Code

            String key = "username";
UserInfo user = null;
//從IsolatedStorageSettings擷取字串資訊
var settings = IsolatedStorageSettings.ApplicationSettings;
if (settings.Contains(key))
{
user = settings[key] as UserInfo;
}

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.