एंड्रॉइड में प्रोग्रामेटिकली वर्तमान एक्टिविटी का क्लास नाम प्राप्त करना
यह सरल ट्यूटोरियल दिखाता है कि getClass().getName() या getClass().getSimpleName() का उपयोग करके वर्तमान एक्टिविटी का पूरा या सरल नाम कैसे प्राप्त करें।
चरण 1: नया प्रोजेक्ट बनाएं
Android Studio में File → New Project चुनें।
चरण 2: लेआउट (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="24sp"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:padding="16dp" />
</LinearLayout>
चरण 3: MainActivity कोड (java/MainActivity.java)
package com.example.myapplication;
import android.os.Bundle;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = findViewById(R.id.text);
// पूरा पैकेज नाम + क्लास नाम
String fullName = getClass().getName();
// केवल क्लास नाम (सरल)
String simpleName = getClass().getSimpleName();
// पैकेज नाम अलग से
String packageName = getPackageName();
String displayText = "पूरा नाम: " + fullName + "\n\n" +
"सरल नाम: " + simpleName + "\n\n" +
"पैकेज: " + packageName;
textView.setText(displayText);
}
}
उपयोग केस
- डीबगिंग/लॉगिंग:
Log.d(getClass().getSimpleName(), "message") - एनालिटिक्स: स्क्रीन नाम ट्रैक करना
- डायनामिक फ्रैगमेंट नेविगेशन
- शेयर्ड प्रेफरेंस कुंजी प्रति एक्टिविटी
- टेस्टिंग में एक्टिविटी पहचान
उन्नत: बेस एक्टिविटी में
public abstract class BaseActivity extends AppCompatActivity {
protected String getScreenName() {
return getClass().getSimpleName();
}
@Override
protected void onResume() {
super.onResume();
// एनालिटिक्स ट्रैकिंग
Analytics.trackScreenView(getScreenName());
}
}
कॉन्फिग चेंज पर ध्यान दें
ओरिएंटेशन चेंज पर एक्टिविटी रीस्टार्ट होती है, इसलिए नाम समान रहता है लेकिन इंस्टेंस नया होता है।
ऐप टेस्ट करें
चलाएं - "com.example.myapplication.MainActivity" जैसा पूरा नाम और "MainActivity" सरल नाम दिखेगा।