2012-08-31 25 views
7

क्या पैकेज नाम के लिए उपनाम बनाना संभव है, जिसे मैं xml फ़ाइल में संदर्भित कर सकता हूं?पैकेज का नाम उपनाम या उपनाम

मैं पूरा पैकेज नाम लिखना नहीं चाहता हूं उदा। com.example.go.deck.today इसके बजाय मैं उपनाम बना सकता हूं और उपनाम को संदर्भित कर सकता हूं?

मैं एंड्रॉइड/लेआउट एक्सएमएल फ़ाइल में पैकेज नाम के बजाय उपनाम या निक को संदर्भित करना चाहता हूं।

उत्तर

5

एंड्रॉइड स्वयं ही ऐसी सुविधा प्रदान नहीं करेंगे। हालांकि आप चींटी को अपने लिए करने के लिए उपयोग कर सकते हैं। R कक्षा उत्पन्न होने से पहले टोकन प्रतिस्थापन करने के लिए लक्ष्य <target name="-code-gen"> को अनुकूलित करने के लिए आप एक कस्टम build.xml लिख सकते हैं।

<replace file="targetFile" token="@[email protected]" value="com.example.go.deck.today"/> 

इस targetFile में com.example.go.deck.today द्वारा @[email protected] के हर घटना की जगह लेंगे: आप नियम जोड़ सकता है।

मैं ant विशेषज्ञ नहीं हूं लेकिन पिछले अनुभव के आधार पर मैं कहूंगा कि ऐसा नियम लिखना मुश्किल नहीं होगा जो res dir में सभी फ़ाइल स्कैन कर सके।

9

नहीं, क्षमा करें, यह संभव नहीं है, कम से कम सीधे Android टूलसेट के भीतर नहीं।

2

अपने सीधे एक xml या कोड में एक ‘resource’ प्रयोग करने के लिए एक पैकेज नाम पर उल्लेख करने के लिए, हालांकि, संभव नहीं है हालांकि यह है:

package.R.resource_type.resource_name 

और

@[package:]resource_type/resource_name 

नोट: पैकेज यहाँ करता है इसका मतलब नहीं है ‘java package’ लेकिन package == application, इसलिए यदि आप अपने संसाधन में परिभाषित संसाधन तक पहुंच रहे हैं तो आप इसे छोड़ सकते हैं। Thats हम @strings/name या सीधे R.strings.name का उपयोग क्यों करते हैं। इसी प्रकार एंड्रॉइड द्वारा परिभाषित संसाधनों का उपयोग करने के लिए हम @android:string/name या android.R.string.name