متطلبات البيانات الوصفية

يتوافق هذا الدليل مع الإصدار 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.1.0-alpha12.

  2. عند إنشاء المكتبة، ستظهر أخطاء تجميع في الحالات التي تحتاج فيها إلى بيانات وصفية جديدة، لذا احرص على تنفيذ التغييرات اللازمة على البيانات الوصفية عند إنشاء مثيل لعنصر من النوع Record(). من المفترض أن يؤدي ذلك إلى إكمال عملية نقل البيانات.