将对象保存到设备
本文关键字:保存 对象 | 更新日期: 2023-09-27 17:56:32
我已经开始为Windows Phone开发一个应用程序。我想制作一个具有自定义对象数组的单例对象。我还想有一些自定义函数,如Add
、CheckIfExists
、Delete
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 引擎可以加快几个数量级)仔细选择。