এই নির্দেশিকাটি Health Connect সংস্করণ 1.1.0-alpha12 এর সাথে সামঞ্জস্যপূর্ণ।
যেসব ডেভেলপাররা 1.1.0-alpha12 রিলিজ করতে আপগ্রেড করতে পছন্দ করেন তাদের জন্য Health Connect-এ মেটাডেটাতে পরিবর্তন রয়েছে।
লাইব্রেরি তথ্য
Google Maven অ্যান্ড্রয়েড গ্রেডল প্লাগইন আর্টিফ্যাক্ট আইডি স্বাস্থ্য সংযোগ লাইব্রেরি সনাক্ত করে যেখানে আপনাকে আপগ্রেড করতে হবে। আপনার মডিউল-স্তরের build.gradle
ফাইলে এই Health Connect SDK নির্ভরতা যোগ করুন:
dependencies {
implementation "androidx.health.connect:connect-client:1.1.0-alpha12"
}
মেটাডেটা পরিবর্তন
ইকোসিস্টেমে অতিরিক্ত দরকারী মেটাডেটা বিদ্যমান রয়েছে তা নিশ্চিত করার জন্য সংস্করণ 1.1.0-আলফা12 হিসাবে Health Connect Jetpack SDK- তে দুটি মেটাডেটা পরিবর্তন আনা হয়েছে।
রেকর্ডিং পদ্ধতি উল্লেখ করুন
যখনই একটি Record()
টাইপ অবজেক্ট ইনস্ট্যান্ট করা হয় তখন আপনাকে মেটাডেটা বিশদ উল্লেখ করতে হবে।
হেলথ কানেক্টে ডেটা লেখার সময় আপনাকে অবশ্যই চারটি রেকর্ডিং পদ্ধতির মধ্যে একটি নির্দিষ্ট করতে হবে:
রেকর্ডিং পদ্ধতি | বর্ণনা |
---|---|
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 | ডিভাইসের ধরন একটি স্মার্ট ডিসপ্লে। |
কিছু Device.type
মান শুধুমাত্র Health Connect এর পরবর্তী সংস্করণে উপলব্ধ। যখন বর্ধিত ডিভাইস প্রকার বৈশিষ্ট্য উপলব্ধ না হয়, তখন এই প্রকারগুলিকে Device.TYPE_UNKNOWN
হিসাবে গণ্য করা হয়।TYPE_UNKNOWN।
বর্ধিত ডিভাইস প্রকার | বর্ণনা |
---|---|
TYPE_CONSUMER_MEDICAL_DEVICE | ডিভাইসের ধরনটি মেডিকেল ডিভাইস। |
TYPE_GLASSES | ডিভাইসের ধরন হল একজোড়া স্মার্ট চশমা বা চশমা। |
TYPE_HEARABLE | ডিভাইসের ধরন একটি শ্রবণযোগ্য ডিভাইস। |
TYPE_FITNESS_MACHINE | ডিভাইসের ধরন একটি স্থির মেশিন। |
TYPE_FITNESS_EQUIPMENT | ডিভাইসের ধরন একটি ফিটনেস সরঞ্জাম। |
TYPE_PORTABLE_COMPUTER | ডিভাইসের ধরন একটি পোর্টেবল কম্পিউটার। |
TYPE_METER | ডিভাইসের ধরন একটি পরিমাপ মিটার। |
FEATURE_EXTENDED_DEVICE_TYPES
এর উপলব্ধতা পরীক্ষা করুন:if (healthConnectClient
.features
.getFeatureStatus(
HealthConnectFeatures.FEATURE_EXTENDED_DEVICE_TYPES
) == HealthConnectFeatures.FEATURE_STATUS_AVAILABLE) {
// Feature is available
} else {
// Feature isn't available
}
যখন সম্ভব, ডিভাইসের প্রকার ছাড়াও ডিভাইসের প্রস্তুতকারক এবং মডেল প্রদান করুন। যেমন:
private val TEST_DEVICE = Device(
manufacturer = "Google",
model = "Pixel Watch",
type = Device.TYPE_WATCH
)
স্নিপেট আপডেট করা হয়েছে
নতুন মেটাডেটা প্রয়োজনীয়তা মেনে চলার জন্য যেখানেই নতুন স্নিপেট প্রয়োজন সেখানে 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
-
আরও তথ্যের জন্য, অ্যান্ড্রয়েড ওপেন সোর্স প্রজেক্ট দেখুন।
ডেটা টেস্টিং
প্রত্যাশিত মেটাডেটা মান উপহাস করতে টেস্টিং লাইব্রেরি ব্যবহার করুন:
private val TEST_METADATA =
Metadata.unknownRecordingMethod(
clientRecordId = "clientId",
clientRecordVersion = 1L,
device = Device(type = Device.TYPE_UNKNOWN),
).populatedWithTestValues(id = "test")
এটি স্বাস্থ্য সংযোগ বাস্তবায়নের আচরণকে অনুকরণ করে, যা রেকর্ড সন্নিবেশের সময় স্বয়ংক্রিয়ভাবে এই মানগুলিকে পূরণ করে।
টেস্টিং লাইব্রেরির জন্য, আপনাকে আপনার মডিউল-স্তরের build.gradle
ফাইলে এই Health Connect SDK নির্ভরতা যোগ করতে হবে:
dependencies {
testImplementation "androidx.health.connect:connect-testing:1.0.0-alpha02"
}
লাইব্রেরি আপগ্রেড করুন
আপনার সঞ্চালনের জন্য প্রধান পদক্ষেপগুলি হল:
আপনার লাইব্রেরি 1.1.0-alpha12 এ আপগ্রেড করুন।
লাইব্রেরি তৈরি করার সময়, নতুন মেটাডেটা যেখানে প্রয়োজন সেখানে সংকলন ত্রুটিগুলি নিক্ষেপ করা হবে, তাই যখনই একটি
Record()
টাইপ অবজেক্ট ইনস্ট্যান্ট করা হয় তখন প্রয়োজনীয় মেটাডেটা পরিবর্তনগুলি বাস্তবায়ন করতে ভুলবেন না। এটি মাইগ্রেশন সম্পূর্ণ করা উচিত।যদি আপনার অ্যাপ্লিকেশানটি বর্ধিত ডিভাইসের প্রকারগুলি লিখে থাকে, যেখানে বৈশিষ্ট্যটি উপলব্ধ নয় এমন ডিভাইসগুলিতে অপ্রত্যাশিত
TYPE_UNKNOWN
এড়াতে সেগুলিকেFEATURE_EXTENTED_DEVICE_TYPES
এর পিছনে রাখুন৷