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

এন্ড্রয়েডে নেটওয়ার্ক সংযোগের স্ট্যাটাস মনিটর করার পদ্ধতি

এন্ড্রয়েডে নেটওয়ার্ক সংযোগের স্ট্যাটাস মনিটর করার ধাপাবলী

এই উদাহরণটি দেখায় কীভাবে ConnectivityManager এবং NetworkInfo ব্যবহার করে ডিভাইসের নেটওয়ার্ক সংযোগের অবস্থা (ওয়ায়-ফাই, মোবাইল ডেটা, বা কোনো সংযোগ নেই) শনাক্ত করা যায়।

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

Android Studio-তে File → New Project এ যান এবং প্রয়োজনীয় বিবরণ পূরণ করে একটি নতুন প্রজেক্ট তৈরি করুন।

ধাপ ২: লেআউট ফাইল সংশোধন করুন (res/layout/activity_main.xml)

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
    <ImageView
        android:id="@+id/ivConStatus"
        android:layout_width="150dp"
        android:layout_height="150dp"
        android:layout_centerInParent="true"
        android:layout_marginTop="24sp"
        android:scaleType="fitCenter"
        android:contentDescription="@string/todo" />
    <TextView
        android:id="@+id/tvConStatus"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textStyle="bold"
        android:textSize="24sp"
        android:layout_centerHorizontal="true"
        android:padding="4dp" />
    <Button
        android:id="@+id/btnCheckNetwork"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_alignParentBottom="true"
        android:text="নেটওয়ার্ক চেক করুন" />
</RelativeLayout>

ধাপ ৩: মূল এক্টিভিটি লজিক (src/MainActivity.java)

import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
    ImageView ivConStatus;
    TextView tvConStatus;
    Button btnCheckNetwork;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        ivConStatus = findViewById(R.id.ivConStatus);
        tvConStatus = findViewById(R.id.tvConStatus);
        btnCheckNetwork = findViewById(R.id.btnCheckNetwork);
        
        btnCheckNetwork.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                checkNetworkConnectionStatus();
            }
        });
    }

    private void checkNetworkConnectionStatus() {
        boolean wifiConnected;
        boolean mobileDataConnected;
        
        ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo networkInfo = cm.getActiveNetworkInfo();
        
        if (networkInfo != null && networkInfo.isConnected()) {
            wifiConnected = networkInfo.getType() == ConnectivityManager.TYPE_WIFI;
            mobileDataConnected = networkInfo.getType() == ConnectivityManager.TYPE_MOBILE;
            
            if (wifiConnected) {
                ivConStatus.setImageResource(R.drawable.ic_wifi);
                tvConStatus.setText("ওয়ায়-ফাই সংযুক্ত");
            } else if (mobileDataConnected) {
                ivConStatus.setImageResource(R.drawable.ic_mobiledata);
                tvConStatus.setText("মোবাইল ডেটা সংযুক্ত");
            }
        } else {
            ivConStatus.setImageResource(R.drawable.ic_dnd);
            tvConStatus.setText("কোনো সংযোগ উপলব্ধ নেই");
        }
    }
}

ধাপ ৪: ম্যানিফেস্টে অনুমতি যোগ করুন (AndroidManifest.xml)

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android" package="app.com.sample">
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

আধুনিক পদ্ধতি (API 29+)

অ্যান্ড্রয়েড ১০ (API 29) এর উপরে `NetworkInfo` ডিপ্রিকেটেড। আধুনিক কোডে ConnectivityManager.NetworkCallback ব্যবহার করা উচিত।

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

আপনার আসল এন্ড্রয়েড ডিভাইস কম্পিউটারের সাথে সংযুক্ত আছে অনুমান করি। Android Studio-তে আপনার প্রজেক্টের এক্টিভিটি ফাইল খুলুন এবং টুলবারের Run আইকনে ক্লিক করুন। আপনার মোবাইল ডিভাইস নির্বাচন করুন এবং আপনার ডিভাইসে ডিফল্ট স্ক্রিন দেখুন।

  1. অ্যান্ড্রয়েডে ডিফল্ট ফোন নেটওয়ার্ক অপারেটর নাম পাওয়া

  2. অ্যান্ড্রয়েডে নেটওয়ার্ক রোমিং সক্রিয় কিনা জানা

  3. অ্যান্ড্রয়েডে ডিভাইস আইডি কীভাবে পেতে হয়?

  4. অ্যান্ড্রয়েডে লাইন আঁকা (Canvas এবং Paint ব্যবহার করে)