2015-07-27 3 views
0

Я работаю над простым приложением ResearchKit, которое имеет 20 вопросов опроса или ORKSteps. Как получить ответы от участника, который представляет опрос в базу данных?Apple ResearchKit: как извлечь информацию из ORKResult? Первый программист

Мои исследования нашли ORKESerializer и SQLite в качестве потенциальных частей решения. Мне не хватает большого представления о том, как эти вещи можно интегрировать в рабочее решение.

Начиная без знания баз данных или передачи данных из Swift, поэтому любая базовая информация была бы очень полезной.

  1. Как извлечь данные из ORKResult с помощью Swift?
  2. Где я могу извлечь данные? Или, каков стандартный тип базы данных для небольшого опроса?

ответ

2

ResearchKit не имеет готового решения для хранения ваших результатов. Как правило, разработчик должен пройти через иерархию ORKResult и либо продолжать обрабатывать результаты для последующего доступа, либо отправлять их на удаленный сервер.

У вас есть несколько вариантов здесь:

  • Использование NSCoding для хранения ванили ORKTaskResult (с их ORKResult детьми). Таким образом, вы сможете воссоздать всю иерархию ORKTaskResult в дальнейшем, чтобы проверить или обработать ее.

  • Используйте ORKESerializer (как вы догадались) сериализовать ORKResult сек в формате JSON . ORKESerializer в настоящее время входит в состав модульных тестов ORKTest, и он не документирован очень хорошо. Возможно, что в будущем он будет перенесен в ResearchKit, но теперь он полностью доступен. Формат JSON особенно полезен, если вы хотите отправить результаты на любой удаленный сервер.

  • Вы можете вручную выполнить итерацию через ORKResult s и преобразовать их в объекты, которые подходят для хранения или записи в базу данных. Как вы сказали, вы можете сохранить их, используя SQLite; или другую базу данных по вашему выбору; или Core Data.

Подводя итог, нет рекомендуемого или стандартного метода для сохранения результатов, это зависит от ваших потребностей.

Вы также можете ознакомиться с официальным номером open sourced RK apps. Я думаю, что они используют в AppCore библиотеки (который сидит на вершине ResearchKit) для хранения результатов задачи (а также использовать Sage моста отправить результаты на сервера Sage «s). Но это может быть за бортом, если ваши потребности проще.


Я предлагаю вам запустить приложение образца ORKCatalog, а затем проверить ORKTaskResult иерархии (вы можете сделать это в самом приложении). Вы получите представление о том, как выглядит иерархия результатов.

+0

yes ORKResults полностью отличается от хранилища, мы можем использовать его по своему усмотрению. –

-2

У меня нет опыта работы с Research Kit, но в качестве базы данных вы можете использовать sqlite. stephencelis сделал отличную упаковку для быстрой, которую вы можете использовать.