ヘルスコネクトは、健康とフィットネスに関するデータを保存し、構造化します。また、 異なるデータの種類を測定する方法に 基づいていますこれらのデータタイプには、心拍数、 すぐに測定された測定、経時的に測定された歩数、取得された睡眠データ あります。
まず、状態と権限の健全性を理解することが重要です。 オファーを連携させて、アプリの要件を計画できるようにします。これで、 要件を確定する前にデータの種類を確認する必要があります。
データ型のカテゴリ
ヘルスコネクトは、ほとんどの健康とフィットネスで使用されるデータタイプをサポートしています。 できる限り多様なアプリを提供したいと 考えていますヘルスコネクトは、 包括的なビューとストレージを提供します。これらのデータ型は 次のカテゴリに分類できます
- アクティビティ: ユーザーが行ったアクティビティをキャプチャします。ランニングや水泳、睡眠などの健康とフィットネスに関するアクティビティが該当します。
- 身体測定: 次のような身体に関連する一般的なデータをキャプチャします。 ユーザーの体重と基礎代謝率。
- 月経周期の管理: 排卵検査のバイナリ結果など、月経周期および関連するデータポイントをキャプチャします。
- 栄養: 水分摂取と栄養に関するデータ型をキャプチャします。前者 ユーザーが 1 回の飲み物で摂取する水の量を表します。後者 には、カロリー、砂糖、マグネシウムなどの任意のフィールドが含まれます。
- 睡眠: ユーザーの睡眠の長さと種類に関連するデータを継続的にキャプチャします。
- 主な指標: ユーザーの健康全般に関する重要な情報をキャプチャします。体温、血糖値、血糖値などのデータが含まれます。 血圧、血中酸素飽和度です
データ型の形式
ヘルスコネクトのデータ型は、
Record
。
データ型ごとに、汎用的なフィールドが関連付けられています。
time
と zoneOffset
、または特定の title
、count
、percentage
など。
long、double、string などの単純な型が使用されるフィールドもあれば、
列挙型などの複雑な型と、Instant
や
ZoneOffset
。これらのフィールドの属性は必須、または
オプションです。一部の属性は読み取り専用です。また、一部の属性は
指定することもできます。
使用可能なデータ型とそのフィールドの完全なリストについては、 Jetpack にあります。
その他のデータ属性
Health Connect API のデータには、次のリストで説明されているメタデータ属性も含まれます。
- ヘルスコネクト ID: 作成時に、各データポイントに一意の ID(UID)が割り当てられます。これは、標準の読み取り / 書き込みオペレーションに役立ちます。 詳しくは、ヘルスコネクト ID をご覧ください。
- 最終更新日時: 最後のインスタンスがレコードになったタイムスタンプをマークします。 更新があります。環境変数が最初に作成されたときに 更新のたびに行われます
- データの送信元: ヘルスコネクトは、 分析できますこれにはオリジンのパッケージ名が含まれます。 自動的に追加されます。
- デバイス: ヘルスコネクトには、データソースのデバイスに関する情報が保存されます。そのデバイスのメーカーとモデル、 手動で値を指定します。
- クライアント ID: ヘルスコネクトは、クライアント アプリが以下の操作を行えるようにクライアント ID を提供します。 独自の ID を使用してデータを参照できるため、競合の解決や 同期が容易になりますこの情報は手動でレコードに入力します。
- クライアント レコード バージョン: ヘルスコネクトでは、クライアント ID とともに、 データ同期中の変更を追跡しやすくします。この情報は手動でレコードに入力します。
- 記録方法: ヘルスコネクトでは、データがどのように記録されるかを把握できます。 これらの方法には、データを受動的に(自動的に)記録するアプリや、ユーザーが アクティブまたは手動で記録できます
ヘルスコネクト ID
ヘルスコネクトは、新しく挿入されたデータ オブジェクトに一意の識別子(UID)を割り当てます。 データ オブジェクトを識別し、他のものと区別できます。ヘルスコネクト ID 読み取りまたは書き込みリクエストで有用です。ヘルスコネクト ID は、 クライアント ID。クライアント アプリはクライアント ID を割り当てるが、ヘルスコネクトは排他的 ヘルスコネクト ID を割り当てます。
ヘルスコネクト ID を扱う場合は、次の点に注意してください。
- セッションには 1 つのヘルスコネクト ID が割り当てられますが、セッション内のデータには 作成することもできます。
- ヘルスコネクト ID はタイムスタンプと関連付けられていません。
- ユースケースによっては、作成中に特定のヘルスコネクト ID の保存が必要になる場合があります。 作成できますたとえば、特定の ID を取得して、 ログに記録したデータエントリを 取得します
ヘルスコネクトにおける時間
ヘルスコネクトに書き込むデータはすべて、ゾーン オフセット情報を指定する必要があります。 ゾーン オフセットを指定すると、アプリがデータを読み取って表すことができます 常用時です常用時はユーザーの現地時間です。 必ずしも協定世界時(UTC)とは限りません。
まれに、ゾーン オフセットが使用できない場合があります。その場合 Android 14(API レベル 34)では、ヘルスコネクトは デバイスのシステム デフォルトのタイムゾーン。Android 13 以前のバージョンの場合 (API レベル 33 以前)では、バージョン 1.2 で ゾーン オフセット情報を指定するもので、可能な限り避ける必要があります。
時刻とゾーンの設定
データの書き込み時にゾーン オフセット情報を指定すると、ヘルスコネクトのデータを読み取った際にタイムゾーン情報が提供されます。ただし、 ゾーン オフセットが指定されていない場合など、特定の状況での特別な処理です。アプリは、読み取ったデータがどちらであっても、ユーザーの利用に支障のないように準備する必要があります。
権限
権限をリクエストする前に、アプリはまずマニフェストで権限を宣言する必要があります。データ型とその完全なマッピングについては、次の表をご覧ください。 付与できます。
1.0.0-alpha10 以降の場合
レコードクラスの型 | 読み取りと書き込みの権限の宣言 |
---|---|
ActiveCaloriesBurned |
android.permission.health.READ_ACTIVE_CALORIES_BURNED
android.permission.health.WRITE_ACTIVE_CALORIES_BURNED |
BasalBodyTemperature |
android.permission.health.READ_BASAL_BODY_TEMPERATURE
android.permission.health.WRITE_BASAL_BODY_TEMPERATURE |
BasalMetabolicRate |
android.permission.health.READ_BASAL_METABOLIC_RATE
android.permission.health.WRITE_BASAL_METABOLIC_RATE |
BloodGlucose |
android.permission.health.READ_BLOOD_GLUCOSE
android.permission.health.WRITE_BLOOD_GLUCOSE |
BloodPressure |
android.permission.health.READ_BLOOD_PRESSURE
android.permission.health.WRITE_BLOOD_PRESSURE |
BodyFat |
android.permission.health.READ_BODY_FAT
android.permission.health.WRITE_BODY_FAT |
BodyTemperature |
android.permission.health.READ_BODY_TEMPERATURE
android.permission.health.WRITE_BODY_TEMPERATURE |
BodyWaterMass |
android.permission.health.READ_BODY_WATER_MASS
android.permission.health.WRITE_BODY_WATER_MASS |
BoneMass |
android.permission.health.READ_BONE_MASS
android.permission.health.WRITE_BONE_MASS |
CervicalMucus |
android.permission.health.READ_CERVICAL_MUCUS
android.permission.health.WRITE_CERVICAL_MUCUS |
CyclingPedalingCadence |
android.permission.health.READ_EXERCISE
android.permission.health.WRITE_EXERCISE |
Distance |
android.permission.health.READ_DISTANCE
android.permission.health.WRITE_DISTANCE |
ElevationGained |
android.permission.health.READ_ELEVATION_GAINED
android.permission.health.WRITE_ELEVATION_GAINED |
ExerciseSession |
android.permission.health.READ_EXERCISE
android.permission.health.WRITE_EXERCISE |
FloorsClimbed |
android.permission.health.READ_FLOORS_CLIMBED
android.permission.health.WRITE_FLOORS_CLIMBED |
HeartRate |
android.permission.health.READ_HEART_RATE
android.permission.health.WRITE_HEART_RATE |
HeartRateVariabilityRmssd |
android.permission.health.READ_HEART_RATE_VARIABILITY
android.permission.health.WRITE_HEART_RATE_VARIABILITY |
Height |
android.permission.health.READ_HEIGHT
android.permission.health.WRITE_HEIGHT |
Hydration |
android.permission.health.READ_HYDRATION
android.permission.health.WRITE_HYDRATION |
IntermenstrualBleeding |
android.permission.health.READ_INTERMENSTRUAL_BLEEDING
android.permission.health.WRITE_INTERMENSTRUAL_BLEEDING |
LeanBodyMass |
android.permission.health.READ_LEAN_BODY_MASS
android.permission.health.WRITE_LEAN_BODY_MASS |
MenstruationFlow |
android.permission.health.READ_MENSTRUATION
android.permission.health.WRITE_MENSTRUATION |
MenstruationPeriod |
android.permission.health.READ_MENSTRUATION
android.permission.health.WRITE_MENSTRUATION |
Nutrition |
android.permission.health.READ_NUTRITION
android.permission.health.WRITE_NUTRITION |
OvulationTest |
android.permission.health.READ_OVULATION_TEST
android.permission.health.WRITE_OVULATION_TEST |
OxygenSaturation |
android.permission.health.READ_OXYGEN_SATURATION
android.permission.health.WRITE_OXYGEN_SATURATION |
Power |
android.permission.health.READ_POWER
android.permission.health.WRITE_POWER |
RespiratoryRate |
android.permission.health.READ_RESPIRATORY_RATE
android.permission.health.WRITE_RESPIRATORY_RATE |
RestingHeartRate |
android.permission.health.READ_RESTING_HEART_RATE
android.permission.health.WRITE_RESTING_HEART_RATE |
SexualActivity |
android.permission.health.READ_SEXUAL_ACTIVITY
android.permission.health.WRITE_SEXUAL_ACTIVITY |
SleepSession |
android.permission.health.READ_SLEEP
android.permission.health.WRITE_SLEEP |
Speed |
android.permission.health.READ_SPEED
android.permission.health.WRITE_SPEED |
StepsCadence |
android.permission.health.READ_STEPS
android.permission.health.WRITE_STEPS |
Steps |
android.permission.health.READ_STEPS
android.permission.health.WRITE_STEPS |
TotalCaloriesBurned |
android.permission.health.READ_TOTAL_CALORIES_BURNED
android.permission.health.WRITE_TOTAL_CALORIES_BURNED |
Vo2Max |
android.permission.health.READ_VO2_MAX
android.permission.health.WRITE_VO2_MAX |
Weight |
android.permission.health.READ_WEIGHT
android.permission.health.WRITE_WEIGHT |
WheelchairPushes |
android.permission.health.READ_WHEELCHAIR_PUSHES
android.permission.health.WRITE_WHEELCHAIR_PUSHES |
1.0.0-alpha09 以前の場合
レコードクラスの型 | 読み取りと書き込みの権限の宣言 |
---|---|
ActiveCaloriesBurned |
androidx.health.permission.ActiveCaloriesBurned.READ
androidx.health.permission.ActiveCaloriesBurned.WRITE |
BasalBodyTemperature |
androidx.health.permission.BasalBodyTemperature.READ
androidx.health.permission.BasalBodyTemperature.WRITE |
BasalMetabolicRate |
androidx.health.permission.BasalMetabolicRate.READ
androidx.health.permission.BasalMetabolicRate.WRITE |
BloodGlucose |
androidx.health.permission.BloodGlucose.READ
androidx.health.permission.BloodGlucose.WRITE |
BloodPressure |
androidx.health.permission.BloodPressure.READ
androidx.health.permission.BloodPressure.WRITE |
BodyFat |
androidx.health.permission.BodyFat.READ
androidx.health.permission.BodyFat.WRITE |
BodyTemperature |
androidx.health.permission.BodyTemperature.READ
androidx.health.permission.BodyTemperature.WRITE |
BodyWaterMass |
androidx.health.permission.BodyWaterMass.READ
androidx.health.permission.BodyWaterMass.WRITE |
BoneMass |
androidx.health.permission.BoneMass.READ
androidx.health.permission.BoneMass.WRITE |
CervicalMucus |
androidx.health.permission.CervicalMucus.READ
androidx.health.permission.CervicalMucus.WRITE |
CyclingPedalingCadence |
androidx.health.permission.CyclingPedalingCadence.READ
androidx.health.permission.CyclingPedalingCadence.WRITE |
Distance |
androidx.health.permission.Distance.READ
androidx.health.permission.Distance.WRITE |
ElevationGained |
androidx.health.permission.ElevationGained.READ
androidx.health.permission.ElevationGained.WRITE |
ExerciseSession |
androidx.health.permission.ExerciseSession.READ
androidx.health.permission.ExerciseSession.WRITE |
FloorsClimbed |
androidx.health.permission.FloorsClimbed.READ
androidx.health.permission.FloorsClimbed.WRITE |
HeartRate |
androidx.health.permission.HeartRate.READ
androidx.health.permission.HeartRate.WRITE |
HeartRateVariabilityRmssd |
androidx.health.permission.HeartRateVariabilityRmssd.READ
androidx.health.permission.HeartRateVariabilityRmssd.WRITE |
Height |
androidx.health.permission.Height.READ
androidx.health.permission.Height.WRITE |
Hydration |
androidx.health.permission.Hydration.READ
androidx.health.permission.Hydration.WRITE |
IntermenstrualBleeding |
androidx.health.permission.IntermenstrualBleeding.READ
androidx.health.permission.IntermenstrualBleeding.WRITE |
LeanBodyMass |
androidx.health.permission.LeanBodyMass.READ
androidx.health.permission.LeanBodyMass.WRITE |
MenstruationFlow |
androidx.health.permission.MenstruationFlow.READ
androidx.health.permission.MenstruationFlow.WRITE |
Nutrition |
androidx.health.permission.Nutrition.READ
androidx.health.permission.Nutrition.WRITE |
OvulationTest |
androidx.health.permission.OvulationTest.READ
androidx.health.permission.OvulationTest.WRITE |
OxygenSaturation |
androidx.health.permission.OxygenSaturation.READ
androidx.health.permission.OxygenSaturation.WRITE |
Power |
androidx.health.permission.Power.READ
androidx.health.permission.Power.WRITE |
RespiratoryRate |
androidx.health.permission.RespiratoryRate.READ
androidx.health.permission.RespiratoryRate.WRITE |
RestingHeartRate |
androidx.health.permission.RestingHeartRate.READ
androidx.health.permission.RestingHeartRate.WRITE |
SexualActivity |
androidx.health.permission.SexualActivity.READ
androidx.health.permission.SexualActivity.WRITE |
SleepSession |
androidx.health.permission.SleepSession.READ
androidx.health.permission.SleepSession.WRITE |
Speed |
androidx.health.permission.Speed.READ
androidx.health.permission.Speed.WRITE |
StepsCadence |
androidx.health.permission.StepsCadence.READ
androidx.health.permission.StepsCadence.WRITE |
Steps |
androidx.health.permission.Steps.READ
androidx.health.permission.Steps.WRITE |
TotalCaloriesBurned |
androidx.health.permission.TotalCaloriesBurned.READ
androidx.health.permission.TotalCaloriesBurned.WRITE |
Vo2Max |
androidx.health.permission.Vo2Max.READ
androidx.health.permission.Vo2Max.WRITE |
Weight |
androidx.health.permission.Weight.READ
androidx.health.permission.Weight.WRITE |
WheelchairPushes |
androidx.health.permission.WheelchairPushes.READ
androidx.health.permission.WheelchairPushes.WRITE |
データの種類と権限を確認する
データ型と権限について計画したので、次は 開発中に使用できます。
Google Play ストアにアップロードする前にアプリをレビューする際には、 アプリに必要なデータ型と権限のリスト。これにより、 アプリのデータ使用を正確に宣言している。
Google Play ストアにアプリを公開する準備が整うと、 アプリがヘルスコネクトのデータ型へのアクセスを宣言する あります。そうしないと、エラー メッセージが表示され、アプリで 特殊なデータを必要とするため、ヘルスコネクトのデータ型にはアクセスできません。 できます。