ヘルスコネクト

  
ユーザーの健康状態やフィットネスの記録をデベロッパーが読み取り/ 書き込みできるようにします。
最新の更新 安定版リリース リリース候補版 ベータ版リリース アルファ版リリース
2025 年 1 月 15 日 - - - 1.1.0-alpha11

データ型へのアクセス権のリクエスト

ユーザーのプライバシーとセキュリティを強化できるように、ヘルスコネクトと統合するデベロッパーは、アプリで使用するデータ型について、読み取り/書き込みアクセス権を申告する必要があります。デベロッパーは、アプリの目的に応じて使用するデータ型について、有効なユースケースを申告する必要があります。詳しくは、健康アプリ申告フォームの情報を提供するAndroid のヘルスコネクトの権限をご覧ください。

依存関係の宣言

health への依存関係を追加するには、Google の Maven リポジトリをプロジェクトに追加する必要があります。詳しくは、Google の Maven リポジトリをご覧ください。

アプリまたはモジュールの build.gradle ファイルに、必要なアーティファクトの依存関係を追加します。

Groovy

dependencies {
    // Use to implement health connects
    implementation "androidx.health.connect:connect-client:1.1.0-alpha08"
}

Kotlin

dependencies {
    // Use to implement health connects
    implementation("androidx.health.connect:connect-client:1.1.0-alpha08")
}

依存関係について詳しくは、ビルド依存関係の追加をご覧ください。

フィードバック

お寄せいただいたフィードバックは Jetpack 改善の参考にさせていただきます。新しい問題が見つかった場合や、このライブラリを改善するアイデアをお持ちの場合は、お知らせください。新しい問題を報告していただく前に、このライブラリの既存の問題をご確認ください。スターボタンをクリックすると、既存の問題に投票できます。

新しい問題を報告する

詳細については、Issue Tracker のドキュメントをご覧ください。

Health Connect Testing バージョン 1.0

バージョン 1.0.0-alpha01

2024 年 9 月 4 日

androidx.health.connect:connect-testing:1.0.0-alpha01 がリリースされました。バージョン 1.0.0-alpha01 には、これらの commit が含まれています。

新機能

ヘルスコネクト テスト ライブラリを使用すると、自動テストの作成が簡単になります。このライブラリを使用すると、アプリの動作を検証し、手動でテストするのが難しい珍しいケースにアプリが正しく応答することを検証できます。

このライブラリを使用してローカル単体テストを作成できます。通常、これは、Health Connect クライアントとやり取りするアプリ内のクラスの動作を検証します。

ライブラリへのエントリ ポイントは FakeHealthConnectClient クラスです。このクラスは、テストで HealthConnectClient の代わりに使用します。これには、次のような機能があります。

  • レコードのメモリ内表現。挿入、削除、削除、読み取りが可能です。
  • 変更トークンの生成と変更のトラッキング
  • レコードと変更のページ分け
  • 集計レスポンスはスタブでサポートされています
  • 任意の関数で例外をスローできるようにする
  • 権限チェックをエミュレートするために使用できる FakePermissionController

API の変更

  • FakeHealthConnectClient e8469 を追加
  • FakeHealthConnectClient のスタブ オーバーライドを追加 e8469

バージョン 1.1

バージョン 1.1.0-alpha11

2025 年 1 月 15 日

androidx.health.connect:connect-client:1.1.0-alpha11androidx.health.connect:connect-client-external-protobuf:1.1.0-alpha11androidx.health.connect:connect-client-proto:1.1.0-alpha11 がリリースされました。バージョン 1.1.0-alpha11 に含まれる commit はこちらをご覧ください。

新機能

  • バックグラウンドと履歴の読み取り権限を更新し、Android 13 以前をサポートしました。

API の変更

  • HealthPermission.getReadPermissionHealthPermission.getWritePermission の具体的なインライン オーバーロードを追加しました。(I59a2e

バグの修正

  • 以前の権限メソッドを削除しました(Ifd080
  • このライブラリは、型使用である JSpecify nullness アノテーションを使用するようになりました。Kotlin デベロッパーは、-Xjspecify-annotations=strict-Xtype-enhancement-improvements-strict-mode の各コンパイラ引数を使用して、正しい使用を強制する必要があります。(Iaf73ab/326456246
  • HealthPermission.READ_HEALTH_DATA_HISTORY のドキュメントを修正しました。具体的には、この権限のない読み取りが失敗するのは、単一のデータポイントの読み取りを試行した場合に限られることを指摘しました。(Id5b5a

バージョン 1.1.0-alpha10

2024 年 10 月 16 日

androidx.health.connect:connect-client:1.1.0-alpha10androidx.health.connect:connect-client-external-protobuf:1.1.0-alpha10androidx.health.connect:connect-client-proto:1.1.0-alpha10 がリリースされました。バージョン 1.1.0-alpha10 に含まれる commit はこちらをご覧ください。

新機能

  • SkinTemperature 集計タイプを追加しました。(Ibe123
  • FEATURE_PLANNED_EXERCISE 定数を追加しました。(Ie02a3
  • 履歴読み取り権限を追加しました。(I5cf41
  • Training plans API を追加しました(If5be1
  • SkinTemperatureRecord API を追加しました。(I5605d

セキュリティに関する修正

  • この変更により、androidx は protobuf 4.28.2 に対してコンパイルされ、CVE-2024-7254 に対処します。androidx.health:connect:connect-client-protoandroidx.health:connect:connect-client-external-protobuf の依存関係を最新の 1.1.0-alpha10 にアップグレードして、脆弱性リスクに対処します。

バージョン 1.1.0-alpha09

2024 年 9 月 18 日

androidx.health.connect:connect-client:1.1.0-alpha09androidx.health.connect:connect-client-external-protobuf:1.1.0-alpha09androidx.health.connect:connect-client-proto:1.1.0-alpha09 がリリースされました。バージョン 1.1.0-alpha09 に含まれる commit はこちらをご覧ください。

新機能

  • 機能の可用性によって保護されるバックグラウンド読み取り権限を追加しました。(I01036I44db9

バージョン 1.1.0-alpha08

2024 年 9 月 4 日

androidx.health.connect:connect-client:1.1.0-alpha08androidx.health.connect:connect-client-external-protobuf:1.1.0-alpha08androidx.health.connect:connect-client-proto:1.1.0-alpha08 がリリースされました。バージョン 1.1.0-alpha08 に含まれる commit はこちらをご覧ください。

API の変更

  • HealthConnectClient の features 変数にデフォルト値を設定。(I788dc
  • 機能の可用性を確認する API を追加しました。(Iedd43

バグの修正

  • U+ 5802fHealthConnectManager が null の場合、HealthConnectClient.getSdkStatus()SDK_UNAVAILABLE を返す
  • toString オーバーライドを RecordClasses に追加 aa5dc
  • 新しいプラットフォーム API へのアクセスの手動アウトラインを削除しました。これは、AGP 7.3 以降(R8 バージョン 3.3 など)で R8 を使用する場合、および AGP 8.1 以降(D8 バージョン 8.1 など)を使用するすべてのビルドで、API モデリングによって自動的に行われるためです。AGP を使用していないクライアントは、D8 バージョン 8.1 以降にアップデートすることをおすすめします。詳しくは、こちらの記事をご覧ください。(If6b4cb/345472586

バージョン 1.1.0-alpha07

2024 年 1 月 10 日

androidx.health.connect:connect-client:1.1.0-alpha07 がリリースされました。バージョン 1.1.0-alpha07 に含まれる commit については、こちらをご覧ください。

API の変更

  • プロファイル ユーザーのコンテキストから #getSdkStatus が呼び出された場合は SDK_UNAVAILABLE を返します。(I91df3
  • SleepStageRecord を削除しました。(/If6ada

バグの修正

  • バインディングの失敗時に IllegalStateException ではなく RemoteException をスロー。(Id2233

バージョン 1.1.0-alpha06

2023 年 10 月 18 日

androidx.health.connect:connect-client:1.1.0-alpha06 がリリースされました。バージョン 1.1.0-alpha06 に含まれる commit については、こちらをご覧ください

API の変更

  • recordingMethod 定義を公開します。(I401fb

バグの修正

  • エクササイズ ルートに、場所がセッションの終了時間より前である必要があることを指定するドキュメントを追加しました。(0e51e6

バージョン 1.1.0-alpha05

2023 年 10 月 4 日

androidx.health.connect:connect-client:1.1.0-alpha05 がリリースされました。バージョン 1.1.0-alpha05 に含まれる commit については、こちらをご覧ください

API の変更

  • ヘルスコネクトのデータ管理画面に移動するインテントを追加しました。(Ibf591
  • AggregationResult の非推奨メソッドを削除しました。(Idbda9
  • ReadRecordsRequest の作成、レコードの削除と読み取り、再実体化されたレコードタイプのためのコンビニエンス API を追加しました。(If58a5

バグの修正

  • Android 14 で、null の栄養成分フィールドが Double.MIN_VALUE として返されるバグを修正しました。(1aa1d1
  • バケットの開始時間と終了時間が同じであるために、月単位または年単位での集計でレスポンスで例外がスローされるという Android 14 のバグを修正しました。(281313

バージョン 1.1.0-alpha04

2023 年 9 月 6 日

androidx.health.connect:connect-client:1.1.0-alpha04 がリリースされました。バージョン 1.1.0-alpha04 に含まれる commit については、こちらをご覧ください

API の変更

バグの修正

  • 空のロケーション リストを含む ExerciseRouteExerciseSessionRecord が作成されたときにスローされる例外を修正しました。(I45c16
  • 睡眠セッションの読み取りに関する SleepSessionRecord のドキュメントとサンプルコードを更新しました。(Idf0de

バージョン 1.1.0-alpha03

2023 年 7 月 26 日

androidx.health.connect:connect-client:1.1.0-alpha03 がリリースされました。バージョン 1.1.0-alpha03 に含まれる commit については、こちらをご覧ください

新機能

  • エクササイズ ルートの読み取りと書き込みを行う API:
    • ExerciseRouteResult」を「ExerciseSessionRecord」に追加しました
    • ExerciseRouteRequestContract を追加しました

API の変更

  • ExerciseRouteResult とそのサブクラス(DataNoDataConsentRequiredStates)を追加しました。
  • ルートの位置情報を保持するスタンドアロン クラスとして ExerciseRoute を追加しました。(I22eed
  • PERMISSION_WRITE_EXERCISE_ROUTE を追加しました。(I92fc4
  • ExerciseRouteRequestContract を追加し、HealthPermissionsRequestContract を追加しました。(Ief0e5

バグの修正

  • キロジュール単位のエネルギーの作成を修正しました。(Ie8791

バージョン 1.1.0-alpha02

2023 年 6 月 21 日

androidx.health.connect:connect-client:1.1.0-alpha02 がリリースされました。バージョン 1.1.0-alpha02 に含まれる commit については、こちらをご覧ください

バグの修正

  • HealthDataSdkService リークを修正しました。(Ia3ba5
  • Android U で権限をリクエストするときに、常に適切な HealthConnect クライアントにリダイレクトします。(I6415a

バージョン 1.1.0-alpha01

2023 年 6 月 7 日

androidx.health.connect:connect-client:1.1.0-alpha01 がリリースされました。このバージョンは内部ブランチで開発されています。

新機能

  • Android 14 フレームワーク バージョンのヘルスコネクトのサポート。この SDK は Android 14 の前提条件です。これを行わないと、Android 14 でヘルスコネクトとアプリを統合できなくなります。
  • メタデータを記録する録画方法を追加しました。

API の変更

  • Session API の変更:
    • SleepSessionRecord にさまざまな睡眠ステージを追加し、SleepStageRecord を削除しました。
    • ExerciseSessionRecordExerciseLapExerciseSegment を追加しました。
  • 読み取り、変更履歴、挿入、削除オペレーションの定期的なレート制限と 1 日あたりのレート制限(メモリ制限を含む)。
  • すべての NutritionRecord フィールドの検証を追加しました。
  • HeartRateVariabilityRmssdRecord の検証を追加しました。
  • 非推奨の 2 つの API(HealthConnectClient#isProviderAvailableHealthConnectClient#isApiSupported)を削除しました。

バグの修正

  • すべての単位タイプの単位の等価性を修正しました。単位の等価性は、単位の初期化に使用される型に依存しなくなりました。たとえば、Mass.grams(1000) は Mass.kilograms(1) と同じになりました。

バージョン 1.0

バージョン 1.0.0-alpha11

2023 年 2 月 22 日

androidx.health.connect:connect-client:1.0.0-alpha11 がリリースされました。バージョン 1.0.0-alpha11 に含まれる commit については、こちらをご覧ください

API の変更

  • ヘルスコネクトを開くために使用するインテントを追加しました。(Ic8055
  • 一部のエクササイズ タイプを削除しました。削除されたタイプの代わりに EXERCISE_TYPE_STRENGTH_TRAININGEXERCISE_TYPE_HIGH_INTENSITY_INTERVAL_TRAINING、または EXERCISE_TYPE_CALISTHENICS を使用してください。(I7291c
  • サポートが終了した 2 つの API isSdkSupported()isProviderAvailable() を組み合わせた、新しい API sdkStatus() を追加しました。(Iac89d
  • providerPackageName を受け入れる API を変更して、リストではなく 1 つの文字列を受け入れるようにしました。(I67e0f

バージョン 1.0.0-alpha10

2023 年 1 月 25 日

androidx.health.connect:connect-client:1.0.0-alpha10 がリリースされました。バージョン 1.0.0-alpha10 に含まれる commit については、こちらをご覧ください。

API の変更

  • ExerciseEventRecordExerciseLapRecordExerciseRepititionRecordSwimmingStrokesRecordRecordTypes としてサポートされなくなりました。HealthConnect に対する書き込みと読み取りができなくなります。 HealthConnect 統合からこれらのデータ型への参照をすべて削除します。(If7ca2
  • 新しい文字列ベースの形式で権限が受け入れられるように権限 API を変更しました。この変更に伴い、権限の申告を Android 標準の権限形式に変更することも必要になります。(Ib0a2f

バージョン 1.0.0-alpha09

2023 年 1 月 11 日

androidx.health.connect:connect-client:1.0.0-alpha09 がリリースされました。バージョン 1.0.0-alpha09 に含まれる commit については、こちらをご覧ください。

新機能

  • ヘルスコネクト用に女性の健康に関するデータ型を 2 つ追加しました(IntermenstrualBleedingRecordMenstruationPeriodRecord)。MenstruationFlow.ENUMs は、Light、Medium、Heavy、Unknown です。

API の変更

  • IntermenstrualBleedingRecord を追加しました(Idc470
  • レコードタイプ MenstruationPeriodRecord を追加しました(Iea545

バージョン 1.0.0-alpha08

2022 年 12 月 7 日

androidx.health.connect:connect-client:1.0.0-alpha08 がリリースされました。バージョン 1.0.0-alpha08 に含まれる commit については、こちらをご覧ください

API の変更

  • サポートされている新しいレコードタイプとして BodyWaterMassHeartRateVariabilityRmssdRecord を追加しました。(Ifd58f
  • サポートされている RecordTypes として HipCircumferenceRecordWaistCircumferenceRecord を削除しました。(I62fb9
  • MenstruationFlowRecord.flowstringdef から intdefs に変更しました。(I0369f
  • パフォーマンスを向上させるために、Strings を含む列挙型のようなレコード フィールドを Integers に変更しました。(I3b295
  • ExerciseSessionExerciseRepetitionsSleepStage の列挙型のようなフィールドを文字列から整数型に変更しました。(Id32a9
  • ExerciseSessionRecord.ACTIVE_TIME_TOTAL->EXERCISE_DURATION_TOTAL に変更しました。(I5d7bd
  • CervicalMucus 列挙型に「Unusual」を追加しました。より明確にするために「Clear」を「Eggwhite」に変更しました。CervicalMucus#appearance と #sensation を StringDefs から IntDefs に変更しました。(I3ac51
  • DeviceTypes 列挙型の StringDef が [Device] の IntDefs に移動しました。(I3abf3
  • 互換性のある実装がない SDK バージョンで false を返す HealthConnectClient.isApiSupported() を追加しました。HealthConnectClient.isAvailable->isProviderAvailable に変更しました。(I3674e

バグの修正

  • 1 未満の HeartRate beatsPerMinute 値を禁止します。(I6052f
  • @JvmDefaultWithCompatibility アノテーションを追加しました。(I8f206

バージョン 1.0.0-alpha07

2022 年 10 月 24 日

androidx.health.connect:connect-client:1.0.0-alpha07 がリリースされました。バージョン 1.0.0-alpha07 に含まれる commit については、こちらをご覧ください。

API の変更

  • デフォルト値がないレコード引数は、デフォルト値がある引数の前に配置されます。整合性を保つため、Instant 引数と ZoneOffset 引数は常に先頭に配置されます。(Id618c
  • HealthConnectClient.getOrCreate#packageNamesproviderPackageNames に変更しました。(Id81e4

バグの修正

  • レコード フィールド値の検証を追加しました。指定された値が妥当な範囲の外にある場合、極端に誤った値について IllegalArgumentExceptions をスローします。(Ie171d
  • 該当する場合は、レコード開始時間が終了時間より前かどうかを検証します。(I02460

バージョン 1.0.0-alpha06

2022 年 10 月 5 日

androidx.health.connect:connect-client:1.0.0-alpha06 がリリースされました。バージョン 1.0.0-alpha06 に含まれる commit については、こちらをご覧ください。

バグの修正

  • サービス接続のライフサイクルを改善しました。(If2bd5
  • サービス接続で例外が発生した場合に NPE がクラッシュするバグを修正しました。(I13546

バージョン 1.0.0-alpha05

2022 年 9 月 21 日

androidx.health.connect:connect-client:1.0.0-alpha05 がリリースされました。バージョン 1.0.0-alpha05 に含まれる commit については、こちらをご覧ください

API の変更

  • Metadata.uidMetadata.id に変更し、関連する CRUD API 全体で用語 recordId を統一しました。(I3d1d2
  • PermissionController.createRequestPermissionActivityContract をインスタンス メソッドではなく静的メソッドにしました。PermissionController.createRequestPermissionResultContract に変更しました。(Icd2fe
  • BloodGlucoseRecord の単位タイプとして BloodGlucose を追加しました。(I97678
  • MenstruationRecordMenstruationFlowRecord に変更しました。(I3b88e

バグの修正

  • クライアント プロセスからフォアグラウンドのデータを伝播しない意図しない動作を修正しました。(Ifb44c

バージョン 1.0.0-alpha04

2022 年 8 月 24 日、androidx.health.connect:connect-client:1.0.0-alpha04 がリリースされました。バージョン 1.0.0-alpha04 に含まれる commit については、こちらをご覧ください

androidx.health.connect への移行

1.0.0-alpha04 以降、androidx.health:health-connect-clientandroidx.health.connect:connect-client に移行されました。以前のバージョンのヘルスコネクトについては、androidx.health ページをご覧ください。

移行するには、単に依存関係のインポートを androidx.health:health-connect-client:1.0.0-alpha03 から androidx.health.connect:connect-client:1.0.0-alpha04 に変更します。

新機能

  • API 呼び出し用の組み込みのデバッグログをオプションとして追加しました(リンク)。

API の変更

  • メタデータ clientIdclientRecordId に、clientVersionclientRecordVersion に変更しました。(リンク
  • メタデータの uid を読みやすくし、null 可能性はなくなりました。(リンク
  • 質量単位にポンドを追加しました(リンク
  • DeletionChange.deleteUid を uid に変更しました(リンク
  • Permission を HealthPermission に変更しました。これにより、Android フレームワークの権限の曖昧さを回避できます。(リンク

バグの修正

  • エネルギーのカロリー単位の誤りに関する回帰問題を修正しました(リンク
  • 一部のレコード型の集約に関する回帰問題を修正しました(リンク