एंड्रॉइड में रिसोर्स ID से रिसोर्स नाम प्राप्त करना
यह उदाहरण दिखाता है कि `getResources().getResourceName()` मेथड का उपयोग करके किसी व्यू की रिसोर्स ID से उसका पूरा नाम (पैकेज:टाइप/नाम) कैसे प्राप्त किया जाता है।
चरण 1: नया प्रोजेक्ट बनाएं
Android Studio में File → New Project चुनकर नया प्रोजेक्ट बनाएं।
चरण 2: लेआउट XML
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">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text=""
android:textSize="16sp"
android:textStyle="bold" />
</RelativeLayout>
चरण 3: MainActivity में रिसोर्स नाम प्राप्त करें
MainActivity.java:
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
private TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = findViewById(R.id.textView);
// 1. व्यू की रिसोर्स ID प्राप्त करें (int)
int resourceId = textView.getId(); // उदाहरण: 2131230835
// 2. रिसोर्स ID से पूरा रिसोर्स नाम प्राप्त करें
// फॉर्मेट: "package:type/name"
// उदाहरण: "com.example.sample:id/textView"
String resourceName = getResources().getResourceName(resourceId);
// 3. प्रदर्शित करें
textView.setText("रिसोर्स ID: " + resourceId + "\nरिसोर्स नाम: " + resourceName);
}
}
🔍 रिसोर्स नाम का फॉर्मेट
package:type/entry_name उदाहरण: com.example.sample:id/textView com.example.sample:layout/activity_main com.example.sample:drawable/ic_launcher com.example.sample:string/app_name com.example.sample:color/colorPrimary
📋 उपयोगी संबंधित मेथड्स
Resources res = getResources();
// ID से नाम प्राप्त करें
String name = res.getResourceName(resourceId); // "pkg:type/name"
String type = res.getResourceTypeName(resourceId); // "id", "layout", "drawable"
String entryName = res.getResourceEntryName(resourceId); // केवल "textView"
// नाम से ID प्राप्त करें (डायनामिक लुकअप)
int id = res.getIdentifier("textView", "id", getPackageName());
int layoutId = res.getIdentifier("activity_main", "layout", getPackageName());
int drawableId = res.getIdentifier("ic_launcher", "drawable", getPackageName());
चरण 4: Manifest
<?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" android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
💡 व्यावहारिक उपयोग केस
- डिबगिंग: रनटाइम पर व्यू की पहचान करने के लिए
- डायनामिक लेआउट: नाम के आधार पर लेआउट इन्फ्लेट करना
- थीमिंग: रिसोर्स टाइप के आधार पर स्टाइल लागू करना
- टेस्टिंग: ऑटोमेटेड टेस्ट में व्यू वेरिफिकेशन
ऐप चलाएं
डिवाइस कनेक्ट करें, Run पर क्लिक करें। स्क्रीन पर TextView की रिसोर्स ID और पूरा रिसोर्स नाम प्रदर्शित होगा।