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

অ্যান্ড্রয়েডে নেটওয়ার্ক স্টেট লিসেনার তৈরি করার পদ্ধতি (ওয়াইফাই অন/অফ ভিত্তিক)

এই উদাহরণটি দেখায় কিভাবে অ্যান্ড্রয়েডে নেটওয়ার্ক স্টেট লিসেনার তৈরি করা যায় যা ওয়াইফাই অন/অফ নিয়ন্ত্রণ করে।

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

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

ধাপ ২: লেআউট XML ফাইল যোগ করুন

res/layout/activity_main.xml ফাইলে নিচের কোডটি যোগ করুন। এখানে ওয়াইফাই অন/অফ করার জন্য দুটি বাটন আছে।

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:orientation="vertical"
    android:padding="16sp"
    tools:context=".MainActivity">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="30dp"
        android:text="Android Device Network Listener based on on/off network"
        android:textSize="24sp"
        android:textStyle="bold" />
    <Button
        android:layout_marginTop="30dp"
        android:onClick="SwitchWIFION"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Switch on Wifi"/>
    <Button
        android:layout_marginTop="10dp"
        android:onClick="SwitchWIFIOFF"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Switch off Wifi"/>
</LinearLayout>

ধাপ ৩: MainActivity.java ফাইলে কোড যোগ করুন

src/MainActivity.java ফাইলে নিচের কোডটি যোগ করুন। WifiManager এবং ConnectivityManager ব্যবহার করে নেটওয়ার্ক স্টেট চেক এবং ওয়াইফাই টগল করা হয়েছে।

import androidx.appcompat.app.AppCompatActivity;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
import java.util.Objects;

public class MainActivity extends AppCompatActivity {
    WifiManager wifiManager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        wifiManager = (WifiManager) getApplicationContext().getSystemService(WIFI_SERVICE);
        ConnectivityManager connectivityManager = (ConnectivityManager) getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo activeNetInfo = Objects.requireNonNull(connectivityManager).getActiveNetworkInfo();
        NetworkInfo mobNetInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
        
        if (activeNetInfo != null) {
            Toast.makeText(getApplicationContext(), "Active Network Type: " + activeNetInfo.getTypeName(), Toast.LENGTH_SHORT).show();
        }
        if (mobNetInfo != null) {
            Toast.makeText(getApplicationContext(), "Mobile Network Type: " + mobNetInfo.getTypeName(), Toast.LENGTH_SHORT).show();
        }
    }

    public void SwitchWIFION(View view) {
        Objects.requireNonNull(wifiManager).setWifiEnabled(true);
        Toast.makeText(getApplicationContext(), "WIFI SWITCHED ON", Toast.LENGTH_SHORT).show();
    }

    public void SwitchWIFIOFF(View view) {
        Objects.requireNonNull(wifiManager).setWifiEnabled(false);
        Toast.makeText(getApplicationContext(), "WIFI SWITCHED OFF", Toast.LENGTH_SHORT).show();
    }
}

ধাপ ৪: AndroidManifest.xml-এ অনুমতি যোগ করুন

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
    package="app.com.sample">
    <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>
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
</manifest>

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

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

  1. প্রোগ্রাম্যাটিক্যালি অ্যান্ড্রয়েড ডিভাইস লক করার পদ্ধতি

  2. অ্যান্ড্রয়েডে পেজিনেটিং টেক্সট তৈরির পদ্ধতি

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

  4. অ্যান্ড্রয়েডে ডিভাইস ফোন নাকি ট্যাবলেট সেটা ডিটেক্ট করা