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

অ্যান্ড্রয়েডে বর্তমান এক্টিভিটির নাম (Class Name) কীভাবে পেতে হয়?

অ্যান্ড্রয়েডে প্রোগ্রামেটিকভাবে বর্তমান এক্টিভিটি ক্লাসের নাম বের করা

এই সহজ উদাহরণটি দেখাবে কিভাবে জাভার রিফ্লেকশন (getClass().getName()) ব্যবহার করে বর্তমান এক্টিভিটির ফুলি কোয়ালিফাইড ক্লাস নাম (Package + Class Name) পাওয়া যায়। এটি ডিবাগিং, লগিং, অ্যানালিটিক্স ট্র্যাকিংয়ে খুব দরকারী।

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

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">
    <TextView
        android:id = "@+id/text"
        android:textSize = "30sp"
        android:layout_width = "match_parent"
        android:layout_height = "match_parent" />
</LinearLayout>

ধাপ ৩: জাভা কোড (src/MainActivity.java)

package com.example.myapplication;

import android.app.ActivityManager;
import android.app.admin.DevicePolicyManager;
import android.content.ComponentName;
import android.content.Context;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.RequiresApi;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
    TextView textView;

    @RequiresApi(api = Build.VERSION_CODES.N)
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textView = findViewById(R.id.text);
        // ক্লাসের ফুল নাম পাওয়া
        textView.setText(" " + getClass().getName());
    }
}

অ্যাপ্লিকেশনটি রান করুন

ডিভাইস সংযুক্ত করে Run করুন। স্ক্রিনে প্যাকেজ নাম সহ ক্লাস নাম দেখাবে (যেমন: com.example.myapplication.MainActivity)।

অ্যান্ড্রয়েডে বর্তমান এক্টিভিটির নাম (Class Name) কীভাবে পেতে হয়?

অন্যান্য উপযোগী মেথডগুলো

  • getClass().getSimpleName(): শুধু ক্লাসের নাম (যেমন: MainActivity), প্যাকেজ ছাড়া।
  • getClass().getPackage().getName(): শুধু প্যাকেজের নাম।
  • this.getLocalClassName() (Activity মেথড): শুধু ক্লাসের নাম (API 1+).
  • ComponentName ব্যবহার করে: new ComponentName(this, getClass())।

ব্যবহারের ক্ষেত্রে (Use Cases)

  • অ্যানালিটিক্স ইভেন্টে স্ক্রিন নাম পাঠানো (Firebase Analytics, Mixpanel)।
  • ডিবাগ লগে ট্যাগ হিসেবে ব্যবহার করা।
  • ডাইনামিক ক্লাস লোডিং বা ইন্টেন্ট বানানোর সময়।
  1. অ্যান্ড্রয়েডে বর্তমান থ্রেডের নাম পাওয়ার পদ্ধতি

  2. অ্যান্ড্রয়েডে বর্তমান থ্রেড ইন্টারাপ্টেড (Interrupted) কিনা যাচাই করার পদ্ধতি

  3. অ্যান্ড্রয়েডে বর্তমান থ্রেড ডেমন (Daemon) কিনা যাচাই করার পদ্ধতি

  4. অ্যান্ড্রয়েডে বর্তমান থ্রেডের আইডি (ID) পাওয়ার পদ্ধতি