2010-01-27 22 views
5

मैं एक एंड्रॉइड ऐप बना रहा हूं, और मुझे स्ट्रिंग.एक्सएमएल से संसाधन प्राप्त करने में समस्या है।एंड्रॉइड एप्लिकेशन से संसाधन नहीं मिल सकता

मुझे String.xml में एक यूआरएल होना चाहिए जो ऐप के माध्यम से कई बार इस्तेमाल किया जाएगा।

मैंने Resources.getText("my_url") की कोशिश की, लेकिन यह काम नहीं करता है। जब मैं इसका उपयोग करता हूं तो ग्रहण शिकायत करता है।

क्या आपको लगता है कि यह करने का सबसे अच्छा तरीका है?

उत्तर

12

क्या आप शायद चाहते हैं:

String myUrl = getString(R.string.my_url); 

getString() method is in Context जिसका अर्थ है कि यह Activity के बाद से अपने Activity कक्षा में सीधे उपलब्ध है Context का एक उपवर्ग है। (getString() विधि Resources में भी है, लेकिन यह आपके Activity पर सीधे उस पर कॉल करने के लिए आसान है।)

क्या आपके XML संसाधनों के साथ होता है कि प्रत्येक एक अद्वितीय पूर्णांक आईडी दिया जाता है और यह एक public static final int रूप automatically generated R class में जोड़ा जाता है । फिर आप संसाधनों के संदर्भ में इन आईडी का उपयोग करते हैं। अपने ग्रहण परियोजना में gen फ़ोल्डर में एक नज़र डालें और आपको वहां R क्लास मिल जाएगी।

+0

धन्यवाद, मैं इसे देख लूंगा। लेकिन, अगर मैं इस स्ट्रिंग को गतिविधि के बाहर (उदाहरण के लिए एक सहायक क्लैस में) प्राप्त करना चाहता हूं, तो क्या मैं GetBaseContext() का उपयोग कर सकता हूं। GetString (key)? – Luc

+2

मुझे नहीं पता कि 'GetBaseContext()' मुझे डर है। मैं अपनी सहायता कक्षाओं में से प्रत्येक को 'संदर्भ' पास करता हूं ताकि उन्हें इस तरह की चीजें करने की अनुमति मिल सके। हालांकि, सावधान रहें जब आप इस पर संदर्भ के संदर्भ में लटकाते हैं तो आप मेमोरी को खराब तरीके से रिसाव कर सकते हैं। http://android-developers.blogspot.com/2009/01/avoiding-memory-leaks.html –

+0

धन्यवाद, यह एक अच्छा बिंदु और एक बहुत अच्छा लेख है। चीयर्स, ल्यूक – Luc

0

क्या आपने कभी यह पृष्ठ देखा है: https://developer.android.com/guide/topics/resources/available-resources.html?

यदि आप संसाधन आईडी द्वारा प्रतिनिधित्व की गई स्ट्रिंग को पुनर्प्राप्त करना चाहते हैं, तो आप Context.getString() विधि को कॉल कर सकते हैं।

या, आपको ग्रहण की शिकायतें पोस्ट करनी होंगी।

+0

बहुत बहुत धन्यवाद, यही वह है जिसका मैं उपयोग कर रहा हूं। विनम्र, ल्यूक – Luc

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