Android Parse XML file offline


بسم الله الرحمن الرحيم

اليوم سنتعرف على طريقة تحليل البيانات من ملف XML وعرضها في التطبيق الخاص بنا.

أولاً نقوم بعمل فولدر إسمه assets في هذا المسار src/main/assets/ ونضع فيه ملف الـ XML المراد عرض البيانات منه

 

ثانياً سنذهب للـ layout الرئيسي ثم نضع ScrollView وبداخله TextView كما موضح بالكود أدناه

ثم نذهب للـ MainActivity الخاص بالتطبيق ونربط الـ TextView بالكود

ملحوظه: قُمت بإستخدام مكتبه إسمها Butterknife لإختصار كود الربط وتتمثل في السطر التالي ولك أن تربط بالطريقه العاديه ، طبعاً إستخدمته لمجرد المعرفه وهو مفيد جداً في المشاريع الكبيره ، فهو يوفر الجُهد والوقت بشكل كبير.

 إذا كنت مبتدئ لا أنصح بإستخدام المكتبه فلابد من تعلم كتابة الأساسيات أولاً لأن المكتبات تقوم على الأساسيات. 

ربط النص بإستخدام المكتبه:

ربط النص بالطريقه العاديه:

 

ثم تقوم بعمل كلاس جديده ونُسميها على سبيل المثال OperatingSystems ونضع فيها المتغيرات التاليه كما هو موضح بالكود أدناه

ثم نذهب للـ MainActivity لنبدأ بتحليل البيانات

نأتي لشرح الكود بداخل الـ MainActivity:

كود الـ onCreate

قمنا بتعريف متغير من كلاس XmlPullParserFactory ثم متغير من كلاس XmlPullParser.

الأن نريد أن نفتح ملف XML في فولدر assets وهذا عن طريق كلاس InputStream.

ستجد في الكود أعلاه السطر 9 ميثود إسمها parseXML وهذا ما سنقوم بشرحه الأن

هذه الميثود التي سنقوم بخلالها بقراءة محتويات ملف الـ XML الخاص بنا…

أولاً سنقوم بعمل ArrayList من الكلاس الذي قمنا بإنشاءه في أول المقال OperatingSystems ثم عمل مغير من نوع integer ونضع فيه الـ eventType ودي بتعمل return للتاجز الخاصه بملف الـ XML ثم نقوم بعمل متغير من كلاس OperatingSystems.

بعد ذلك نقوم بعمل switch على eventType لنأتي بالداتا التي بداخل ملف الـ XML وهذه صوره توضح عمل الكود

XML_Tut

لو كنت قرأت الكود أعلاه بالكامل “الكود فوق الصوره مباشرةً” ستجد في سطر  43 ميثود اسمها displayOS وهي المسؤوله عن عرض البيانات من ملف XML في شاشة التطبيق

وتكون النتيجه النهائيه كالتالي:

XMLParserلتحميل الكود إضغط هنا

 

يرجي تقييم الموضوع

Facebooktwittergoogle_plusredditpinterestlinkedinmailby feather
The following two tabs change content below.
Miserable Android Developer!

Latest posts by Mohamed (see all)

Comments

comments

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *