健康
最新の更新 | 安定版リリース | リリース候補版 | ベータ版リリース | アルファ版リリース |
---|---|---|---|---|
2024 年 5 月 14 日 | - | 1.0.0-rc02 | - | 1.1.0-alpha03 |
依存関係の宣言
Health への依存関係を追加するには、Google の Maven リポジトリをプロジェクトに追加する必要があります。詳しくは、Google の Maven リポジトリをご覧ください。
アプリまたはモジュールの build.gradle
ファイルに、必要なアーティファクトの依存関係を追加します。
Groovy
dependencies { implementation "androidx.health:health-services-client:1.1.0-alpha04" }
Kotlin
dependencies { implementation("androidx.health:health-services-client:1.1.0-alpha04") }
フィードバック
お寄せいただいたフィードバックは Jetpack 改善の参考にさせていただきます。新しい問題が見つかった場合や、このライブラリを改善するアイデアをお持ちの場合は、お知らせください。新しい問題を報告していただく前に、このライブラリの既存の問題をご確認ください。スターボタンをクリックすると、既存の問題に投票できます。
詳細については、Issue Tracker のドキュメントをご覧ください。
ヘルスコネクト クライアント バージョン 1.0
バージョン 1.0.0-alpha04
2022 年 8 月 24 日
1.0.0-alpha04 以降、androidx.health:health-connect-client
は androidx.health.connect:connect-client
に移行されました。今後のリリースについては、androidx.health.connect:connect-client
、およびヘルスコネクト ページの関連するリリースノートを使用してください。
移行するには、依存関係のインポートを androidx.health:health-connect-client:1.0.0-alpha03
から androidx.health.connect:connect-client:1.0.0-alpha04
に変更します。
バージョン 1.0.0-alpha03
2022 年 7 月 27 日
androidx.health:health-connect-client:1.0.0-alpha03
がリリースされました。バージョン 1.0.0-alpha03 に含まれる commit については、こちらをご覧ください。
新機能
- 新しい API の変更の概要: 読み取り、書き込み、および集計 API に単位のセットが追加されました。アプリは、任意の単位(たとえば
NutritionRecord
栄養素の場合はグラムやミリグラム)でレコードの取得または書き込みを行えるようになりました。
API の変更
- 各種のリクエスト レスポンス オブジェクトで
List<DataOrigin>
をSet<DataOrigin>
に修正しました。(I42342) - パワー -> エネルギーの基礎合計カロリーの単位を修正しました。(I0b429)
- 級数レコード内の級数サンプルクラスを次のように移行しました。(Ica9bb)
CyclingPedalingCadence
->CyclingPedalingCadenceRecord.Sample
HeartRate
->HeartRateRecord.Sample
StepsCadence
->StepsCadenceRecord.Sample
HealthDataRequestPermission
クラスを非推奨にしてPermissionController.createRequestPermissionActivityContract
に置き換えました。これにより、検出可能性が向上し、パラメータ化の統合が促進されます。(I81e7f)- ボリュームに米国の液量オンスを追加しました。(I5f03d)
- 単位タイプとして速度を追加しました。(I1d574)
- 単位タイプとしてパーセンテージを追加しました。(I08f23)
- 単位タイプとして圧力を追加しました。(Ifb01f)
- 単位タイプとして質量を追加しました。(Ifd81a)
- 単位タイプとしてボリュームを追加しました。(I59ad1)
- 単位タイプとしてパワーを追加しました。
PowerRecord
クラス内のパワー級数サンプルクラスを移行しました。(I5b1e5) - 単位タイプとしてエネルギーを追加しました。(I983ae)
- 単位タイプとして温度を追加しました。(I4cdb5)
- Activity の参照の名前を、次のようにエクササイズ固有の名前に変更しました。(I3f936)
ActivityLap
->ExerciseLapRecord
に名前変更ActivityEvent
->ExerciseEventRecord
に名前変更Repetitions
->ExerciseRepetitionsRecord
に名前変更ActivitySession
->ExerciseSessionRecord
に名前変更
- パッケージ メタデータをレコードの下に移動してネストしました。(Ie0835)
- 残りのすべてのレコードでは長さ単位を使用しました。(Ib10dd):
ActivityLapRecord
ElevationGainedRecord
HeightRecord
HipCircumferenceRecord
WaistCircumferenceRecord
- 単位タイプとして長さを追加しました。(Idae39)
CervicalMucus
の説明の用語を更新しました。(I25a2b)CervicalMucus.Amount
->CervicalMucusRecord.Texture
CervicalMucus.Appearance
->CervicalMucusRecord.Sensation
- すべてのレコードクラス名に接尾辞「Record」を追加しました。(I1ffc2)
バグの修正
- リリースのフレーバーと
minifyEnabled
が true の状態で lib がビルドされたときの ProGuard の問題を修正しました。(I78933) - 一般公開用ではないドキュメントを非表示にします。(I7a08f)
- 独自の protobuf 依存関係を持つ可能性があるクライアントの問題を修正しました(https://android-review.googlesource.com/c/platform/frameworks/support/+/2105430)。
バージョン 1.0.0-alpha02
2022 年 6 月 1 日
androidx.health:health-connect-client:1.0.0-alpha02
がリリースされました。バージョン 1.0.0-alpha02 に含まれる commit については、こちらをご覧ください。
API の変更
AggregationResult
のhasMetric
とgetMetric
が非推奨になり、contains 演算子と get 演算子が追加されました。(I7cc7c)OvulationTest.Result.HIGH
とOvulationTest.Result.INCONCLUSIVE
を追加します。(I9f9c4)
バグの修正
- SDK 要件を 26 に減らします。(I6d201)
バージョン 1.0.0-alpha01
2022 年 5 月 11 日
androidx.health:health-connect-client:1.0.0-alpha01
がリリースされました。バージョン 1.0.0-alpha01 に含まれる commit については、こちらをご覧ください。
新機能
- 他のアプリと共有されているフィットネスや健康状態の記録を読み取るための API
- 他のアプリと共有するフィットネスや健康状態の記録を書き込むための API
- アクセス可能なレコードの集計指標を取得するための API
- 他のアプリによる記録の追加変更(挿入、更新、削除)を取得するための API
- 健康データへのアクセス許可をユーザーに促すための API
- 健康データへのアクセス許可を確認したり取り消したりするための API
ヘルスサービス クライアント バージョン 1.1
バージョン 1.1.0-alpha02
2023 年 12 月 13 日
androidx.health:health-services-client:1.1.0-alpha02
がリリースされました。バージョン 1.1.0-alpha02 に含まれる commit については、こちらをご覧ください。
API の変更
- サポートされている
ExerciseEvent
について、信頼できる唯一の情報源を使用します。(I03308)
バグの修正
- 軽微なバグを修正し、ドキュメントを改善しました。
バージョン 1.1.0-alpha01
2023 年 8 月 9 日
androidx.health:health-services-client:1.1.0-alpha01
がリリースされました。バージョン 1.1.0-alpha01 に含まれる commit については、こちらをご覧ください。
新機能
- 最初の具象イベント
GolfShotEvent
とともにExerciseEvent
API が追加されました。ExerciseEvent
プリミティブを使用すると、デベロッパーはサポートをクエリし、スマートウォッチが何かが発生したことを検出したときに通知を受けるようにリクエストできます。たとえば、GolfShotEvent
を使用すると、認識されたスイングタイプを受け取るだけでなく、ユーザーがゴルフのショットを打ったときにも通知を受け取ることができます。
API の変更
- WHS SDK クライアントが
GolfShotEvent
機能を使用できるようにします。(I76b03)
バグの修正
- 未知のエクササイズ イベント機能の表示に対して積極的に例外をスローする代わりに、リストから除外します。(I06afc)
ヘルスサービス クライアント バージョン 1.0
バージョン 1.1.0-alpha03
2024 年 5 月 14 日
androidx.health:health-services-client:1.1.0-alpha03
がリリースされました。バージョン 1.1.0-alpha03 に含まれる commit については、こちらをご覧ください。
新機能
- デバウンス機能(
initialDelay
とdurationAtThreshold
)を使用して、エクササイズ中にサンプルデータ型または統計サンプルデータ型の目標をトラッキングできるDebouncedGoal
API を導入しました。(I09be9) - 以下の高度な実行指標のサンプルと統計
DataTypes
を追加しました。(I0b8b5):Ground Contact Time
Vertical Oscillation
Vertical Ratio
Stride Length
API の変更
ELEVATION_GAIN_DAILY
DataType
を追加しました。(I059d1)SWIM_LAP_COUNT
の集計済みDataType
としてSWIM_LAP_COUNT_TOTAL
DataType
を追加しました。(I0beeb)
バグの修正
- IPC の信頼性を改善するために、さまざまな問題を修正しました。
バージョン 1.0.0-rc02
2024 年 4 月 3 日
androidx.health:health-services-client:1.0.0-rc02
がリリースされました。バージョン 1.0.0-rc02 に含まれる commit については、こちらをご覧ください。これはバグの修正のみのリリースであり、API の変更は含まれていません。
バグの修正
- IPC の信頼性を改善するために、さまざまな問題を修正しました
prepareExercise
と同時にstartExercise
を呼び出すとConcurrentModificationException
が発生する可能性がある問題を修正しました。(4e37773)- ドキュメントの改善
バージョン 1.0.0-rc01
2023 年 7 月 26 日
androidx.health:health-services-client:1.0.0-rc01
がリリースされました。バージョン 1.0.0-rc01 に含まれる commit については、こちらをご覧ください。
新機能
- ヘルスサービスは、ベータ版で安定した後、1.0.0-rc01 に移動しました。
API の変更
- h-thru m-paths の公開 API ファイルと試験運用版 API ファイルをマージしました。(Ic4630、b/278769092)
- 該当なし。API ファイルの変更は、単にメソッドを並べ替えるだけです。(I5fa95)
バージョン 1.0.0-beta03
2023 年 4 月 5 日
androidx.health:health-services-client:1.0.0-beta03
がリリースされました。バージョン 1.0.0-beta03 に含まれる commit については、こちらをご覧ください。
新機能
BatchingMode
は、アクティブなエクササイズ中(エクササイズの開始時、ExerciseConfig
またはオーバーライド メソッド中)にデフォルトではなく、設定した間隔でバッチ エクササイズ データを配信するよう設定できるようになりました。この機能のサポートは、Google Play ストアの今後のヘルスサービス リリースで可能になり、エクササイズ機能で確認できます。注: バッチ処理モードは、デバイスが非対話型の電力状態にあるときに有効になるため、消費電力が増加します。
API の変更
- suspend 関数
overrideBatchingModesForActiveExercise
が失敗した場合にHealthServicesException
をスローします。(Ifd387) - 非同期
overrideBatchingModesForActiveExercise
API の suspend 関数を導入して Kotlin で使いやすくしました。(I7dd15) BatchingMode
はExerciseConfig
でオプションのオーバーライドを行います。(Id22e9)
バグの修正
DataType
とExerciseUpdate
の軽微な修正。(5e185f)
バージョン 1.0.0-beta02
2023 年 1 月 11 日
androidx.health:health-services-client:1.0.0-beta02
がリリースされました。バージョン 1.0.0-beta02 に含まれる commit については、こちらをご覧ください。
新機能
- Kotlin のサポートを強化するため、既存の非同期
ListenableFuture
API のsuspend
拡張関数をExerciseClient
、PassiveMonitoringClient
、MeasureClient
に追加しました。(Iadea4) - エクササイズの進行中の更新を可能にする
ExerciseTypeConfig
API を追加しました。ゴルフ エクササイズ中のExerciseTypeConfig
の更新をサポートするためGolfExerciseTypeConfig
を追加しました。(I4c539)
API の変更
- suspend 関数で
HealthServicesException
をスローします。(I5e509) - 下位互換性を保つために別のコンストラクタを追加しました。(Iddeda)
- suspend 関数で
RuntimeException
をスローします。(I53bca) - 例外のスローのデフォルト実装を削除しました。(Id947f)
@JvmDefaultWithCompatibility
アノテーションを追加しました。(I8f206)
バグの修正
バージョン 1.0.0-beta01
2022 年 10 月 24 日
androidx.health:health-services-client:1.0.0-beta01
がリリースされました。バージョン 1.0.0-beta01 に含まれる commit については、こちらをご覧ください。
新機能
最初のイベントが
HealthEvent.FALL_DETECTED
であるPassiveMonitoringClient
を介してヘルスイベントをリッスンする機能が追加されました。新しいエクササイズの種類:
ALPINE_SKIING
BACKPACKING
CROSS_COUNTRY_SKIING
HORSE_RIDING
INLINE_SKATING
MOUNTAIN_BIKING
ORIENTEERING
ROLLER_SKATING
YACHTING
新しいデータ型:
ELEVATION_LOSS
GOLF_SHOT_COUNT
API の変更
- データのモデル化方法を更新: データモデルと、
DataType
、DataPoint
、およびそれらの基となる値を表現する手法が変更されました。最も大きな影響が生じるのは、API がより明示的でタイプセーフになったという点です。 - ロケーション
DataPoint
が、DoubleArray
としてではなく、厳密に型指定されたLocationData
オブジェクトとして表されるようになりました。 - パッシブ リスナー API の新しいセットに移動しました。
- ブロードキャストが
PassiveListenerService
に置き換えられました。 - 既存のリスナーが、単一のリスナー
PassiveListenerCallback
に置き換えられました。
- ブロードキャストが
- ヘルスサービスのマニフェストに
<queries>
タグを追加しました。これにより、アプリは独自のマニフェストでこれを指定する必要がなくなりました(ビルドシステムでマニフェスト マージが有効になっている場合)。 - エクササイズが終了中 / 終了済みであることを表すための多くの
ExerciseState
から移行し、新しいエクササイズの状態ENDING
とENDED
を追加しました。これらをExerciseEndReason
と組み合わせて、以前の状態のすべてを表現できます。 - 日常的なパッシブ目標のみをサポートすることをより反映させるために、
PassiveListenerConfig
setPassiveGoals
の名前をsetDailyGoals
に変更しました。 PassiveGoal
が常にREPEATED
になり、パッシブTriggerFrequency
が削除されました。- すべての
Long
パラメータとDouble
パラメータに@FloatRange
アノテーションを付けました。 ExerciseConfig
にswimmingPoolLengthMeters
プロパティを追加しました。このプロパティは、プール スイミングの距離計算を改善するためにオプションで指定できます。ExerciseUpdate.activeDuration
を非推奨としました。代わりにExerciseUpdate.activeDurationCheckpoint
を使用してくださいExerciseClient
の APIflushExerciseAsync()
の名前をflushAsync()
に変更しました。Measure.registerCallback
の名前をMeasure.registerMeasureCallback
に変更しました。- 全般的な名称の変更:
- 距離プロパティに
meters
接尾辞が付くようになりました。 - コールバック メソッド名が過去形になりました。
- ほとんどの略語が削除されました(
HrAccuracy
はHeartRateAccuracy
になりました)。 - パターン
enableFoo
に従うプロパティの名前がisFooEnabled
になりました。
- 距離プロパティに
- 列挙型から移行されました。
Double
で表される時刻がDuration
で表されるようになりました。ListenableFuture<Void?>
を返す関数がListenableFuture<Void>
を返すようになりました。- コールバックを受け入れる関数で、コールバックが常に最後のパラメータとして表示されるようになりました。
- ビルダーを持つクラスに、常にパブリック コンストラクタも含まれるようになりました。
- 登録関数が
ListenableFuture
を返さなくなり、代わりに、指定されたコールバックに登録ステータスを渡すようになりました。 - KDocs が改善されました。
- パブリック クラスが
ProtoParcelable
を拡張しなくなりました。
バグの修正
- IPC の信頼性を全般的に改善(I3b1e2)
バージョン 1.0.0-alpha03
2021 年 11 月 3 日
androidx.health:health-services-client:1.0.0-alpha03
がリリースされました。バージョン 1.0.0-alpha03 に含まれる commit については、こちらをご覧ください。
新機能
- SDK は、Health Services APK で IPC 接続が切断された場合に、測定、エクササイズ リスナー、およびパッシブ モニタリング コールバックの登録リクエストを自動的に再登録します。
API の変更
- ヘルスサービス クライアントは現在 Wear3 でのみサポートされているため、SDK ライブラリの minSdkVersion は API レベル 30 に引き上げられました。
バージョン 1.0.0-alpha02
2021 年 9 月 29 日
androidx.health:health-services-client:1.0.0-alpha02
がリリースされました。バージョン 1.0.0-alpha02 に含まれる commit については、こちらをご覧ください。
API の変更
ExerciseClient
がエクササイズの準備をサポートするようになりました。これにより、クライアントはセンサーをウォームアップし、GPS 修正などを待ってからエクササイズを開始できます。- CumulativeDataPoints および StatisticalDataPoints AggregateDataPoint クラスを導入し、アクティブなエクササイズ中にトラッキングされる集計指標をより適切にモデル化できるようにしました。CumulativeDataPoints は、集計された間隔データ型(エクササイズ中の合計距離など)の累積値を保持し、StatisticalDataPoints は、サンプリングされたデータポイント(HeartRateBpm の最小値、最大値、平均値など)の集計値をモデル化します。これは以前の
AGGREGATE_*
DataType に代わるものであり、getLatestAggregateMetrics()
を介して ExerciseUpdate 内でアクセスできます。AGGREGATE_*
DataType はサポート対象外になりました。 PassiveMonitoring
イベントの名前がPassiveGoals
に変更されました。このイベントは、日次指標(DAILY_STEPS など)のデータ型について、目標の設定と目標達成時の通知の受け取りをサポートします。- 新しい HrAccuracy クラス、LocationAccuracy クラス、LocationAvailability クラスの導入により、心拍数、位置情報の精度、可用性のモデル化を改善しました。
ExerciseConfig
と新しいPassiveMonitoringConfig
フィールドの名前を改善し、GPS に裏付けられたデータをリクエストするExerciseConfig.shouldEnableGps
を導入しました。
バグの修正
- 下位互換性のサポートを強化するため、proto に支えられた IPC トランスポートに移行しました。
バージョン 1.0.0-alpha01
2021 年 5 月 18 日
androidx.health:health-services-client:1.0.0-alpha01
がリリースされました。バージョン 1.0.0-alpha01 に含まれる commit については、こちらをご覧ください。
初回リリースの機能
Health Services ライブラリには統一された一連の API が用意されており、デベロッパーはデバイス固有のセンサーの実装と統合できます。Wear OS 3 エミュレータおよび近日発売予定のデバイスですぐに使用できます。今後、他のプラットフォームもサポートされる予定です。この初回リリースには、3 つのトップレベル API サーフェス(ExerciseClient
、PassiveMonitoringClient
、MeasureClient
)が含まれています。
ExerciseClient
ExerciseClient
は、アクティブなワークアウトをトラッキングするアプリ向けです。ウォーキングやランニングから、ダンスや水球まで、最大で 82 種類の ExerciseType
を利用できます。このようなエクササイズのトラッキングでは、デバイスで利用できるエクササイズのタイプとハードウェアに応じて、50 種類の DataType
が用意されています。まず、ExerciseConfig
で関連情報を指定し、exerciseClient.startExercise
を呼び出して、更新リスナーで進捗状況をリッスンします。
PassiveMonitoringClient
PassiveMonitoringClient
は、アプリで 1 日を通してユーザーのアクティビティをトラッキングする場合に最適です。PendingIntent
を DataType
のセットに登録して、一括変更を処理できるようになります。また、一定のステップ数への到達など、Event
を指定することもできます。
MeasureClient
運動中や 1 日を通してではなく、その瞬間の心拍数などを測定する必要がある場合もあります。そのような場合は、MeasureClient
が最適です。コールバックをサポートされている DataType
に登録するだけで、データ ストリームを受信でき、不要になったコールバックの登録は解除されます。