我是Windows Phone 8中的新手。我有一个应用程序,在关闭应用程序之前需要商店计数器值。当我再次启动应用程序计数器时,如果日期相同,应用程序关闭的那个值开始。如果日期与计数器以0开头不相同。
答案 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"];
不要忘记转换检索到的值,因为只存储了对象。