2012-02-01 13 views
5

कोई व्यक्ति कृपया बताएं कि स्ट्रिंग्स.एक्सएमएल का उपयोग करने का मुख्य विचार क्या है? मुझे लगता है कि यह बहु भाषा समर्थन के लिए उपयोगी होगा लेकिन हम इसके लिए इसे कैसे व्यवस्थित कर सकते हैं? क्या मुझे इसकी आवश्यकता है यदि मैं अपने एंड्रॉइड एप्लिकेशन में बहु भाषा समर्थन का उपयोग नहीं करना चाहता हूं?एंड्रॉइड: स्ट्रिंग्स.एक्सएमएल का उपयोग करने के पीछे मुख्य विचार क्या है?

+1

हो सकता है कि आप अपने आवेदन को अन्य भाषाओं में कनवर्ट नहीं करना चाहते हैं। लेकिन स्टेंडर स्टैंडर – Arslan

+1

है यदि हम एक से अधिक स्थानों में एक निश्चित स्ट्रिंग का उपयोग करते हैं, तो क्या इसके मूल्य में बदलाव होने पर हमें इसे हर जगह बदलने की ज़रूरत है? स्ट्रिंग्स.एक्सएमएल – Piovezan

उत्तर

11

विचार है कि यह विभिन्न स्ट्रिंग्स के लिए एक ही स्थान का प्रतिनिधित्व करता है, इसलिए अपने कोड स्ट्रिंग शाब्दिक साथ peppered नहीं है। इसके अलावा, आप आसानी से स्थानीयकरण करने की क्षमता प्राप्त करते हैं। स्थानीयकरण के लिए फ़ाइलों का संगठन यहाँ कवर किया जाता है:

http://developer.android.com/guide/topics/resources/localization.html#creating-alternatives

आप इसे ज़रूरत है यदि आप स्थानीयकृत नहीं कर रहे हैं? नहीं, लेकिन यह लंबे समय तक चीजों को आसान बना सकता है, और मैं केवल इसी कारण से इसका उपयोग करने की सिफारिश करता हूं।

+0

यह उपयोगी उत्तर धन्यवाद है। –

+0

मैं तारों को स्टोर करने के लिए strings.xml का उपयोग कर रहा हूं लेकिन स्थानीयकरण उद्देश्यों के लिए नहीं। मैं इसका उपयोग कर रहा हूं क्योंकि एंड्रॉइड लाइब्रेरी प्रोजेक्ट्स का उपयोग करते समय इन स्ट्रिंग्स को ओवरराइड करना आसान है। मेरा सवाल है ** ** स्ट्रिंग्स.एक्सएमएल में एमडी 5 चाबियों जैसे महत्वपूर्ण तारों को स्टोर करने के लिए ** कितना सुरक्षित है? मेरे पास एमडी 5 कुंजी है जो एप्लिकेशन प्रोजेक्ट के आधार पर बदलती है, लेकिन इसका उपयोग करने वाला कोड लाइब्रेरी प्रोजेक्ट में है, इसलिए मैं स्ट्रिंग को स्ट्रिंग्स.एक्सएमएल में स्टोर करता हूं और प्रत्येक एप्लिकेशन प्रोजेक्ट में फ़ाइल को ओवरराइड करता हूं। –

5

हार्ड-कोडिंग स्ट्रिंग खराब है।

पैरामीटरेटिंग स्ट्रिंग्स (उदा। स्ट्रिंग्स.एक्सएमएल के साथ) अच्छा है।

अपने तार (और/या भाषा भाषा-विशिष्ट strings.xml के संस्करणों के साथ) को अंतर्राष्ट्रीय करने में सक्षम होने के नाते और भी बेहतर है :)

पुनश्च:

अंतर्राष्ट्रीयकरण के उपयोग करने के लिये बनाने संसाधन उपनिर्देशिकाएं। Google आपको बहुत सारे संदर्भ/उदाहरण देगा। Herre के एक:

http://developer.android.com/guide/topics/resources/localization.html

* res/values/strings.xml 
    Contains English text for all the strings that the application 
    uses, including text for a string named title. 

* res/values-fr/strings.xml 
    Contain French text for all the strings, including title. 

* res/values-ja/strings.xml 
    Contain Japanese text for all the strings... 

और हाँ, यदि आप पूरी तरह strings.xml (और colors.xml और dimens.xml आदि आदि) का उपयोग करने की आदत डालना चाहिए, भले ही आप डॉन तुरंत अंतरराष्ट्रीयकरण पर योजना नहीं है।

IMHO ....

+0

का प्रयोग करें @ paulsm4 –

+0

मैं तारों को स्टोर करने के लिए स्ट्रिंग्स.एक्सएमएल का उपयोग कर रहा हूं लेकिन स्थानीयकरण उद्देश्यों के लिए नहीं। मैं इसका उपयोग कर रहा हूं क्योंकि एंड्रॉइड लाइब्रेरी प्रोजेक्ट्स का उपयोग करते समय इन स्ट्रिंग्स को ओवरराइड करना आसान है। मेरा सवाल है ** ** स्ट्रिंग्स.एक्सएमएल में एमडी 5 चाबियों जैसे महत्वपूर्ण तारों को स्टोर करने के लिए ** कितना सुरक्षित है? मेरे पास एमडी 5 कुंजी है जो एप्लिकेशन प्रोजेक्ट के आधार पर बदलती है, लेकिन इसका उपयोग करने वाला कोड लाइब्रेरी प्रोजेक्ट में है, इसलिए मैं स्ट्रिंग को स्ट्रिंग्स.एक्सएमएल में स्टोर करता हूं और प्रत्येक एप्लिकेशन प्रोजेक्ट में फ़ाइल को ओवरराइड करता हूं। –

संबंधित मुद्दे