কাঁচা তথ্য পড়ুন

নিম্নলিখিত উদাহরণ আপনাকে দেখায় কিভাবে সাধারণ কর্মপ্রবাহের অংশ হিসাবে কাঁচা ডেটা পড়তে হয়।

সহজ পড়া

হেলথ কানেক্টে স্টেপস ডেটা টাইপ একটি ব্যবহারকারীর রিডিংয়ের মধ্যে কতগুলি পদক্ষেপ নিয়েছে তা ক্যাপচার করে। ধাপের সংখ্যা স্বাস্থ্য, ফিটনেস এবং সুস্থতা প্ল্যাটফর্ম জুড়ে একটি সাধারণ পরিমাপকে উপস্থাপন করে। হেলথ কানেক্ট ধাপ গণনা ডেটা পড়া এবং লেখা সহজ করে তোলে।

রেকর্ড পড়তে, একটি ReadRecordsRequest তৈরি করুন এবং আপনি যখন readRecords কল করবেন তখন এটি সরবরাহ করুন।

নিম্নলিখিত উদাহরণ দেখায় কিভাবে একটি নির্দিষ্ট সময়ের মধ্যে একটি ব্যবহারকারীর জন্য ধাপ গণনা ডেটা পড়তে হয়। SensorManager এর সাথে একটি বর্ধিত উদাহরণের জন্য, ধাপ গণনা ডেটা নির্দেশিকা দেখুন।

suspend fun readStepsByTimeRange(
    healthConnectClient: HealthConnectClient,
    startTime: Instant,
    endTime: Instant
) {
    try {
        val response = healthConnectClient.readRecords(
            ReadRecordsRequest(
                StepsRecord::class,
                timeRangeFilter = TimeRangeFilter.between(startTime, endTime)
            )
        )
        for (stepRecord in response.records) {
            // Process each step record
        }
    } catch (e: Exception) {
        // Run error handling here
    }
}

পূর্বে লিখিত ডেটা পড়ুন

যদি কোনও অ্যাপ আগে হেলথ কানেক্টে রেকর্ড লিখে থাকে, তবে সেই অ্যাপের পক্ষে সেই নির্দিষ্ট রেকর্ডগুলির পড়ার অনুমতির প্রয়োজন ছাড়াই সেগুলি আবার পড়া সম্ভব। এটি এমন পরিস্থিতিতে প্রযোজ্য যেখানে ব্যবহারকারী পুনরায় ইনস্টল করার পরে অ্যাপটিকে Health Connect এর সাথে পুনরায় সিঙ্ক করতে হবে।

এই পরিস্থিতিতে ডেটা পড়ার জন্য, আপনাকে আপনার ReadRecordsRequest এর dataOriginFilter প্যারামিটারে একটি DataOrigin অবজেক্ট হিসাবে প্যাকেজের নাম নির্দেশ করতে হবে।

নিম্নলিখিত উদাহরণ দেখায় কিভাবে একটি প্যাকেজ নাম নির্দেশ করতে হয় যখন ধাপ রেকর্ড পড়ার সময়:

try {
    val response =  healthConnectClient.readRecords(
        ReadRecordsRequest(
            recordType = StepsRecord::class,
            timeRangeFilter = TimeRangeFilter.between(startTime, endTime),
            dataOriginFilter = setOf(DataOrigin("com.my.package.name"))
        )
    )
    for (record in response.records) {
        // Process each record
    }
} catch (e: Exception) {
    // Run error handling here
}

30 দিনের পড়ার সীমাবদ্ধতা

হেলথ কানেক্ট 30 দিন পর্যন্ত ডেটা পড়তে পারে যখন কোনও অনুমতি প্রথম দেওয়া হয়েছিল।

যাইহোক, যদি কোনও ব্যবহারকারী আপনার অ্যাপটি মুছে ফেলে তবে অনুমতির ইতিহাস হারিয়ে যায়। যদি ব্যবহারকারী আপনার অ্যাপ পুনরায় ইনস্টল করে এবং আবার অনুমতি দেয়, তাহলে আপনার অ্যাপটি সেই নতুন তারিখের 30 দিন আগে পর্যন্ত Health Connect থেকে ডেটা পড়তে পারে।

উদাহরণ

30 মার্চ, 2023-এ যদি কোনও ব্যবহারকারী প্রথমে আপনার আবেদনটি পড়ার অনুমতি দেয়, তাহলে আপনার অ্যাপটি 28 ফেব্রুয়ারি, 2023 এর পর থেকে সবচেয়ে প্রথম যে ডেটা পড়তে পারে তা হবে।

তারপরে ব্যবহারকারী আপনার অ্যাপটি 10 ​​মে, 2023-এ মুছে দেবেন। ব্যবহারকারী 15 মে, 2023-এ এটি পুনরায় ইনস্টল করার এবং পড়ার অনুমতি দেওয়ার সিদ্ধান্ত নেয়। আপনার অ্যাপটি এখন যে তারিখ থেকে ডেটা পড়তে পারে সেটি হল 15 এপ্রিল, 2023

ফোরগ্রাউন্ড সীমাবদ্ধতা

হেলথ কানেক্টের মাধ্যমে ডেটা পড়া অগ্রভাগে চলমান অ্যাপ্লিকেশনের মধ্যে সীমাবদ্ধ। ব্যবহারকারীর গোপনীয়তা আরও জোরদার করতে এই নিষেধাজ্ঞা জারি করা হয়েছে। এটি ব্যবহারকারীদের আশ্বস্ত করে যে Health Connect-এর তাদের ডেটার ব্যাকগ্রাউন্ড রিড অ্যাক্সেস নেই এবং সেই ডেটা শুধুমাত্র ফোরগ্রাউন্ডে পড়া এবং অ্যাক্সেস করা হয়।

যেসব পরিস্থিতিতে বাধা সহনীয় , যেমন আপনার অ্যাপ্লিকেশনে একটি রিডিং প্রদর্শন করা, স্বাস্থ্য সংযোগ থেকে সরাসরি আপনার ক্লায়েন্ট অ্যাপ্লিকেশনে পড়ুন।

যে পরিস্থিতিতে আপনি কোনও বাধা পছন্দ করেন না , যেমন Health Connect থেকে ডেটার একটি পরিসীমা পড়া তারপর অন্য কোথাও লিখুন এবং আপলোড করুন, একটি ForegroundService ব্যবহার করুন, একটি কার্যকলাপের পরিবর্তে যেখানে এটি দ্রুত বরখাস্ত করা যেতে পারে।