2012-03-06 15 views
6

का मूल्य बदलना क्या आप एंड्रॉइड प्रोग्राम में प्रोग्रामिंग रूप से आर.स्ट्रिंग के मानों को बदल सकते हैं? मुझे कुछ एपीआई जानकारी खींचने की ज़रूरत है (उदाहरण के लिए बैटरी स्टेटस, बैटरी प्रतिशत, एंड्रॉइड ओएस संस्करण) और इसे आर आरस्ट्रिंग वैल्यू सेव करना चाहते हैं। मैं जानता हूँ कि इसे पढ़ने के:R.String प्रोग्रामेटिक रूप से

String helloValue= getResources().getString(R.string.hello); 

मैं भी देखा है: Change value of R.string programically? लेकिन यह है कि केवल भाषा में बदला जाता है लगता है और वह उसे एक अलग तरह से कर रही है समाप्त हो गया। क्या कोई हाथ उधार दे सकता है? मैं भी यहां देखा है: http://developer.android.com/guide/topics/resources/string-resource.html और मदद करने के लिए कुछ भी नहीं मिला या तो :(

+1

के मान सेट करने का कोई तरीका नहीं है आर में तार संकलन में उत्पन्न होते हैं और जहां तक ​​मुझे पता है संशोधित नहीं किया जा सकता है। आप अपने स्ट्रिंग को साझा किए गए संदर्भों के रूप में सहेज सकते हैं: http://developer.android.com/guide/topics/data/data-storage.html#pref – Jave

उत्तर

11

आप कर सकते हैं 'के लिए है स्ट्रिंग जानकारी आप SharedPreferences का उपयोग करना चाहिए की थोड़ी मात्रा को बचाने के लिए की जरूरत है एक compiled.xml गतिशील रूप से बदलते हैं क्योंकि यह एक संकलित संसाधन है। एंड्रॉइड में डेटा सहेजने के लिए अन्य तंत्र हैं, यहां एक अच्छी पोस्ट है जो इस विषय को कवर करती है: Data Storage। उम्मीद है की यह मदद करेगा।

0

अपने विचारों को पूरा करने के कई तरीके हैं। लेकिन, आप अपना स्ट्रिंग संसाधन, (साथ ही आर। जावा संसाधन), या लेआउट संसाधन, ... और कोई अन्य संसाधन नहीं बदल सकते हैं। संसाधनों को संसाधनों में बदलकर आप ऐसा कर सकते हैं। यह पढ़ और लिख सकता है :)

0

आप इस तरह से res/string value से मूल्य प्राप्त कर सकते हैं।

String str = getResources().getString(R.string.<name_of_value>); 

अब आप इस (स्ट्र) स्ट्रिंग चर के इस मान का और अधिक उपयोग कर सकते हैं।
लेकिन मेरे अनुसार res/string