टीएल; डीआर , यदि आपको "पैकेज आर मौजूद नहीं है" त्रुटि मिलती है, तो संभावित कारण हैं
- XML संसाधन फ़ाइलों में कुछ त्रुटि
-> XML त्रुटियों को ठीक करें
- वर्तमान पैकेज पैकेज से अलग है
R( package
AndroidManifest.xml में विशेषता देखें )
-> आयात Rवर्ग, उदा import com.example.android.R;
-> या अपने स्रोत में उपयुक्त पैकेज का उपयोग करें, जैसे package com.example.android;
-> या यदि उपयुक्त हो तो AndroidManifest.xml में पैकेज विशेषता
बदलें।<manifest xmlns:android="..." package="com.example.android" ...>
- उपयोग की गई
Rआईडी सिस्टम संसाधनों से हैं
-> आयात नहीं करते हैं android.R, लेकिन
आप के साथ अपमानजनक आईडी उपसर्ग करते हैं android., उदाहरण के लिए, android.R.layout.simple_list_item_2
आप android.Rबेशक आईडी के उपसर्ग करने के बजाय आयात कर सकते हैं, लेकिन तब आप आवेदन Rवर्ग को अब और आयात नहीं कर सकते हैं और आवेदन आईडी को उपसर्ग करना चाहिए, जैसे। com.example.android.R.id.main_menu।
R वर्ग आवेदन के संसाधनों से स्वचालित रूप से उत्पन्न होता है। इसमें idइन संसाधनों के लिए एस होता है और <manifest>
संबंधित AndroidManifest.xmlफाइल में टैग में नामित पैकेज में निहित होता है
।
यदि संसाधन XML फ़ाइलों में कोई त्रुटि नहीं है, तो R.javaस्रोत नीचे दिए गए पैकेज उपनिर्देशिका में gen/संकलित किया जाएगा।
पैकेज Rमें एक और वर्ग स्थित है android। इस android.Rवर्ग में कुछ नेस्टेड वर्ग होते हैं, जो सिस्टम संसाधनों के बदले में ids और अन्य मान रखते हैं ।
जावा में एक वर्ग का उपयोग करने के लिए, आपको पूरे पैकेज के साथ वर्ग का नाम देना होगा, जैसे
java.util.List<Object> list = new java.util.ArrayList<Object>();
या कक्षा का आयात करें और फिर पैकेज के बिना उसका उपयोग करें
import java.util.List;
import java.util.ArrayList;
List<Object> list = new ArrayList<Object>();
आप पैकेज का नाम लिए बिना भी एक वर्ग का उपयोग कर सकते हैं, यदि वर्तमान वर्ग और प्रयुक्त वर्ग दोनों एक ही पैकेज में हैं, जैसे
package com.example.android;
public class A {
/* ... */
}
package com.example.android;
public class B {
public void useA() {
A a = new A();
}
}