存储Xamarin.Forms中经常更改的数据的最有效方法

问题描述 投票:0回答:2

我是应用程序开发的新手,我正在Visual Studio 2017社区中进行概念证明应用程序。目的是拥有Android和IOS版本。

应用程序的目的是记录每次测试的五个练习结果,并根据每个练习的一组目标给出通过/失败结果。测试目标将取决于完成测试的人的年龄,性别和水平

例如,男性25岁1级的测试目标可能

  1. 俯卧撑目标22
  2. 航天飞机在60秒内运行目标20等等

我希望有两百个目标用于所有用户,年龄,性别和级别的变化。特别是,如果我consiser sqlite(我在项目中使用已经存储学生信息和结果)我正在考虑如何种子初始数据表。如果我在第一次启动时通过静态资源文件进行编码,我可以读取数据文件(xml / csv / json)并播种目标数据表并稍后替换该文件以使用应用程序设置重新导入以表示重新种子数据表是必需的,但我担心我“膨胀”应用程序大小,并想知道什么格式更有效的读取

这些目标不会经常变化,但可能每年审查一次并改变

在WPF中,我将创建一个包含此数据的csv或Json文件作为资源,并在普通的C#类中读取它以对目标进行建模。但是在阅读时,人们担心这样的静态文件会“膨胀”已完成的应用程序的大小,并且在使用时会延迟创建目标列表,并且没有本机csv库

我还希望能够将新数据(目标)导入资源文件

请达到这个目标的最有效方法是什么

c# xamarin.forms xamarin.android xamarin.ios visual-studio-2017
2个回答
1
投票

如果我正确理解你的场景你需要为每个用户保存5个目标,那么qazxsw poi可能值得考虑。它在iOS上使用Android和NSUserDefaults上的共享首选项。

如果你有更多的信息需要保存,那么SQLite似乎是个不错的选择。


1
投票

查看将“初始”DB文件作为资源放置的选项。因此,您可以将DB结构准备为种子数据。在第一次启动时,应用程序将需要只复制到文档目录并使用它(按原样简单二进制复制资源)。

稍后,您将需要某种代码片段,它将已更改的数据从新的“初始DB文件”合并到文档目录中的本地文件。

© www.soinside.com 2019 - 2024. All rights reserved.