Apple ResearchKit:如何从ORKResult中提取信息?第一次编程



我正在开发一个简单的ResearchKit应用程序,它有20个调查问题,或ORKSteps。如何从将调查提交到数据库的参与者那里获得答案?

我的研究发现ORKESerializer和SQLite是解决方案的潜在部分。对于如何将这些东西集成到一个工作解决方案中,我缺少一个大的视图。

在不了解数据库或Swift数据传输的情况下开始,所以任何基本信息都会很有帮助。

  1. 我如何使用Swift从ORKResult提取数据?
  2. 我提取数据到哪里?或者,小型调查的标准数据库类型是什么?

ResearchKit没有任何现成的解决方案来存储您的结果。一般来说,开发人员的任务是遍历ORKResult层次结构,保存处理后的结果以供以后访问,或者将它们发送到远程服务器。

这里有几个选项:

  • 使用NSCoding来存储香草ORKTaskResult(与其ORKResult子)。这样,您可以在以后重新创建整个ORKTaskResult层次结构来检查或处理它。

  • 使用ORKESerializer(如您所料)将ORKResult s序列化为JSON格式。ORKESerializer目前是作为ORKTest单元测试的一部分包含的,并且没有很好的文档记录。将来它可能会被移动到ResearchKit中,但现在它是完全可用的。JSON格式是特别有用的,如果你想发送你的结果到任何你自己的远程服务器。

  • 您可以手动遍历ORKResult s并将它们转换为适合存储的对象,或者转换为数据库记录。正如你所说,你可以使用SQLite来持久化它们;或您选择的其他数据库;

总而言之,对于持久化结果没有推荐的或标准的方法,这取决于你的需要。

你也可以看看官方的开源RK应用程序。我认为他们利用AppCore库(位于ResearchKit之上)来存储任务结果(并且还使用Sage Bridge将结果发送到Sage的服务器)。但如果你的需求更简单,那就太过分了。


我建议你运行示例ORKCatalog应用程序,然后检查ORKTaskResult层次结构(你可以在应用程序本身中这样做)。您将了解结果层次结构的外观。

我没有研究工具包的经验,但作为一个数据库,你可以使用sqlite。Stephencelis为swift做了一个很好的包装器,你可以使用它。

相关内容

  • 没有找到相关文章

最新更新