ヘルスコネクトのデータ型を計画して確認する

ヘルスコネクトは、健康とフィットネスに関するデータを保存し、構造化します。また、 異なるデータの種類を測定する方法に 基づいていますこれらのデータタイプには、心拍数、 すぐに測定された測定、経時的に測定された歩数、取得された睡眠データ あります。

まず、状態と権限の健全性を理解することが重要です。 オファーを連携させて、アプリの要件を計画できるようにします。これで、 要件を確定する前にデータの種類を確認する必要があります。

データ型のカテゴリ

ヘルスコネクトは、ほとんどの健康とフィットネスで使用されるデータタイプをサポートしています。 できる限り多様なアプリを提供したいと 考えていますヘルスコネクトは、 包括的なビューとストレージを提供します。これらのデータ型は 次のカテゴリに分類できます

  • アクティビティ: ユーザーが行ったアクティビティをキャプチャします。ランニングや水泳、睡眠などの健康とフィットネスに関するアクティビティが該当します。
  • 身体測定: 次のような身体に関連する一般的なデータをキャプチャします。 ユーザーの体重と基礎代謝率。
  • 月経周期の管理: 排卵検査のバイナリ結果など、月経周期および関連するデータポイントをキャプチャします。
  • 栄養: 水分摂取と栄養に関するデータ型をキャプチャします。前者 ユーザーが 1 回の飲み物で摂取する水の量を表します。後者 には、カロリー、砂糖、マグネシウムなどの任意のフィールドが含まれます。
  • 睡眠: ユーザーの睡眠の長さと種類に関連するデータを継続的にキャプチャします。
  • 主な指標: ユーザーの健康全般に関する重要な情報をキャプチャします。体温、血糖値、血糖値などのデータが含まれます。 血圧、血中酸素飽和度です

データ型の形式

ヘルスコネクトのデータ型は、 Record

データ型ごとに、汎用的なフィールドが関連付けられています。 timezoneOffset、または特定の titlecountpercentage など。 long、double、string などの単純な型が使用されるフィールドもあれば、 列挙型などの複雑な型と、InstantZoneOffset。これらのフィールドの属性は必須、または オプションです。一部の属性は読み取り専用です。また、一部の属性は 指定することもできます。

使用可能なデータ型とそのフィールドの完全なリストについては、 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 ストアにアプリを公開する準備が整うと、 アプリがヘルスコネクトのデータ型へのアクセスを宣言する あります。そうしないと、エラー メッセージが表示され、アプリで 特殊なデータを必要とするため、ヘルスコネクトのデータ型にはアクセスできません。 できます。