يتوافق هذا الدليل مع الإصدار 1.1.0-alpha12 من Health Connect.
تم إجراء تغييرات على البيانات الوصفية في Health Connect للمطوّرين الذين اختاروا الترقية إلى الإصدار 1.1.0-alpha12.
معلومات المكتبة
يحدِّد رقم تعريف العنصر Google Maven Android gradle plugin
مكتبة Health Connect التي عليك ترقيتها.
أضِف هذا الاعتماد على حزمة تطوير البرامج (SDK) لتطبيق Health Connect إلى ملف
build.gradle
على مستوى الوحدة:
dependencies {
implementation "androidx.health.connect:connect-client:1.1.0-alpha12"
}
التغييرات في البيانات الوصفية
تم إجراء تغييرَين على البيانات الوصفية في Health Connect Jetpack SDK بدءًا من الإصدار 1.1.0-alpha12 لضمان توفّر بيانات وصفية مفيدة إضافية في المنظومة المتكاملة.
عليك تحديد تفاصيل البيانات الوصفية عند
إنشاء مثيل لكائن من النوع Record()
.
يجب تحديد إحدى طرق التسجيل الأربع عند كتابة البيانات في Health Connect:
طريقة التسجيل | الوصف |
---|---|
RECORDING_METHOD_UNKNOWN |
تعذّر التحقّق من طريقة التسجيل. |
RECORDING_METHOD_MANUAL_ENTRY |
أدخل المستخدم البيانات. |
RECORDING_METHOD_AUTOMATICALLY_RECORDED |
سجّل جهاز أو أداة استشعار البيانات. |
RECORDING_METHOD_ACTIVELY_RECORDED |
بدأ المستخدم بدء جلسة التسجيل أو انتهائها على أحد الأجهزة. |
مثلاً:
StepsRecord(
startTime \= Instant.ofEpochMilli(1234L),
startZoneOffset \= null,
endTime \= Instant.ofEpochMilli(1236L),
endZoneOffset \= null,
metadata \= Metadata.manualEntry(),
Count \= 10,
)
عليك تحديد نوع جهاز لكل البيانات المسجَّلة تلقائيًا وبشكل نشط. تشمل أنواع الأجهزة الحالية ما يلي:
نوع الجهاز | الوصف |
---|---|
TYPE_UNKNOWN |
نوع الجهاز غير معروف. |
TYPE_WATCH |
نوع الجهاز هو ساعة. |
TYPE_PHONE |
نوع الجهاز هو هاتف. |
TYPE_SCALE |
نوع الجهاز هو ميزان. |
TYPE_RING |
نوع الجهاز هو خاتم. |
TYPE_HEAD_MOUNTED |
نوع الجهاز هو جهاز يُثبَّت على الرأس. |
TYPE_FITNESS_BAND |
نوع الجهاز هو جهاز لياقة بدنية. |
TYPE_CHEST_STRAP |
نوع الجهاز هو حزام الصدر. |
TYPE_SMART_DISPLAY |
نوع الجهاز هو شاشة ذكية. |
مثلاً:
private val TEST_DEVICE = Device(type = Device.TYPE_PHONE)
المقتطفات المعدَّلة
تم تعديل أدلة Health Connect في أيّ مكان يلزم فيه استخدام مقتطفات جديدة للالتزام بمتطلبات البيانات الوصفية الجديدة. للحصول على بعض الأمثلة، يُرجى الرجوع إلى صفحة كتابة البيانات.
طرق جديدة للبيانات الوصفية
لم يعُد بالإمكان إنشاء مثيل للبيانات الوصفية مباشرةً، لذا استخدِم إحدى methods المصنع للحصول على مثيل جديد للبيانات الوصفية. تحتوي كل دالة على ثلاثة صيغ توقيع:
activelyRecorded
fun activelyRecorded(device: Device): Metadata.
fun activelyRecorded(clientRecordId: String, clientRecordVersion: Long = 0, device: Device): Metadata
fun activelyRecordedWithId(id: String, device: Device): Metadata
autoRecorded
fun autoRecorded(device: Device): Metadata
fun autoRecorded(clientRecordId: String, clientRecordVersion: Long = 0, device: Device): Metadata
fun autoRecordedWithId(id: String, device: Device): Metadata
manualEntry
fun manualEntry(device: Device? = null): Metadata
fun manualEntry(clientRecordId: String, clientRecordVersion: Long = 0, device: Device? = null): Metadata
fun manualEntryWithId(id: String, device: Device? = null): Metadata
unknownRecordingMethod
fun unknownRecordingMethod(device: Device? = null): Metadata
fun unknownRecordingMethod(clientRecordId: String, clientRecordVersion: Long = 0, device: Device? = null): Metadata
fun unknownRecordingMethodWithId(id: String, device: Device? = null): Metadata
لمزيد من المعلومات، يُرجى الاطّلاع على مشروع Android المفتوح المصدر.
بيانات الاختبار
استخدِم Testing Library لمحاكاة قيم البيانات الوصفية المتوقعة:
private val TEST_METADATA =
Metadata.unknownRecordingMethod(
clientRecordId = "clientId",
clientRecordVersion = 1L,
device = Device(type = Device.TYPE_UNKNOWN),
).populatedWithTestValues(id = "test")
يُحاكي ذلك سلوك عملية تنفيذ Health Connect، التي تملأ هذه القيم تلقائيًا أثناء إدراج السجلّ.
بالنسبة إلى مكتبة الاختبار، عليك إضافة ملحق حزمة تطوير البرامج (SDK) Health Connect هذا إلىملفbuild.gradle
على مستوى الوحدة:
dependencies {
testImplementation "androidx.health.connect:connect-testing:1.0.0-alpha02"
}
ترقية المكتبة
في ما يلي الخطوات الرئيسية التي يجب اتّباعها:
عليك ترقية مكتبتك إلى الإصدار 1.1.0-alpha12.
عند إنشاء المكتبة، ستظهر أخطاء تجميع في الحالات التي تحتاج فيها إلى بيانات وصفية جديدة، لذا احرص على تنفيذ التغييرات اللازمة على البيانات الوصفية عند إنشاء مثيل لعنصر من النوع
Record()
. من المفترض أن يؤدي ذلك إلى إكمال عملية نقل البيانات.