헬스 커넥트
최근 업데이트 | 안정화 버전 | 출시 후보 버전 | 베타 버전 | 알파 버전 |
---|---|---|---|---|
2025년 1월 15일 | - | - | - | 1.1.0-alpha11 |
데이터 유형에 대한 액세스 요청
헬스 커넥트와 통합하는 개발자는 사용자 개인 정보 보호와 보안 강화를 위해 앱에서 사용하는 데이터 유형에 대해 읽기 또는 쓰기 액세스 권한을 선언해야 합니다. 개발자는 앱의 목적에 따라 사용하는 데이터 유형에 대한 유효한 사용 사례를 포함해야 합니다. 자세한 내용은 건강 앱 선언 양식의 정보 제공 및 Android용 헬스 커넥트 권한을 참고하세요.
종속 항목 선언
헬스의 종속 항목을 추가하려면 프로젝트에 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을 개선하는 데 도움이 됩니다. 새로운 문제를 발견하거나 라이브러리 개선을 위한 아이디어가 있다면 Google에 알려 주세요. 새 문제를 제출하기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 투표할 수 있습니다.
자세한 내용은 Issue Tracker 문서를 참고하세요.
Health Connect 테스트 버전 1.0
버전 1.0.0-alpha01
2024년 9월 4일
androidx.health.connect:connect-testing:1.0.0-alpha01
이 출시되었습니다. 버전 1.0.0-alpha01에는 이 커밋이 포함되어 있습니다.
새로운 기능
헬스 커넥트 테스트 라이브러리는 자동화된 테스트를 간소화합니다. 이 라이브러리를 사용하여 애플리케이션의 동작을 확인하고 수동으로 테스트하기 어려운 드문 경우에 올바르게 응답하는지 검증할 수 있습니다.
이 라이브러리를 사용하여 로컬 단위 테스트를 만들 수 있습니다. 이 테스트는 일반적으로 앱에서 Health Connect 클라이언트와 상호작용하는 클래스의 동작을 확인합니다.
라이브러리의 진입점은 FakeHealthConnectClient
클래스이며, 이 클래스는 테스트에서 HealthConnectClient
를 대체하는 데 사용됩니다. 다음과 같은 기능이 있습니다.
- 레코드를 삽입, 삭제, 삭제, 읽을 수 있는 인메모리 표현
- 변경 토큰 생성 및 변경 추적
- 레코드 및 변경사항 페이지로 나누기
- 집계 응답은 스텁으로 지원됩니다.
- 모든 함수가 예외를 발생시킬 수 있습니다.
- 권한 확인을 에뮬레이션하는 데 사용할 수 있는
FakePermissionController
API 변경사항
버전 1.1
버전 1.1.0-alpha11
2025년 1월 15일
androidx.health.connect:connect-client:1.1.0-alpha11
, androidx.health.connect:connect-client-external-protobuf:1.1.0-alpha11
및 androidx.health.connect:connect-client-proto:1.1.0-alpha11
이 출시되었습니다. 버전 1.1.0-alpha11에는 이 커밋이 포함되어 있습니다.
새로운 기능
- Android 13 이하를 지원하도록 백그라운드 및 기록 읽기 권한을 업데이트했습니다.
API 변경사항
HealthPermission.getReadPermission
및HealthPermission.getWritePermission
의 인라인 구체화된 오버로드를 추가했습니다. (I59a2e)
버그 수정
- 기존 권한 메서드 삭제 (Ifd080)
- 이제 이 라이브러리는 유형 사용인 JSpecify nullness 주석을 사용합니다. Kotlin 개발자는 올바른 사용을 적용하기 위해 다음 컴파일러 인수(
-Xjspecify-annotations=strict
,-Xtype-enhancement-improvements-strict-mode
)를 사용해야 합니다. (Iaf73a, b/326456246) HealthPermission.READ_HEALTH_DATA_HISTORY
문서를 수정했습니다. 특히 이 권한이 없는 읽기는 단일 데이터 포인트를 읽으려고 할 때만 실패한다고 지적했습니다. (Id5b5a)
버전 1.1.0-alpha10
2024년 10월 16일
androidx.health.connect:connect-client:1.1.0-alpha10
, androidx.health.connect:connect-client-external-protobuf:1.1.0-alpha10
및 androidx.health.connect:connect-client-proto:1.1.0-alpha10
이 출시되었습니다. 버전 1.1.0-alpha10에는 이 커밋이 포함되어 있습니다.
새로운 기능
SkinTemperature
집계 유형이 추가되었습니다. (Ibe123)FEATURE_PLANNED_EXERCISE
상수를 추가했습니다. (Ie02a3)- 기록 읽기 권한을 추가했습니다. (I5cf41)
- Training plans API를 추가했습니다. (If5be1)
SkinTemperatureRecord
API를 추가했습니다. (I5605d)
보안 수정사항
- 이 변경사항부터 androidx는 CVE-2024-7254를 해결하기 위해 protobuf 4.28.2를 기준으로 컴파일합니다. 취약점 위험을 해결하려면
androidx.health:connect:connect-client-proto
및androidx.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-alpha09
, androidx.health.connect:connect-client-external-protobuf:1.1.0-alpha09
및 androidx.health.connect:connect-client-proto:1.1.0-alpha09
이 출시되었습니다. 버전 1.1.0-alpha09에는 이 커밋이 포함되어 있습니다.
새로운 기능
버전 1.1.0-alpha08
2024년 9월 4일
androidx.health.connect:connect-client:1.1.0-alpha08
, androidx.health.connect:connect-client-external-protobuf:1.1.0-alpha08
및 androidx.health.connect:connect-client-proto:1.1.0-alpha08
이 출시되었습니다. 버전 1.1.0-alpha08에는 이 커밋이 포함되어 있습니다.
API 변경사항
버그 수정
- U+5802f에서
HealthConnectManager
가 null인 경우HealthConnectClient.getSdkStatus()
에서SDK_UNAVAILABLE
를 반환합니다. RecordClasses
에toString
재정의를 추가했습니다. aa5dc- 새 플랫폼 API에 대한 액세스 수동 개요가 삭제되었습니다. AGP 7.3 이상 (예: R8 버전 3.3)에서 R8을 사용하고 있을 때와 AGP 8.1 이상 (예: D8 버전 8.1)을 사용할 때 모든 빌드에서 API 모델링을 통해 자동으로 이루어지기 때문입니다. AGP를 사용하지 않는 클라이언트는 D8 버전 8.1 이상으로 업데이트하는 것이 좋습니다. 자세한 내용은 이 도움말을 참조하세요. (If6b4c, b/345472586)
버전 1.1.0-alpha07
2024년 1월 10일
androidx.health.connect:connect-client:1.1.0-alpha07
이 출시되었습니다. 버전 1.1.0-alpha07에 포함된 커밋을 확인하세요.
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에 포함된 커밋을 확인하세요.
API 변경사항
recordingMethod
정의를 공개로 설정합니다. (I401fb)
버그 수정
- 위치가 세션 종료 시간 이전이어야 한다고 지정하는 문서를 운동 경로에 추가합니다. (0e51e6)
버전 1.1.0-alpha05
2023년 10월 4일
androidx.health.connect:connect-client:1.1.0-alpha05
이 출시되었습니다. 버전 1.1.0-alpha05에 포함된 커밋을 확인하세요.
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에 포함된 커밋을 확인하세요.
API 변경사항
- Java만 해당:
ChangesResponse
의getHasMore()
필드 이름을hasMore()
로 바꿉니다. (I80695) - Android 버전 전반에서
HealthPermissionsRequestContract#createIntent
검사를 조정합니다. 계약에서는 모든 권한이 건강 관련 권한인지 확인합니다. (I143fc)
버그 수정
- 위치의 빈 목록이 포함된
ExerciseRoute
로ExerciseSessionRecord
가 생성될 때 발생하는 예외를 수정했습니다. (I45c16) - 수면 세션을 읽는
SleepSessionRecord
문서 및 샘플 코드를 업데이트했습니다. (Idf0de)
버전 1.1.0-alpha03
2023년 7월 26일
androidx.health.connect:connect-client:1.1.0-alpha03
이 출시되었습니다. 버전 1.1.0-alpha03에 포함된 커밋을 확인하세요.
새로운 기능
- 운동 경로를 읽고 쓰는 API:
ExerciseSessionRecord
에ExerciseRouteResult
추가됨ExerciseRouteRequestContract
추가
API 변경사항
ExerciseRouteResult
및 서브클래스인Data
,NoData
,ConsentRequiredStates
를 추가했습니다.- 경로의 위치 데이터를 보유하는 독립형 클래스로
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에 포함된 커밋을 확인하세요.
버그 수정
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의 기본 요건입니다. 이 API가 없으면 Android 14에서 앱이 헬스 커넥트와 통합할 수 없습니다.
- 메타데이터를 기록하는 녹화 메서드를 추가했습니다.
API 변경사항
- Session API 변경사항:
SleepSessionRecord
에 다양한 수면 단계를 추가하고SleepStageRecord
를 삭제했습니다.ExerciseLap
및ExerciseSegment
를ExerciseSessionRecord
에 추가했습니다.
- 읽기, 변경 로그, 삽입, 삭제 작업에 대한 주기적 및 일일 비율 제한 (메모리 제한 포함)
- 모든
NutritionRecord
필드에 유효성 검사를 추가했습니다. HeartRateVariabilityRmssdRecord
에 대한 유효성 검사를 추가했습니다.- 지원 중단된 두 API인
HealthConnectClient#isProviderAvailable
및HealthConnectClient#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에 포함된 커밋을 확인하세요.
API 변경사항
- 헬스 커넥트를 여는 데 사용하는 인텐트를 추가했습니다. (Ic8055)
- 일부 운동 유형을 삭제했습니다. 삭제된 유형 대신
EXERCISE_TYPE_STRENGTH_TRAINING
,EXERCISE_TYPE_HIGH_INTENSITY_INTERVAL_TRAINING
또는EXERCISE_TYPE_CALISTHENICS
를 사용하세요. (I7291c) - 지원 중단된 두 API
isSdkSupported()
와isProviderAvailable()
을 결합한 새 APIsdkStatus()
를 추가했습니다. (Iac89d) providerPackageName
을 받는 API가 목록이 아닌 단일 문자열을 받도록 변경했습니다. (I67e0f)
버전 1.0.0-alpha10
2023년 1월 25일
androidx.health.connect:connect-client:1.0.0-alpha10
이 출시되었습니다. 버전 1.0.0-alpha10에 포함된 커밋을 확인하세요.
API 변경사항
ExerciseEventRecord
,ExerciseLapRecord
,ExerciseRepititionRecord
,SwimmingStrokesRecord
는 더 이상RecordTypes
로 지원되지 않습니다. 이러한 API는 더 이상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에 포함된 커밋을 확인하세요.
새로운 기능
- 헬스 커넥트의 새로운 여성 건강 데이터 유형 2개(
IntermenstrualBleedingRecord
,MenstruationPeriodRecord
)를 추가했습니다.MenstruationFlow.ENUMs
는 적음, 보통, 많음, 알 수 없음입니다.
API 변경사항
버전 1.0.0-alpha08
2022년 12월 7일
androidx.health.connect:connect-client:1.0.0-alpha08
이 출시되었습니다. 버전 1.0.0-alpha08에 포함된 커밋을 확인하세요.
API 변경사항
BodyWaterMass
,HeartRateVariabilityRmssdRecord
를 지원되는 새로운 레코드 유형으로 추가합니다. (Ifd58f)- 지원되는
RecordTypes
로HipCircumferenceRecord
,WaistCircumferenceRecord
를 삭제합니다. (I62fb9) MenstruationFlowRecord.flow
를stringdef
에서intdefs
로 변경했습니다. (I0369f)- 성능 향상을 위해
Strings
가 있는 enum 유사 레코드 필드를Integers
로 변경했습니다. (I3b295) ExerciseSession
,ExerciseRepetitions
,SleepStage
enum 유사 필드를 문자열 유형에서 정수 유형으로 변경했습니다. (Id32a9)ExerciseSessionRecord.ACTIVE_TIME_TOTAL->EXERCISE_DURATION_TOTAL
로 이름을 바꿨습니다. (I5d7bd)CervicalMucus
enum에 'Unusual'을 추가합니다. 구체성 향상을 위해 'Clear'를 'Eggwhite'로 바꿉니다.CervicalMucus#appearance
및 #sensation을StringDefs
에서 IntDefs로 변경했습니다. (I3ac51)- 이제
DeviceTypes
enum의StringDef
가 기기에서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에 포함된 커밋을 확인하세요.
API 변경사항
- 기본값이 없는 레코드 인수는 기본값이 있는 인수 앞에 배치됩니다. 일관성을 위해
Instant
및ZoneOffset
인수는 항상 맨 앞에 배치됩니다. (Id618c) HealthConnectClient.getOrCreate#packageNames
의 이름을providerPackageNames
로 바꿉니다. (Id81e4)
버그 수정
- 레코드 필드 값 유효성 검사를 추가합니다. 제공된 값이 적절한 범위를 벗어나면 매우 잘못된 값으로 인해
IllegalArgumentExceptions
가 발생합니다. (Ie171d) - 해당하는 경우 종료 시간 전에 기록 시작 시간을 확인합니다. (I02460)
버전 1.0.0-alpha06
2022년 10월 5일
androidx.health.connect:connect-client:1.0.0-alpha06
이 출시되었습니다. 버전 1.0.0-alpha06에 포함된 커밋을 확인하세요.
버그 수정
버전 1.0.0-alpha05
2022년 9월 21일
androidx.health.connect:connect-client:1.0.0-alpha05
가 출시되었습니다. 버전 1.0.0-alpha05에 포함된 커밋을 확인하세요.
API 변경사항
Metadata.uid
를Metadata.id
로 바꾸고 관련 CRUD API 전반에서 용어recordId
를 일관되게 사용했습니다. (I3d1d2)PermissionController.createRequestPermissionActivityContract
를 인스턴스 메서드가 아닌 정적 메서드로 변경했습니다.PermissionController.createRequestPermissionResultContract
로 이름을 바꿨습니다. (Icd2fe)BloodGlucoseRecord
의BloodGlucose
단위 유형을 추가했습니다. (I97678)MenstruationRecord
를MenstruationFlowRecord
로 바꿨습니다. (I3b88e)
버그 수정
- 클라이언트 프로세스에서 포그라운드 통계를 전파하지 않는 의도하지 않은 동작을 수정했습니다. (Ifb44c)
버전 1.0.0-alpha04
2022년 8월 24일 androidx.health.connect:connect-client:1.0.0-alpha04
가 출시되었습니다. 버전 1.0.0-alpha04에 포함된 커밋을 확인하세요.
`androidx.health.connect로 이전
1.0.0-alpha04부터 androidx.health:health-connect-client
가 androidx.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 변경사항
- 메타데이터
clientId
를clientRecordId
로,clientVersion
을clientRecordVersion
으로 바꿨습니다. (링크) - 메타데이터 UID를 더 읽기 좋게 개선했으며 더 이상 null을 허용하지 않습니다. (링크)
- 체중 단위에 파운드를 추가했습니다. (링크)
DeletionChange.deleteUid
의 이름을 uid로 바꿨습니다. (링크)- Permission -> HealthPermission으로 이름을 바꿨습니다. 이렇게 하면 Android Framework 권한의 모호성을 방지할 수 있습니다. (링크)
버그 수정