Windows Phone 7 在独立存储(Isolated Storage)

2024-03-26 15:18

本文主要是介绍Windows Phone 7 在独立存储(Isolated Storage),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Windows Phone 7 在独立存储(Isolated Storage)功能方面提供了两种数据存储方法:文件存储(aspx" target=_blank>IsolatedStorageFile)、键/值存储(IsolatedStorageSettings)。通过独立存储我们能够对应用程序数据进行保存,例如:用户设置、程序运行状态等。本篇主要讲解IsolatedStorageSettings 使用方法。

 

     IsolatedStorageSettings 实际上是提供了一个Dictionary<TKey, TValue> 泛型类,通过键值Tkey 与数值TValue 的映射将应用程序的数据存储起来。首先在程序中通过IsolatedStorageSettings 类创建一个全局settings,同时再定义一个整型变量以便后续测试。

IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings;
int testInt = 10;
 

添加两个按键:一个用来为testInt 执行“+1”操作,另一个用来显示当前testInt 的值。

 

private void addBtn_Click(object sender, RoutedEventArgs e)
{testInt++;
}
private void showBtn_Click(object sender, RoutedEventArgs e)
{MessageBox.Show(testInt.ToString());
}
 

     接下来再添加一个Save 按键,用于保存testInt 数值和TextBox 数值。先使用Contains(string key) 方法检查当前是否存在“textbox”键值,如果没有则使用Add(string key, object value) 方法添加该键值,键对应的数值类型可按开发需要自行定义,本例中则使用了String 和Int 两种类型。

 

private void saveBtn_Click(object sender, RoutedEventArgs e)
{if (!settings.Contains("textbox")){settings.Add("textbox", textBox.Text);}else{settings["textbox"] = textBox.Text;}if (!settings.Contains("integer")){settings.Add("integer", testInt);}else{settings["integer"] = testInt;}
}
 

     当每次重新启动程序时,可以直接从settings 中获取相应数据。为保险起见使用TryGetValue<T>(string key, out T value) 获取指定键的值,若键值不存在会返回False。

 

public MainPage()
{InitializeComponent();string textVal;if (settings.TryGetValue<string>("textbox", out textVal)){textBox.Text = textVal;}else{textBox.Text = "No Text";}int intVal;if (settings.TryGetValue<int>("integer", out intVal)){testInt = intVal;}else{testInt = 10;}
}
 
 详细实例 http://msdn.microsoft.com/zh-cn/library/system.io.isolatedstorage.isolatedstoragefile(v=VS.95).aspx

这篇关于Windows Phone 7 在独立存储(Isolated Storage)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/848928

相关文章

Linux挂载linux/Windows共享目录实现方式

《Linux挂载linux/Windows共享目录实现方式》:本文主要介绍Linux挂载linux/Windows共享目录实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录文件共享协议linux环境作为服务端(NFS)在服务器端安装 NFS创建要共享的目录修改 NFS 配

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决

《MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决》MyBatis默认开启一级缓存,同一事务中循环调用查询方法时会重复使用缓存数据,导致获取的序列主键值均为1,... 目录问题原因解决办法如果是存储过程总结问题myBATis有如下代码获取序列作为主键IdMappe

k8s搭建nfs共享存储实践

《k8s搭建nfs共享存储实践》本文介绍NFS服务端搭建与客户端配置,涵盖安装工具、目录设置及服务启动,随后讲解K8S中NFS动态存储部署,包括创建命名空间、ServiceAccount、RBAC权限... 目录1. NFS搭建1.1 部署NFS服务端1.1.1 下载nfs-utils和rpcbind1.1

Oracle数据库在windows系统上重启步骤

《Oracle数据库在windows系统上重启步骤》有时候在服务中重启了oracle之后,数据库并不能正常访问,下面:本文主要介绍Oracle数据库在windows系统上重启的相关资料,文中通过代... oracle数据库在Windows上重启的方法我这里是使用oracle自带的sqlplus工具实现的方

Redis高性能Key-Value存储与缓存利器常见解决方案

《Redis高性能Key-Value存储与缓存利器常见解决方案》Redis是高性能内存Key-Value存储系统,支持丰富数据类型与持久化方案(RDB/AOF),本文给大家介绍Redis高性能Key-... 目录Redis:高性能Key-Value存储与缓存利器什么是Redis?为什么选择Redis?Red

MyBatis-plus处理存储json数据过程

《MyBatis-plus处理存储json数据过程》文章介绍MyBatis-Plus3.4.21处理对象与集合的差异:对象可用内置Handler配合autoResultMap,集合需自定义处理器继承F... 目录1、如果是对象2、如果需要转换的是List集合总结对象和集合分两种情况处理,目前我用的MP的版本

使用SpringBoot+InfluxDB实现高效数据存储与查询

《使用SpringBoot+InfluxDB实现高效数据存储与查询》InfluxDB是一个开源的时间序列数据库,特别适合处理带有时间戳的监控数据、指标数据等,下面详细介绍如何在SpringBoot项目... 目录1、项目介绍2、 InfluxDB 介绍3、Spring Boot 配置 InfluxDB4、I

Windows环境下解决Matplotlib中文字体显示问题的详细教程

《Windows环境下解决Matplotlib中文字体显示问题的详细教程》本文详细介绍了在Windows下解决Matplotlib中文显示问题的方法,包括安装字体、更新缓存、配置文件设置及编码調整,并... 目录引言问题分析解决方案详解1. 检查系统已安装字体2. 手动添加中文字体(以SimHei为例)步骤

SpringBoot3.X 整合 MinIO 存储原生方案

《SpringBoot3.X整合MinIO存储原生方案》本文详细介绍了SpringBoot3.X整合MinIO的原生方案,从环境搭建到核心功能实现,涵盖了文件上传、下载、删除等常用操作,并补充了... 目录SpringBoot3.X整合MinIO存储原生方案:从环境搭建到实战开发一、前言:为什么选择MinI