【问题标题】:Windows universal app isolated storage - How to save and retrieve data?Windows 通用应用隔离存储 - 如何保存和检索数据?
【发布时间】:2016-06-15 19:53:05
【问题描述】:

我有这个隔离的存储助手,我​​需要用它来保存和检索我的通用应用程序中的数据。

我不知道从哪里开始。我是否应该制作一个应用程序并将助手类合并到其中?

这是我的课:

using System.IO;
//using System.IO.IsolatedStorage;
using System.Runtime.Serialization.Json;
using System.Text;
public static class IsolatedStorageHelper
{
    public static T GetObject<T>(string key)

       
    {
         var localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;

    



        if (localSettings.Values.ContainsKey(key))
        {
            string serializedObject = localSettings.Values[key].ToString();
            return Deserialize<T>(serializedObject);
        }

        return default(T);
    }

    public static void SaveObject<T>(string key, T objectToSave)
    {
        var localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
        string serializedObject = Serialize(objectToSave);
        localSettings.Values[key] = serializedObject;
    }

    public static void DeleteObject(string key)
    {
        var localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
        localSettings.Values.Remove(key);
    }

    private static string Serialize(object objectToSerialize)
    {
        using (MemoryStream ms = new MemoryStream())
        {
            DataContractJsonSerializer serializer = new DataContractJsonSerializer(objectToSerialize.GetType());
            serializer.WriteObject(ms, objectToSerialize);
            ms.Position = 0;

            using (StreamReader reader = new StreamReader(ms))
            {
                return reader.ReadToEnd();
            }
        }
    }

    private static T Deserialize<T>(string jsonString)
    {
        using (MemoryStream ms = new MemoryStream(Encoding.Unicode.GetBytes(jsonString)))
        {
            DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T));
            return (T)serializer.ReadObject(ms);
        }
    }
}

【问题讨论】:

  • 您能否编辑您的问题并提供更多信息,您遇到了什么问题以及您在寻找什么?
  • 是的,事实上我需要创建一个应用程序并为我的实体“人”创建一个 crud 而无需重写整个代码。所以,我需要使用类“存储 helper.cs”上文提到的 。现在我被困住了,因为我不知道如何使用它,我是否将它实施到我的项目中。我真的会使用一个使用此类的示例来开发 UWP。感谢您的帮助

标签: windows storage win-universal-app universal


【解决方案1】:

使用静态SaveObject 方法并提供“人”实体和密钥。稍后使用GetObject 检索它。

但我认为在这种情况下您应该使用数据库sqlitesqlite net 包来保存实体。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多