কম্পিউটার টিউটোরিয়াল

অ্যান্ড্রয়েড মোবাইল হার্টবিট সেন্সর সাপোর্ট করে কিনা যাচাই

অ্যান্ড্রয়েড ডিভাইসে হার্টবিট (Heart Rate) সেন্সর সাপোর্ট যাচাই

এই টিউটোরিয়ালে শিখব কিভাবে SensorManager ব্যবহার করে ডিভাইসে হার্ট রেট সেন্সর উপলব্ধ কিনা তা যাচাই করতে হয়। এটি ফিটনেস ও হেলথ ট্র্যাকিং অ্যাপের জন্য অত্যন্ত গুরুত্বপূর্ণ।

প্রয়োজনীয় ধাপসমূহ

ধাপ ১: নতুন প্রজেক্ট তৈরি করুন

Android Studio-তে File → New Project নির্বাচন করে প্রজেক্ট তৈরি করুন।

ধাপ ২: লেআউট ফাইল

res/layout/activity_main.xml ফাইলে:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:app="https://schemas.android.com/apk/res-auto"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:gravity="center"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:orientation="vertical">
    <TextView
        android:id="@+id/actionEvent"
        android:textSize="40sp"
        android:layout_marginTop="30dp"
        android:layout_width="wrap_content"
        android:layout_height="match_parent" />
</LinearLayout>

ধাপ ৩: জাভা কোড

src/MainActivity.java ফাইলে:

package com.example.myapplication;

import android.content.Context;
import android.hardware.Sensor;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
    private SensorManager sensorManager;
    TextView actionEvent;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        actionEvent = findViewById(R.id.actionEvent);
        sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
        
        // হার্টবিট সেন্সর যাচাই (API 21+)
        if (sensorManager.getDefaultSensor(Sensor.TYPE_HEART_RATE) != null) {
            actionEvent.setText("✓ হার্ট রেট সেন্সর সমর্থিত");
        } else {
            actionEvent.setText("✗ হার্ট রেট সেন্সর সমর্থিত নয়");
        }
    }
}

গুরুত্বপূর্ণ তথ্য

বিষয়বিস্তারিত
সেন্সর টাইপSensor.TYPE_HEART_RATE (API 21 / Android 5.0+ এ যোগ)
উপলব্ধতাপ্রধানত স্যামসাং গ্যালাক্সি S-সিরিজ, নোট সিরিজ, কিছু মিড-রেঞ্জ ফোনে
অবস্থানসাধারণত ফোনের পেছনে ক্যামেরার নিকট (ফ্ল্যাশের পাশে)
কার্যকারিতাPPG (Photoplethysmography) টেকনোলজি ব্যবহার করে রক্ত প্রবাহ পরিমাপ করে

হার্ট রেট ডেটা পড়ার উদাহরণ

Sensor heartRateSensor = sensorManager.getDefaultSensor(Sensor.TYPE_HEART_RATE);
SensorEventListener listener = new SensorEventListener() {
    @Override
    public void onSensorChanged(SensorEvent event) {
        if (event.values.length > 0) {
            float heartRate = event.values[0]; // বিট্স পার মিনিট (BPM)
            // UI আপডেট করুন
        }
    }
    @Override
    public void onAccuracyChanged(Sensor sensor, int accuracy) {}
};
sensorManager.registerListener(listener, heartRateSensor, SensorManager.SENSOR_DELAY_NORMAL);

পারমিশন (ঐচ্ছিক কিন্তু প্রস্তাবিত)

<uses-permission android:name="android.permission.BODY_SENSORS" />

সাধারণ সমস্যা ও সমাধান

সমস্যাসমাধান
সেন্সর null রিটার্ন করছেডিভাইসে হার্ডওয়্যার নেই, বা অ্যাক্সেস ব্লক করা আছে
মান 0.0 আসছেআঙুল সঠিকভাবে রাখা হয়নি, সেভাবে চাপ দিন
অনিশ্চিত রিডিংস্থির বসে থাকুন, আঙুল কাঁপানোর ফলাফল ভুল হবে

বিকল্প: Google Fit API

হার্ডওয়্যার না থাকলে Google Fit REST API বা Sensors API ব্যবহার করে হেলথ ডেটা অ্যাক্সেস করা যায়।

অ্যাপ্লিকেশন চালানো

রান করলে ডিভাইসে হার্ট রেট সেন্সর থাকলে "✓ হার্ট রেট সেন্সর সমর্থিত" দেখাবে, অন্যথায় "✗ হার্ট রেট সেন্সর সমর্থিত নয়"।

লক্ষ্য করুন

  • সभी ফোনে এই সেন্সর থাকে না (প্রিমিয়াম মডেলে বেশি থাকে)
  • সেন্সর থাকলেও BODY_SENSORS পারমিশন দরকার হতে পারে
  • ব্যাকগ্রাউন্ডে liên tục মনিটরিং ব্যাটারি ড্রেন করে
  1. অ্যান্ড্রয়েড মোবাইল প্রেশার সেন্সর সাপোর্ট যাচাই

  2. অ্যান্ড্রয়েডে বর্তমান Wi-Fi 5 GHz ব্যান্ড সমর্থন করে কিনা যাচাই করুন

  3. অ্যান্ড্রয়েডে Wi-Fi সবসময় আবিষ্কারযোগ্য (Discoverable) কিনা যাচাই করুন

  4. অ্যান্ড্রয়েডে চলমান অ্যাপ্লিকেশন তালিকা পাওয়ার উপায়