Windows 8 应用开发 - 本地数据存储

简介:
     在应用中通常会遇到用户主动或被动存储信息的情况,当应用关闭后这些数据仍然会存储在本地设备上,用户下次重新激活应用时会自动加载这些数据。下面将通过一个小实例演示如何把用户数据存储到本地,首先在Windows 8 应用中创建两个输入框:姓名、年龄。

<StackPanel Grid.Row="1" Margin="120,30,0,0">
    <StackPanel Orientation="Horizontal" Margin="0,20,0,20">
        <TextBlock Text="Name: " Style="{StaticResource BasicTextStyle}" Width="50"/>
        <TextBox x:Name="nameInput" Width="200"/>
    </StackPanel>
    <StackPanel Orientation="Horizontal" Margin="0,20,0,20">
        <TextBlock Text="Age: " Style="{StaticResource BasicTextStyle}" Width="50"/>
        <TextBox x:Name="ageInput" Width="200"/>
    </StackPanel>
    <StackPanel Orientation="Horizontal" Margin="0,20,0,20">
        <Button Content="Save" Click="Save_Button_Click"/>
        <Button Content="Reset" Click="Reset_Button_Click"/>
    </StackPanel>
</StackPanel>
      打开MainPage .xaml.cs 为了使用数据存储API,先添加using Windows.Storage 命名空间。在MainPage中使用ApplicationData.LocalSettings属性获取到应用设置本地存储空间。

ApplicationDataContainer localSettings = ApplicationData.Current.LocalSettings;
接下来在Save_Button_Click 事件中为localSettings 设置两个数值分别存储Name 和Age 数据。

private void Save_Button_Click(object sender, RoutedEventArgs e)
{
    localSettings.Values["name"] = nameInput.Text;
    localSettings.Values["age"] = ageInput.Text;
}
     下面要做的就是在应用激活时将已经保存在本地的数据加载进来,在MainPage .xaml.cs 程序中已经有一个LoadState 方法用来加载应用数据或状态,我们可以在这里完成数据的加载工作。

protected override void LoadState(Object navigationParameter, Dictionary<String, Object> pageState)
{
    
    if (localSettings.Values.ContainsKey("name"))
    {
        nameInput.Text = localSettings.Values["name"].ToString();
    }

    if (localSettings.Values.ContainsKey("age"))
    {
        ageInput.Text = localSettings.Values["age"].ToString();
    }
}
     本地数据存储用于保存例如应用设置相关的重要信息,当然这些数据是留存本地设备中的,如果这些数据不再使用时也可以进行消除操作。如下代码就是将之前的姓名和年龄信息进行删除,数据删除后重新激活应用将无法加载。

private void Reset_Button_Click(object sender, RoutedEventArgs e)
{
    localSettings.Values.Remove("name");
    localSettings.Values.Remove("age");
    nameInput.Text = "";
    ageInput.Text = "";
}
源码下载




http://sdrv.ms/RxauDH







本文转自Gnie博客园博客,原文链接:http://www.cnblogs.com/gnielee/archive/2012/11/03/windows8-app-develop-local-storage.html,如需转载请自行联系原作者

相关文章
|
3月前
|
Linux C++ Windows
【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
【Azure 应用服务】Azure App Service(Windows)环境中如何让.NET应用调用SAP NetWeaver RFC函数
|
10天前
|
安全 前端开发 Windows
Windows Electron 应用更新的原理是什么?揭秘 NsisUpdater
本文介绍了 Electron 应用在 Windows 中的更新原理,重点分析了 `NsisUpdater` 类的实现。该类利用 NSIS 脚本,通过初始化、检查更新、下载更新、验证签名和安装更新等步骤,确保应用的更新过程安全可靠。核心功能包括差异下载、签名验证和管理员权限处理,确保更新高效且安全。
23 4
Windows Electron 应用更新的原理是什么?揭秘 NsisUpdater
|
4月前
|
存储 算法 C++
【Qt应用开发】复刻经典:基于Qt实现Windows风格计算器(加减乘除、删除、归零功能全解析)
在Qt中,"栈"的概念主要体现在两个层面:一是程序设计中的数据结构——栈(Stack),二是用户界面管理中的QStackedWidget控件。下面我将分别简要介绍这两个方面:
143 4
|
1月前
|
XML 缓存 前端开发
Electron-builder 是如何打包 Windows 应用的?
本文首发于微信公众号“前端徐徐”,作者徐徐深入解析了 electron-builder 在 Windows 平台上的打包流程。文章详细介绍了 `winPackager.ts`、`AppxTarget.ts`、`MsiTarget.ts` 和 `NsisTarget.ts` 等核心文件,涵盖了目标创建、图标处理、代码签名、资源编辑、应用签名、性能优化等内容,并分别讲解了 AppX/MSIX、MSI 和 NSIS 安装程序的生成过程。通过这些内容,读者可以更好地理解和使用 electron-builder 进行 Windows 应用的打包和发布。
111 0
|
1月前
|
数据可视化 程序员 C#
C#中windows应用窗体程序的输入输出方法实例
C#中windows应用窗体程序的输入输出方法实例
46 0
|
3月前
|
Unix Linux Ruby
在windows和linux上高效快捷地发布Dash应用
在windows和linux上高效快捷地发布Dash应用
|
3月前
|
Linux iOS开发 开发者
跨平台开发不再难:.NET Core如何让你的应用在Windows、Linux、macOS上自如游走?
【8月更文挑战第28天】本文提供了一份详尽的.NET跨平台开发指南,涵盖.NET Core简介、环境配置、项目结构、代码编写、依赖管理、构建与测试、部署及容器化等多个方面,帮助开发者掌握关键技术与最佳实践,充分利用.NET Core实现高效、便捷的跨平台应用开发与部署。
187 3
|
3月前
|
PHP Windows
【Azure App Service for Windows】 PHP应用出现500 : The page cannot be displayed because an internal server error has occurred. 错误
【Azure App Service for Windows】 PHP应用出现500 : The page cannot be displayed because an internal server error has occurred. 错误
|
3月前
|
vr&ar C# 图形学
WPF与AR/VR的激情碰撞:解锁Windows Presentation Foundation应用新维度,探索增强现实与虚拟现实技术在现代UI设计中的无限可能与实战应用详解
【8月更文挑战第31天】增强现实(AR)与虚拟现实(VR)技术正迅速改变生活和工作方式,在游戏、教育及工业等领域展现出广泛应用前景。本文探讨如何在Windows Presentation Foundation(WPF)环境中实现AR/VR功能,通过具体示例代码展示整合过程。尽管WPF本身不直接支持AR/VR,但借助第三方库如Unity、Vuforia或OpenVR,可实现沉浸式体验。例如,通过Unity和Vuforia在WPF中创建AR应用,或利用OpenVR在WPF中集成VR功能,从而提升用户体验并拓展应用功能边界。
69 0
|
3月前
|
存储 开发者 C#
WPF与邮件发送:教你如何在Windows Presentation Foundation应用中无缝集成电子邮件功能——从界面设计到代码实现,全面解析邮件发送的每一个细节密武器!
【8月更文挑战第31天】本文探讨了如何在Windows Presentation Foundation(WPF)应用中集成电子邮件发送功能,详细介绍了从创建WPF项目到设计用户界面的全过程,并通过具体示例代码展示了如何使用`System.Net.Mail`命名空间中的`SmtpClient`和`MailMessage`类来实现邮件发送逻辑。文章还强调了安全性和错误处理的重要性,提供了实用的异常捕获代码片段,旨在帮助WPF开发者更好地掌握邮件发送技术,提升应用程序的功能性与用户体验。
60 0