ما هي أفضل طريقة لتخزين XML والوصول إليها في Android؟

StackOverflow https://stackoverflow.com/questions/2396718

  •  25-09-2019
  •  | 
  •  

سؤال

على الرغم من أنني أدرك أن الموارد نفسها محددة في ملفات XML ، إذا كان لدي ملف XML من النوع الخاص بي الذي أرغب في استخدامه ، فهل يجب أن أقوم بتخزينها في "Res/XML"؟

هل هناك طريقة أفضل للقيام بذلك مثل استخدام الأصول ثم تحميلها على أنها ثنائية لتحليلها بواسطة مكتبة XML أخرى؟

هل كانت مفيدة؟

المحلول

سأذهب مع إضافة مورد XML داخل res مجلد مع نوع المورد المحدد. إنها اتفاقية تكيفت معها ، مع وجود جميع ملفاتي في نفس الدليل للتنظيم.

إذا قمت بإضافة ملف XML الخاص بك داخل res/xml يمكن الوصول إليه في أي وقت في وقت التشغيل عبر Resources.getXML()

نصائح أخرى

إذا كنت تفضل سهولة الترميز على السرعة السريعة للبرق ، فسأستخدم مكتبة XML بسيطة في حين أن. من الأسهل فقط البرنامج ل. كتبت منشور مدونة يمكنك عرضه كيفية تضمينه في المشروع لك.

أولاً معرفة كيفية الوصول إلى الملفات بشكل صحيح في Android:

قد تحتاج إلى الوصول إلى ملفاتك الأصلية والدولة الخاصة بك. إذا قمت بذلك ، ثم حفظ ملفاتك في res/ لن تعمل من أجلك ، لأن only way to read a resource from res/ is with the resource ID. بدلاً من ذلك ، يمكنك توفير مواردك في الأصول/ الدليل.

لا يتم منح الملفات المحفوظة في الأصول/ الدليل معرف مورد ، لذلك لا يمكنك الرجوع إليها من خلال فئة R أو من موارد XML. بدلاً من ذلك ، يمكنك الاستعلام عن الملفات في الأصول/ الدليل مثل نظام الملفات العادي وقراءة البيانات الخام باستخدام 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()

مصدر

Resources res = activity.getResources();
XmlResourceParser xrp = res.getXml(R.xml.the_file_name_aka_resource_ID);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top