HealthKit开发教程HealthKit开发概述简介

HealthKit开发快速入门教程(内部资料) 大学霸

HealthKit开发快速入门教程

HealthKit开发快速入门教程

前  言

HealthKit是2014年6月2日召开的年度开发者大会上,苹果发布了一款新的移动应用平台。使用HealthKit可以收集和分析用户的健康数据,如心跳、血压、行走步数等。目前在市场上并没有关于此书的开发教程,阅读苹果官方提供的帮助文档又费时又费力,提供的代码也只是片段,不适合入门的开发人员学习。

基于以上不可忽略的事实,本书决定着眼于讲解使用Swift语言开发HealthKit基础知识,书中详细讲解了HealthKit开发中使用的所有类以及方法、属性,并且书后配备了附录可供开发者快速查看HealthKit中的方法以及属性。

1.学习所需的系统和软件

q  安装Mac OS 10.9.4以及更高版本

q  安装Xcode 6.2

2.学习建议

大家学习之前,可以致信到xxxxxxxxxx,获取相关的资料和软件。如果大家在学习过程遇到问题,也可以将问题发送到该邮箱。我们尽可能给大家解决。

 

目  录

第1章  HealthKit开发概述… 1

1.1  HealthKit简介… 1

1.1.1  HealthKit特点… 1

1.1.2  HealthKit经典应用… 1

1.2  HealthKit开发准备工作… 4

1.2.1  HealthKit框架体系… 4

1.2.2  健康App. 5

1.2.3  创建App ID特殊需求… 6

第2章  数据的表示… 7

2.1  数据的操作… 7

2.1.1  创建数据… 7

2.1.2  判断、比较数据… 8

2.1.3  获取数据… 11

2.2  主要类型数据… 12

2.2.1  长度类型数据… 12

2.2.2  质量类型的数据… 17

2.2.3  能量类型的数据… 22

2.3  辅助数据… 25

2.3.1  体积类型数据… 25

2.3.2  压力类型数据… 28

2.3.3  时间类型数据… 30

2.3.4  温度类型数据… 31

2.3.5  标量类型数据… 32

2.3.6  电导率类型数据… 33

2.4  复合数据… 34

2.4.1  相乘得到的复合数据… 34

2.4.2  相除得到的复合数据… 35

2.4.3  单位和整数的次方构成的复合数据… 35

2.4.4  倒数构成的复合单位… 36

第3章  样本对象… 37

3.1  样本对象的构成… 37

3.1.1  唯一标示符… 37

3.1.2  数据来源… 38

3.1.3  元数据… 38

3.1.4  样本类型… 39

3.1.5  样本的时间… 39

3.2  基本数量样本… 39

3.2.1  创建基本数量样本对象… 39

3.2.2  获取基本数量样本中的信息… 45

3.2.3  心率样本… 48

3.2.4  体温样本… 49

3.3  状态样本… 51

3.3.1  创建状态样本对象… 51

3.3.2  获取状态样本中的信息… 54

3.4  复合数据样本… 55

3.4.1  创建复合数据样本对象… 56

3.4.2  获取复合数据样本中的信息… 59

3.4.3  食物样本… 61

3.5  健身样本… 62

3.5.1  创建健身样本… 62

3.5.2  获取健身样本中的信息… 68

3.5.3  健身样本… 69

第4章  样本通用处理方式… 71

4.1  准备工作… 71

4.1.1  判断HealthKit是否可用… 71

4.1.2  授权管理… 72

4.2  样本通用处理… 81

4.2.1  添加样本对象… 81

4.2.2  删除样本对象… 97

4.2.3  获取默认单位… 104

4.3  管理后台更新… 109

4.3.1  启动后台更新… 109

4.3.2  关闭后台更新… 113

第5章  基本查询… 119

5.1  概述… 119

5.1.1  查询的实现方式… 119

5.1.2  查询的操作类型… 120

5.2  建立查询… 120

5.2.1  UUID查询… 120

5.2.2  数据来源查询… 125

5.2.3  元数据查询… 129

5.2.4  非复合数据的查询… 139

5.3  样本查询… 142

5.3.1  基本数量样本查询… 142

5.3.2  状态样本查询… 146

5.3.3  复合数据样本查询… 148

5.3.4  健身样本查询… 153

5.3.5  通用样本查询… 165

5.4  高级查询… 168

5.4.1  观察者查询… 168

5.4.2  锚查询… 173

第6章  特殊查询… 179

6.1  特征数据查询… 179

6.1.1  用户性别数据… 179

6.1.2  用户血型数据… 180

6.1.3  用户出生日期数据… 180

6.2  数据来源查询… 187

6.3  统计查询… 190

6.3.1  构建统计查询… 190

6.3.2  统计对象的基本信息… 191

6.3.3  获取统计数据… 194

6.3.4  指定数据来源… 199

6.3.5  血压… 204

6.4  统计集合查询… 209

6.4.1  构建统计集合查询… 209

6.4.2  统计集合查询对象的基本信息… 210

6.4.3  分析结果… 212

6.4.4  步数… 215

第7章  Apple Watch+HealthKit项目实战… 220

7.1  Apple Watch介绍… 220

7.1.1  Apple Watch发展… 220

7.1.2  Apple Watch特点… 220

7.2  立卧撑拍拍器… 223

7.2.1  创建Apple Watch应用程序… 224

7.2.2  认识Apple Watch模拟器… 226

7.2.3  设计Apple Watch界面… 228

7.2.4  计时功能… 230

7.2.5  计数功能… 233

7.2.6  保存到HealthKit Store中… 234

附录A  Health Kit类方法/属性表… 239

表HKAnchoredObjectQuery类的成员… 239

表HKBiologicalSexObject类的成员… 239

表HKBloodTypeObject类的成员… 239

表HKCategorySample类的成员… 239

表HKCorrelation类的成员… 239

表HKCorrelationQuery类的成员… 240

表HKHealthStore类的成员… 240

表HKObject类的成员… 241

表HKObjectType类的成员… 242

表HKObserverQuery类的成员… 242

表HKQuantity类的成员… 242

表HKQuantitySample类的成员… 242

表HKQuantityType类的成员… 243

表HKQuery类的成员… 243

表HKSample类的成员… 244

表HKSampleQuery类的成员… 244

表HKSource类的成员… 245

表HKSourceQuery类的成员… 245

表HKStatistics类的成员… 245

表HKStatisticsCollection类的成员… 245

表HKStatisticsCollectionQuery类的成员… 247

表HKStatisticsQuery类的成员… 247

表HKUnit类的成员… 247

表HKWorkout类的成员… 249

表HKWorkoutEvent类的成员… 250

附录B  Health Kit所支持的基本单位… 250

第1章  HealthKit开发概述

2014年6月2日召开的年度开发者大会上,苹果发布了一款新的移动应用平台,可以收集和分析用户的健康数据。该移动应用平台被命名为“Healthkit”。本章将主要讲解HealthKit的特点、经典应用以及在开发HealthKit时的准备工作。

1.1  HealthKit简介

HealthKit就是可以收集和分析用户的健康数据移动应用平台。本节将主要讲解HealthKit的特点、经典应用。

1.1.1  HealthKit特点

本小节将主要讲解HealthKit的两个特点。

1.不封闭资源,形成生态圈

在以前,苹果从来都是单打独斗,自己设计,自己研发,自己销售。HealthKit作为一个全新的健康应用平台,虽然看起来发展空间极大,可苹果貌似不希望把技术都攥在自己手里开发配套产品,因为无论从成本到周期,都是一个不小的工程。所以苹果很聪明的选择不自主生产硬件,改为合作模式。这样既节约了成本,也将会带动医疗行业的大发展。

2.不为了收集数据而收集数据

相信目前更多人认为HealthKit的作用更多是收集并整合用户的健康数据,这个想法没什么不对,但HealthKit并不是单单为了数据而存在。我们知道,所有的健康指标都会互相影响。所以在Healthkit收集到用户数据以后,会进行一个数据整合与数据分析。

例如,智能手环是可以记录我们的日常运动与睡眠状态,而智能水杯也只是会通过一些简单的用户设定来提醒用户喝水,并且用户只能通过自己的APP来查看各自数据,不能进行一个宏观的分析。而当这些产品都引入到HealthKit平台后,它们就会互相影响。HealthKit得到运动手环的数据后,会根据用户的运动情况来调整用户的饮水频率与饮水量。HealthKit更像一个终端,把所有智能健康产品融合到一起,让这些产品能够真正智能化起来。

1.1.2  HealthKit经典应用

到目前为止,在App Store中已经有了上百款的与HealthKit相关的应用程序。本小节将主要讲解几个比较有趣又新颖的经典应用。

1.Deadline

这款售价2.99美元的应用从HealthKit平台获取数据,并和人口统计学数据进行比较,以此得出使用者在统计学意义上可能的死亡时间。如果用户改变锻炼以及饮食习惯,用户的健康数据会发生变化,而死亡时间也有可能会相应的延后几年,如图1.1所示。一位评论家说:“我非常喜欢这款应用。我们所有人都在谈论如何变得更健康,但看着你的生命在一点点的流逝,才会真的让你引起注意并做点什么。”

 

图1.1  Deadline

2.Wokamon

还记得在上世纪90年代流行的虚拟宠物吗?它们是一些小型的虚拟生物,并需要模拟的照看和喂养,甚至需要在传感器的监测下带它们进行真实的散步。Wokamon把这种概念引入了智能机时代,并开发了更为先进的动画头像,并通过HealthKit、Fitbit、 Jawbone以及Moves来获取活动数据,如图1.2所示。

 

图1.2  Wokamon

3.On Campus

美国北卡大学已经开始使用了这款学生健康应用来应对大一心生体重暴增(Freshman 15)的问题。这款应用可以为学生们建立食谱,并且在HealthKit上同步。它还可以显示大学各个餐厅每个区域的菜单,这样学生们可以在吃饭的时候便把每种菜加入他们的食谱之中。

4.Panera Bread

Panera是目前我们知道唯一的与HealthKit连接的连锁餐厅。像北卡大学的学生食堂那样,在Panera就餐时你可以选择菜单中的任意一样菜,将它输入HealthKit中,了解其营养成分,如图1.3所示。

 

图1.3  Panera

5.Just Dance Now

Just Dance Now是由著名的游戏开发商UbiSoft公司开发的一款舞蹈游戏。这款游戏使用iPhone操纵,并用iPad或者普通的笔记本电脑作为显示屏。有趣的是,当你在玩游戏时,该应用会记录你的卡路里消耗情况,并把数据上传到HealthKit中。

6.Carrot Fit

Carrot Fit利用HealthKit平台以及其他一些应用中的数据,可以完整的评估你的健身情况,如图1.4所示。

 

图1.4  Carrot Fit

Comments are closed.