将对象保存到设备

本文关键字:保存 对象 | 更新日期: 2023-09-27 17:56:32

我已经开始为Windows Phone开发一个应用程序。我想制作一个具有自定义对象数组的单例对象。我还想有一些自定义函数,如AddCheckIfExistsDelete e.t.c。

我需要在应用程序关闭时保存此数组,并在应用程序启动时将数组加载到单例。

谁能帮我做什么?我应该从哪里开始?

在 iOS 平台上,我们NSUserDefault用于使用所需的键保存对象,然后从键加载它。

将对象保存到设备

独立存储只是可用选项之一。

来自iOS的NSUserDefault的直接功能模拟是IsolatedStorageSettings类。以下是一些通过键保存/加载值的帮助方法:

static T getValue<T>( string _propName )
{
    return getValue( _propName, default( T ) );
}
static T getValue<T>( string _propName, T _defaultValue )
{
    var iss = IsolatedStorageSettings.ApplicationSettings;
    T res;
    if( iss.TryGetValue( _propName, out res ) )
        return res;
    return _defaultValue;
}
static void setValue( string _propName, object val )
{
    IsolatedStorageSettings.ApplicationSettings[ _propName ] = val;
    IsolatedStorageSettings.ApplicationSettings.Save();
}

或者,您可以使用成熟的ORM + RDBMS。在iOS中,您可以将Core Data与底层SQLite一起使用,在WP7中~same称为具有底层SQLCE的实体框架。

所有 3 种解决方案都有其优点和缺点。 根据您的数据大小(例如,您不应该在 IsolatedStorageSettings 中保留兆字节的数据)和数据访问模式(例如,如果您需要查询,或者您只插入小项目而保持数据库基本完好无损,SQL 引擎可以加快几个数量级)仔细选择。