2010-03-07 15 views
9

जबकि मुझे एहसास है कि संसाधनों को स्वयं एक्सएमएल फाइलों में परिभाषित किया गया है, अगर मेरे पास अपने स्वयं के प्रकार की एक एक्सएमएल फ़ाइल है जिसे मैं उपयोग करना चाहता हूं, तो क्या मुझे उन्हें "res/xml" में संग्रहीत करना चाहिए?एंड्रॉइड में एक्सएमएल स्टोर और एक्सेस करने का सबसे अच्छा तरीका क्या है?

क्या ऐसा करने का कोई बेहतर तरीका है जैसे कि संपत्तियों का उपयोग करना और फिर उन्हें अन्य XML लाइब्रेरी द्वारा पार्स करने के लिए बाइनरी के रूप में लोड करना?

उत्तर

9

मैं विशिष्ट संसाधन प्रकार के साथ res फ़ोल्डर के अंदर XML संसाधन जोड़ने के साथ जाऊंगा। यह एक ऐसा सम्मेलन है जिसे मैंने अनुकूलित किया है, जिसमें मेरी सभी फाइलें संगठन के लिए एक ही निर्देशिका में हैं।

आप res/xml के अंदर अपने एक्सएमएल फ़ाइल जोड़ देते हैं तो यह माध्यम से Resources.getXML()

+0

क्या आप जानते हैं कि कौन सी API मैं जब संसाधन के माध्यम से एक्सएमएल लोड हो रहा है का उपयोग कर पहुंच जाएंगे करें? –

+0

मैं किस तरह से उलझन में हूं कि आप किस एपीआई से मतलब रखते हैं, क्या आप थोड़ा और स्पष्टीकरण दे सकते हैं? –

+0

किस प्रकार का पार्सर उपयोग किया जाता है? क्या एक एंड्रॉइड एपीआई संदर्भ है? अधिक सरलता से, संसाधन.getXML() वापस किस प्रकार की ऑब्जेक्ट करता है? –

2

रन-टाइम में कभी भी एक्सेस किया जा सकता बिजली की तेजी गति से अधिक कोडिंग तो मैं Simple XML library बजाय प्रयोग करेंगे में आसानी पसंद करते हैं। कार्यक्रम के लिए यह आसान है। मैंने एक ब्लॉग पोस्ट लिखा है जिसे आप देख सकते हैं जो आपके how to include it in a project बताता है।

0

पहला Android में कैसे करने के लिए सही ढंग से पहुंच फ़ाइलें जानने:

आप अपने मूल फ़ाइलों और निर्देशिकाओं का उपयोग की आवश्यकता हो सकती। यदि आप करते हैं, तो res/ में अपनी फ़ाइलों को सहेजना आपके लिए काम नहीं करेगा, क्योंकि only way to read a resource from res/ is with the resource ID। इसके बजाय, आप अपने संसाधनों को संपत्ति/निर्देशिका में सहेज सकते हैं।

संपत्ति/निर्देशिका में सहेजी गई फ़ाइलों को संसाधन आईडी नहीं दी जाती है, इसलिए आप उन्हें आर कक्षा या एक्सएमएल संसाधनों से संदर्भित नहीं कर सकते हैं। इसके बजाय, आप सामान्य फ़ाइल सिस्टम की तरह संपत्ति/निर्देशिका में फ़ाइलों से पूछ सकते हैं और AssetManager का उपयोग करके कच्चे डेटा को पढ़ सकते हैं।

हालांकि, यदि आपको केवल कच्चे डेटा (जैसे वीडियो या ऑडियो फ़ाइल) पढ़ने की क्षमता है, तो फ़ाइल को res/raw/निर्देशिका में सहेजें और openRawResource() का उपयोग करके बाइट्स की स्ट्रीम पढ़ें।

एक्सेस करना XML फ़ाइलें

http://developer.android.com/guide/topics/resources/accessing-resources.html#ResourcesFromXml

res/xml/ 

Arbitrary XML files that can be read at runtime by calling Resources.getXML() 

Source

Resources res = activity.getResources(); 
XmlResourceParser xrp = res.getXml(R.xml.the_file_name_aka_resource_ID); 
संबंधित मुद्दे

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