永久存储价值

时间:2013-09-09 11:17:10

标签: windows-phone-7 isolatedstorage

我是Windows Phone 8中的新手。我有一个应用程序,在关闭应用程序之前需要商店计数器值。当我再次启动应用程序计数器时,如果日期相同,应用程序关闭的那个值开始。如果日期与计数器以0开头不相同。

2 个答案:

答案 0 :(得分:0)

将数据存储在手机中隔离存储,如果您是平台新手,建议您浏览31 days of windows phone tutorials here

具体来说,请阅读隔离存储here

为您的数据结构定义一个类,或者如果您愿意,可以使用KeyValue对

 public class AppCounter 
 {
   public Datetime CountDate {get;set;}
   public int Counter {get;set;}
 }

在App.cs中,读取此值并根据需要增加

    // Code to execute when the application is launching (for example, from Start)
    // This code will not execute when the application is reactivated.
    private void Application_Launching(object sender, LaunchingEventArgs e)
    {
        ////read instance of AppCounter in IsolatedStorage, if empty initialize for first use and store
        //var appCounter = ReadValue;

      if(appCounter == null) appCounter = new AppCounter();

      if(appCounter.Date != DateTime.Now.Date){
         appCounter.Date = DateTime.Now.Date
         appCounter.Counter++;

        //Save appCounter to Isolated Storage
     }
}

记住不要在此方法中执行任何繁重的内存密集型任务,如果在此处完成任何代码或使用太多内存需要太多时间,操作系统将终止您的应用程序。

答案 1 :(得分:0)

IsolatedStorageSettings提供了一个简单的字典来为您的应用程序持久存储键值(字符串 - 对象)对。

IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings;

// save a value
settings["CounterValue"] = cntVal;

// load a value
int cntVal = (int)settings["CounterValue"];

不要忘记转换检索到的值,因为只存储了对象。