2017-06-16 77 views
1

我正在开发一个新的基于xamarin的项目,我必须以某种方式存储交易数据,如果应用程序关闭,数据不应该丢失。所以我决定存储一个写有事务信息的文件,以便程序可以访问文件并读取,或者在需要时重写信息。首先,我正在考虑创建资产.txt文件,但我发现无法将信息写入这类文件。第二种情况是使用嵌入式文件,但我仍然无法获得应该保留的位置,因此用户不会无意中删除它。如果可以分享您的经验或发送一篇关于此主题的解释文章。Xamarin商店信息

+2

传统上这是一个数据库的用途。有许多关于使用本地SQLite数据库和Xamarin应用程序的文章和示例。 – Jason

+0

在我的情况下,我必须存储一个字符串是值得实施的数据库? – GeekyNuns

+1

你如何将所有交易数据存储在单个字符串中?除了使用数据库之外,还有一些方法可以保留短字符串,但我不知道它们是否可以应用。 –

回答

2

可以少量的信息存储在像这样的应用程序属性:

string foo = "Foo"; 
Application.Current.Properties["bar"] = foo; 

正是如此检索它们:

string foo = Application.Current.Properties["bar"] as string; 
0

另一种方式,我发现。这应该是跨平台的能力,我只测试了迄今为止的Android版本。

使用的NuGet安装

XAM.Plugins.Settings

存储的值(我只得到字符串和整数工作)

var settings = CrossSettings.Current; 
settings.AddOrUpdateValue<string>("key", value); 

检索值

var settings = CrossSettings.Current; 
var strSettings = settings.GetValueOrDefault<string>("key", string.Empty); 

我尝试了更复杂的类型,并且出现错误

System.ArgumentException:不支持类型PreSetStruct的值。发生

PreSetStruct是一个带有几个字段的简单结构。

我将在以后的iOs版本上工作,并会让你知道它是如何工作的。