R क्या है: R के
बारे में कुछ भी बहुत रहस्यमय नहीं है। यह सिर्फ एक वर्ग है जिसमें कई स्थिर उपवर्ग हैं, इसे ग्रहण में खोलें और एक नज़र डालें (इसके अंतर्गत जीन /)।
इस वर्ग का प्रत्येक सदस्य दो चीजों में से एक है: 1) स्थिर अंतिम कक्षाएं या 2) स्थिर अंतिम पूर्णांक जो कि अपने वर्ग के अन्य सदस्यों के संबंध में अद्वितीय हैं।
यह इतना गूढ़ क्यों है:
इसका भ्रम होना आसान है क्योंकि R स्वतः चींटी द्वारा उत्पन्न होता है। इसकी गूढ़ विद्या क्योंकि आप इसे मैन्युअल रूप से "स्पर्श" करने के लिए नहीं हैं (बेशक आप कर सकते हैं लेकिन आपके परिवर्तन पुन: उत्थान पर स्वतः मिट जाएंगे)। इसके अतिरिक्त क्रिप्टिक क्योंकि कभी-कभी ग्रहण स्वचालित रूप से एंड्रॉइड मानक आर फ़ाइल आयात करता है (जैसा कि ऊपर दिए गए उत्तरों में चर्चा की गई है)
यह हमेशा पहले वाला क्यों होता है जिसे हल नहीं किया जा सकता है: आर जावा वर्गों और पैकेजों के नियमों का ठीक से पालन करता है, आर आयात के संबंध में आर कैसे कार्य करता है, इसके बारे में कुछ खास नहीं है । R को आपकी मैनिफ़ेस्ट फ़ाइल में पैकेज प्रविष्टि द्वारा निर्दिष्ट पैकेज में स्वचालित रूप से रखा जाएगा
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="package.which.will.contain.R.and.probably.the.main.package.in.the.application" android:versionName="8.6.2011" android:versionCode="1">
<uses-sdk android:minSdkVersion="13" />
यह देखने के लिए कि आपकी R फाइल किस पैकेज से संबंधित है, केवल ग्रहण / संकुल (दृश्य) में जीन / फ़ोल्डर खोलें। आपको वहां सूचीबद्ध एक पैकेज दिखाई देगा, इसमें वह नाम होगा जो आपने अपने घोषणापत्र में निर्दिष्ट किया है। इसे हटाने का प्रयास करें, यह वापस आ जाएगा यदि आपके सभी संसाधन सही नामकरण नियमों का पालन करते हैं और आपकी सभी xml फाइलें सही xml नियमों का पालन करती हैं और यदि निर्माण स्वचालित रूप से ग्रहण में सक्षम है।
आर फ़ाइल को समझने की कुंजी यह महसूस करना है कि यह अन्य वर्गों के समान पैकेज में है भले ही यह एक अलग निर्देशिका में हो फिर आपके "मुख्य" पैकेज से संबंधित अन्य फाइलें। जब आप इसे समझ लेते हैं और R के साथ समस्याओं का निवारण करने वाली संसाधन फ़ाइलों के सिंटैक्स और नामकरण को समझ लेते हैं तो यह आसान है।