私のアプリケーションにIsolatedStorageSettings.ApplicationSettingsを使用しています。WP7アプリケーションで隔離されたストレージが持続しないのはなぜですか?
public IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings;
private void Application_Launching(object sender, LaunchingEventArgs e)
{
if (settings.Contains("myObjList"))
{
App.ObjList = (ObservableCollection<myObj>)settings["myObjList"];
}
else
{
settings.Add("myObjList", App.ObjList);
}
}
private void Application_Activated(object sender, ActivatedEventArgs e)
{
if (settings.Contains("myObjList"))
{
App.ObjList = (ObservableCollection<myObj>)settings["myObjList"];
}
else
{
settings.Add("myObjList", App.ObjList);
}
}
private void Application_Deactivated(object sender, DeactivatedEventArgs e)
{
settings["myObjList"] = App.ObjList;
settings.Save();
}
private void Application_Closing(object sender, ClosingEventArgs e)
{
settings["myObjList"] = App.ObjList;
settings.Save();
}
このすべては、すべての新しいアプリケーションでデフォルトで作成されたApp.xaml.csファイルで発生して次のように分離ストレージに関連したすべてのコードが、私のApplication_LaunchingにApplication_Activated、Application_Closing、およびApplication_Deactivated方法を発生します。
私は窓のボタンを使用することによってだけでなく、[戻る]ボタンを使用してアプリケーションを終了しようとしています。エミュレータを起動したまま、戻るボタンを使用してアプリケーションを再度開き、アプリケーションリストに移動して開きます。
私が午前問題は、負荷や活性化settings.Containsに[「myObjList」]がfalseを返すと、再びすべての上の設定にキーを追加するために進めているということです。
私の設定キー(および値)が永続化されていない理由を誰が見るのか?
ありがとう!私は実際にmyObjListを使用していません、私はそれを私の例として挙げています。あなたの他の点については、それらを考慮に入れてください。 – andersra
また、私を#3のチュートリアル/例にリンクしてもよろしいですか?私はxmlのシリアル化またはバイナリのどちらを取るべきかについて迷っています... – andersra
これは、IsolatedStorageで始めることができます:http://www.jeffblankenburg.com/post/31-Days-of-Windows-Phone- 7c-Day-15-Isolated-Storage.aspx、これはDataContractSerializerの良い例です:http://onishimura.com/2010/07/25/windows-phone-7-tutorial-creating-a-simple-notes -app-with-silverlight-part-1/ –