Health Connect में डेटा टाइप, ऐसे ऑब्जेक्ट में सेव किए जाते हैं जो Record
की सबक्लास होती हैं.
हर डेटा टाइप के लिए, उससे जुड़े फ़ील्ड होते हैं. ये फ़ील्ड सामान्य हो सकते हैं, जैसे कि time
और zoneOffset
. इसके अलावा, ये फ़ील्ड खास भी हो सकते हैं, जैसे कि title
, count
, और percentage
.
कुछ फ़ील्ड में बुनियादी टाइप का इस्तेमाल किया जाता है. जैसे, long, double या string. वहीं, अन्य फ़ील्ड में जटिल टाइप का इस्तेमाल किया जाता है. जैसे, इन्यूमरेशन और क्लास, जैसे कि Instant
और ZoneOffset
. इन फ़ील्ड के एट्रिब्यूट ज़रूरी या वैकल्पिक हो सकते हैं. कुछ एट्रिब्यूट सिर्फ़ पढ़े जा सकते हैं. साथ ही, कुछ एट्रिब्यूट के लिए वैल्यू की एक खास रेंज तय की गई है.
उपलब्ध डेटा टाइप और उनके फ़ील्ड की पूरी सूची देखने के लिए, Jetpack में मौजूद क्लास देखें.
मेटाडेटा एट्रिब्यूट
Health Connect API में मौजूद डेटा में, मेटाडेटा एट्रिब्यूट भी शामिल होते हैं. इनके बारे में यहां बताया गया है:
- Health Connect आईडी: डेटा के हर पॉइंट को बनाने के बाद, एक यूनीक आइडेंटिफ़ायर (यूआईडी) असाइन किया जाता है. यह स्टैंडर्ड रीड और राइट ऑपरेशन के लिए फ़ायदेमंद है. ज़्यादा जानकारी के लिए, Health Connect आईडी देखें.
- पिछली बार बदलाव किए जाने का समय: इससे उस टाइमस्टैंप का पता चलता है जब किसी रिकॉर्ड को पिछली बार अपडेट किया गया था. यह रिकॉर्ड बनाने पर या हर अपडेट पर अपने-आप जनरेट होता है.
- डेटा का सोर्स: Health Connect, उस ऐप्लिकेशन के बारे में जानकारी सेव करता है जिससे डेटा मिला है. इसमें उस ऑरिजिन का पैकेज नाम होता है. इसे बनाते समय, यह अपने-आप जुड़ जाता है.
- डिवाइस: Health Connect उस डिवाइस की जानकारी सेव करता है जिससे डेटा लिया गया है. इसमें उस डिवाइस के निर्माता और मॉडल की जानकारी होती है. आपको इसकी वैल्यू मैन्युअल तरीके से देनी होती है.
- क्लाइंट आईडी: Health Connect, क्लाइंट आईडी उपलब्ध कराता है, ताकि क्लाइंट ऐप्लिकेशन अपने आईडी का इस्तेमाल करके डेटा को रेफ़र कर सकें. इससे विवादों को हल करने में मदद मिलती है और डेटा को सिंक करना आसान हो जाता है. इसे रिकॉर्ड में मैन्युअल तरीके से जोड़ा जाता है.
- क्लाइंट रिकॉर्ड वर्शन: Health Connect, Client-ID के साथ-साथ वर्शनिंग की सुविधा भी देता है. इससे डेटा सिंक करने के दौरान होने वाले बदलावों को ट्रैक करने में मदद मिलती है. यह रिकॉर्ड में मैन्युअल तरीके से सप्लाई किया जाता है.
- रिकॉर्डिंग का तरीका: Health Connect से यह पता चलता है कि डेटा कैसे रिकॉर्ड किया जाता है. इन तरीकों में, ऐप्लिकेशन के ज़रिए पैसिव तरीके से (अपने-आप) डेटा रिकॉर्ड करना और उपयोगकर्ताओं के ज़रिए ऐक्टिव तरीके से या मैन्युअल तरीके से डेटा रिकॉर्ड करना शामिल है.
Health Connect आईडी
Health Connect, नए डेटा ऑब्जेक्ट को यूनीक आइडेंटिफ़ायर (यूआईडी) असाइन करता है. ये यूआईडी, डेटा ऑब्जेक्ट की पहचान करते हैं और उन्हें दूसरों से अलग करते हैं. Health Connect आईडी, डेटा को पढ़ने या उसमें बदलाव करने के अनुरोधों में काम आते हैं. Health Connect आईडी, क्लाइंट आईडी से अलग होते हैं. क्लाइंट ऐप्लिकेशन, क्लाइंट आईडी असाइन करता है. वहीं, Health Connect सिर्फ़ Health Connect आईडी असाइन करता है.
Health Connect आईडी का इस्तेमाल करते समय, यहां दी गई बातों का ध्यान रखें:
- सेशन में एक Health Connect आईडी होता है, लेकिन सेशन में मौजूद डेटा के अपने Health Connect आईडी होते हैं.
- Health Connect आईडी, टाइमस्टैंप से जुड़े नहीं होते हैं.
- कुछ मामलों में, वर्कफ़्लो के दौरान किसी खास Health Connect आईडी को सेव करने की ज़रूरत पड़ सकती है. उदाहरण के लिए, किसी उपयोगकर्ता ने जो डेटा एंट्री अभी-अभी लॉग की है उसे वापस पाने और उपयोगकर्ता को दिखाने के लिए, किसी खास आईडी की ज़रूरत होती है.
Health Connect में समय
Health Connect में सेव किए गए सभी डेटा में, टाइम ज़ोन के अंतर की जानकारी दी जानी चाहिए. ज़ोन ऑफ़सेट की जानकारी देने से, ऐप्लिकेशन डेटा को पढ़कर उसे सिविल टाइम में दिखा पाते हैं. सिविल टाइम, उपयोगकर्ता के स्थानीय और काम का समय होता है. हालांकि, यह ज़रूरी नहीं है कि यह कोऑर्डिनेटेड यूनिवर्सल टाइम (यूटीसी) में हो.
कुछ मामलों में, ज़ोन ऑफ़सेट उपलब्ध नहीं हो सकता. Android 14 (एपीआई लेवल 34) में ऐसा होने पर, Health Connect डिवाइस के सिस्टम के डिफ़ॉल्ट टाइम ज़ोन के आधार पर ज़ोन ऑफ़सेट सेट करता है. Android 13 और इससे पहले के वर्शन (एपीआई लेवल 33 और इससे पहले के वर्शन) में, ज़ोन ऑफ़सेट की जानकारी दिए बिना Health Connect में डेटा सेव किया जा सकता है. हालांकि, जब भी हो सके, ऐसा करने से बचना चाहिए.
टाइम और ज़ोन की सेटिंग
डेटा लिखते समय ज़ोन ऑफ़सेट की जानकारी देने से, Health Connect में डेटा पढ़ते समय टाइम ज़ोन की जानकारी मिलती है. हालांकि, कुछ स्थितियों में ऐसा नहीं हो पाता. जैसे, जब ज़ोन ऑफ़सेट की जानकारी नहीं दी जाती है. आपका ऐप्लिकेशन, दोनों तरह के डेटा को इस तरह से प्रोसेस करने के लिए तैयार होना चाहिए कि वह आपकी खास परिस्थितियों के हिसाब से काम करे.