यह गाइड, Health Connect के 1.1.0-alpha12 वर्शन के साथ काम करती है.
जिन डेवलपर ने 1.1.0-alpha12 रिलीज़ पर अपग्रेड करने का विकल्प चुना है उनके लिए, Health Connect के मेटाडेटा में बदलाव किए गए हैं.
लाइब्रेरी की जानकारी
Google Maven Android Gradle प्लग इन के आर्टफ़ैक्ट आईडी से, उस Health Connect लाइब्रेरी की पहचान होती है जिसे आपको अपग्रेड करना होगा.
अपने मॉड्यूल-लेवल की build.gradle
फ़ाइल में, Health Connect SDK टूल की यह डिपेंडेंसी जोड़ें:
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 की गाइड को अपडेट कर दिया गया है. कुछ उदाहरणों के लिए, डेटा डालें पेज पर जाएं.
मेटाडेटा के नए तरीके
मेटाडेटा को अब सीधे तौर पर इंस्टैंशिएट नहीं किया जा सकता. इसलिए, मेटाडेटा का नया इंस्टेंस पाने के लिए, फ़ैक्ट्री के किसी एक तरीके का इस्तेमाल करें. हर फ़ंक्शन के तीन सिग्नेचर वैरिएंट होते हैं:
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 Open Source Project देखें.
डेटा की जांच करना
मेटाडेटा की अनुमानित वैल्यू का मॉक बनाने के लिए, Testing Library का इस्तेमाल करें:
private val TEST_METADATA =
Metadata.unknownRecordingMethod(
clientRecordId = "clientId",
clientRecordVersion = 1L,
device = Device(type = Device.TYPE_UNKNOWN),
).populatedWithTestValues(id = "test")
इससे, Health Connect लागू करने के तरीके की जानकारी मिलती है. यह रिकॉर्ड डालने के दौरान, इन वैल्यू को अपने-आप पॉप्युलेट करता है.
टेस्टिंग लाइब्रेरी के लिए, आपको अपने मॉड्यूल-लेवल की build.gradle
फ़ाइल में, Health Connect SDK टूल की यह डिपेंडेंसी जोड़नी होगी:
dependencies {
testImplementation "androidx.health.connect:connect-testing:1.0.0-alpha02"
}
लाइब्रेरी को अपग्रेड करना
आपको ये मुख्य चरण पूरे करने होंगे:
अपनी लाइब्रेरी को 1.1.0-alpha12 पर अपग्रेड करें.
लाइब्रेरी बनाते समय, जहां नए मेटाडेटा की ज़रूरत होगी वहां कंपाइलेशन से जुड़ी गड़बड़ियां दिखेंगी. इसलिए, जब भी
Record()
टाइप का ऑब्जेक्ट इंस्टैंशिएट किया जाए, तो मेटाडेटा में ज़रूरी बदलाव करना न भूलें. इससे, माइग्रेशन की प्रोसेस पूरी हो जाएगी.