`
rayln
  • 浏览: 434110 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Metro应用存储数据方法

 
阅读更多
save : function(key, value, callback) {
            var _usrBuffer;
            var _protectedUsr;

            var dataProtectionProvider = new Windows.Security.Cryptography.DataProtection.DataProtectionProvider('LOCAL=user');

            _usrBuffer = Windows.Security.Cryptography.CryptographicBuffer.convertStringToBinary(value, Windows.Security.Cryptography.BinaryStringEncoding.utf8);

            var _usrPromise = dataProtectionProvider.protectAsync(_usrBuffer);
            _usrPromise.done(function (buffer) {
                _protectedUsr = Windows.Security.Cryptography.CryptographicBuffer.encodeToBase64String(buffer);
            }, function (e) {
                var _e = e;
            });
            WinJS.Promise.join([_usrPromise]).then(function () {
                var localSettings = Windows.Storage.ApplicationData.current.localSettings;
                localSettings.values[key] = _protectedUsr;
                if (callback) {
                    callback();
                }
            });
        },
        load: function(key,callback){
            var localSettings = Windows.Storage.ApplicationData.current.localSettings;

            var _protectedUsr = localSettings.values[key];
            console.log("_protectedUsr:" + _protectedUsr);
            if (!_protectedUsr) {
                return;
            }
            if (_protectedUsr.trim() == '') {
                return;
            }

            var _usrBuffer;
            var value;

            var dataProtectionProvider = new Windows.Security.Cryptography.DataProtection.DataProtectionProvider();
            _usrBuffer = Windows.Security.Cryptography.CryptographicBuffer.decodeFromBase64String(_protectedUsr);
            var _usrPromise = dataProtectionProvider.unprotectAsync(_usrBuffer); 
            _usrPromise.done(function (buffer) {
                value = Windows.Security.Cryptography.CryptographicBuffer.convertBinaryToString(Windows.Security.Cryptography.BinaryStringEncoding.utf8, buffer); 
            }, function (e) {
                var _e = e;
            });

            var object; 
            WinJS.Promise.join([_usrPromise]).done(function () {
                if (callback) {
                    callback(value);
                }
            });
            return object;
        },
分享到:
评论

相关推荐

    如何清理Win8系统Metro应用缓存.docx

    这将打开用户的“包”文件夹,这里包含了所有安装的Metro应用的数据。找到你想要清理缓存的应用对应的文件夹,例如,对于PPTV应用,文件夹名可能是`PPTV.PPTVHD_svvymaqds8vhmAC`。打开这个文件夹,然后删除`...

    Windows8_Metro应用开发之C#

    本资料包专注于使用C#语言进行Windows 8 Metro应用的开发,旨在提供超详细且经典的教学指导。 1. **Windows Runtime(WinRT)框架**: WinRT是Windows 8应用的基础,它是Windows操作系统提供的一个API集合,允许...

    SQlite for Metro

    在提供的压缩包文件名称“MetroSqlite”中,我们可以推测这是SQLite针对WinRT/Metro应用的特定实现或封装库,包含了所需的头文件、库文件和可能的示例代码,供开发者在他们的项目中引用和使用。 综上所述,SQLite ...

    metro使用SQlite的Demo

    本示例将详细介绍如何在Metro应用中集成SQLite,以便本地存储数据。 【描述】: "在 Metro 应用中,SQLite 提供了一个高效且可靠的本地数据存储解决方案。这个Demo项目包含了SQLite的使用实例,所有关键API都封装在`...

    Win8 metro应用经常出现挂起状态.docx

    ### Win8 Metro应用经常出现挂起状态的知识点详解 #### 故障现象解析 在Windows 8(简称Win8)操作系统中,Metro风格的应用程序(现称为通用Windows平台UWP应用)可能会频繁出现“挂起”状态。这种情况下,用户会...

    MahApps.Metro-masterdemo.rar用于C#开发,WPF应用程序,前台界面,控件,列表

    通过这个MahApps.Metro-master demo,开发者可以深入学习WPF控件的用法,理解数据绑定和MVVM模式,掌握自定义样式和模板的方法,提升C# WPF应用的开发能力。同时,这个资源库也鼓励开发者进行实践和创新,打造符合...

    Windows8下如何彻底删除Metro界面下应用程序.docx

    首先,了解Metro应用程序的存储位置。这些应用程序通常安装在“C:\Program Files\WindowsApps”这个隐藏文件夹内。由于这是一个系统保护的文件夹,直接访问或删除其中的内容通常需要管理员权限。 当尝试在Metro界面...

    metro操作Xml文件简单示例

    在Windows 8 Metro应用中,我们通常使用.NET Framework提供的System.Xml命名空间下的类来处理XML。 在描述的示例中,我们可能会用到以下关键类: 1. **XmlDocument**:这个类是.NET中的核心XML处理类,可以用来...

    构建metro nic + mybatis + spring mvc的高性能web应用

    它支持预编译SQL、存储过程和复杂查询,使得数据库操作更加灵活高效。 **spring MVC** 是Spring框架的一部分,主要用于构建Web应用程序的模型-视图-控制器(MVC)结构。Spring MVC通过DispatcherServlet处理HTTP...

    自己做的win8应用程序

    你可以从中了解应用的架构设计、功能实现、数据处理以及用户界面的构建方法。 从标签“win8 应用”我们可以推断,这个项目主要关注的是针对Windows 8系统开发的应用程序,可能包括对触控操作的支持,动态磁贴的使用...

    入门metro开发中文资料

    WinRT 提供了一组丰富的 API,涵盖多媒体、网络、数据存储等多个方面。开发者需要熟悉如何使用这些 API 来实现应用的功能,如访问本地文件、调用硬件设备、实现网络通信等。 4. **事件处理和数据绑定** 在 Metro ...

    html5 metro 界面

    例如,`<canvas>`元素用于在网页上绘制图形,`<audio>`和`<video>`元素则简化了多媒体内容的嵌入,而`<storage>`(包括`localStorage`和`sessionStorage`)则提供了本地数据存储的功能。此外,HTML5的拖放API、离线...

    DotNetBar的Metro窗口例子

    XML(可扩展标记语言)是一种结构化的数据存储格式,常用于跨平台的数据交换和配置。在本例中,XML 文件包含了每个 MetroItem 的属性,如标题、图标、关联的命令等。通过解析 XML 文件,我们可以轻松地在运行时动态...

    Metro Revealed: Building Windows 8 apps with XAML and C#

    - **存储模型**:深入理解Metro应用中的数据持久化机制,包括本地存储、隔离存储等概念。 - **数据同步**:介绍如何在不同设备之间同步数据,确保数据的一致性。 - **状态恢复**:讨论如何在应用重启时恢复先前的...

    MetroUI.zip项目安卓应用源码下载

    3. **数据存储与加载**:在Android应用中,数据存储通常涉及SQLite数据库、SharedPreferences、ContentProvider等。通过查看源码,我们可以学习如何设计数据模型,实现数据的持久化存储和检索。 4. **网络请求与...

    Metro-UI-CSS-master3.0.17修正版.zip

    在实际项目开发中,开发者还可以结合Delphi的VCL或FMX框架,利用Web服务或者本地数据接口,将WebBrowser组件作为前端展示层,后端由Delphi处理业务逻辑和数据存储。这种混合开发模式可以充分利用Web技术和Delphi的...

    在Android上模拟MetroUI

    在创建Metro UI风格的应用时,开发者需要在此文件中声明所需的组件,如启动屏幕和主活动,以及任何特殊权限,比如访问网络或硬件功能。 `src`目录包含了应用的源代码,这是实现特定UI风格的关键部分。开发者可能...

    winForm模版 win8风格 metro 源码

    - 设计文件(如*.resx):存储了本地化资源和应用程序的其他数据。 - 设置文件(app.config或web.config):包含应用程序的配置设置。 通过研究这个源码,开发者不仅可以学习到如何实现win8风格的界面,还可以深入...

    Metro 中文数据库 For PPC

    ".Metro 中文数据库 For PPC" 是一款专为PPC(Pocket PC)设备设计的数据库应用,旨在提供在Metro界面下的中文支持,包括中文显示和中文查询功能。这使得用户能够在手持设备上更方便地管理和搜索中文数据,尤其适用...

    Apress.Metro Revealed Building Windows 8 Apps with XAML and C Sharp Jun 2012

    - **创建与配置Metro应用:** 介绍如何创建新的Metro应用项目,并配置应用的基本属性。 - **实现触控用户界面:** 探讨如何设计适合触控操作的应用界面,包括手势识别等特性。 - **存储数据与应用状态管理:** 教授...

Global site tag (gtag.js) - Google Analytics