سلسلة تعلم الأندرويد – الحلقة الخامسة: ملف الـ Manifst.xml

السلام عليكم

قدمت في الحلقات الماضية مصادراً لكيفية البداية بتطوير تطبيقات للأندرويد (يمكنك مراجعة الروابط للدروس السابقة في أسفل التدوينة). وفي هذه الحلقة سوف أبداً بشرح ملف الـmanfist.xml  والذي يحتوي على المعلومات الضرورية لتشغيل التطبيق على نظام الأندرويد.

كل تطبيق في الأندرويد يجب أن يحتوي على هذا الملف في المجلد الرئيسي. ملف manfist يحتوي على مجموعة من المعلومات الرئيسية المتعلقة بالتطبيق نفسه، والتي يقوم الأندرويد بقراءتها قبل تنفيذ الكود الخاص بالتطبيق. وهذه بعض المهام الخاصة بهذا الملف:

  • يعطي الاسم الخاص بحزمة Package التطبيق. اسم الحزمة يجب أن يكون اسماً منفرداً، حيث أن أسم الحزمة هو المعرف الرئيسي للتطبيق في متجر البرامج.
  • الملف أيضاً يحتوي على قائمة بمكونات التطبيق، كالنشاطات Activities والخدمات Services، مستلمات البث Broadcast receivers ومزودات الخدمة Content providers. هذه القائمة تساعد الأندرويد على معرفة الخدمات التابعة لنشاط معين وتشغيلها في الوقت المناسب.
  • يحتوي الملف أيضاً على التصاريح المطلوبة لتنصيب التطبيق. كتصريح الإتصال بالانترنت أو استعمال بطاقة الذاكرة الخارجية
  • يحتوي الملف على التصاريح المطلوبة للتطبيقات الأخرى للتفاعل مع مكونات تطبيقك.
  • يقوم الملف أيضاً بتحديد النسخة الأدنى من الأندرويد التي يعمل عليها التطبيق (وأيضاً النسخة الأعلى من الأندرويد التي يعمل عليها التطبيق، مع أن هذا غير محبذ).
  • وأيضاً يقوم الملف بتحديد المكتبات الخارجية التي تريد إضافتها للتطبيق.

هيكلية الملف:

الكود أدناه هو توضيح لهيكلية الملف manifest.xml بشكل عام:

<?xml version="1.0" encoding="utf-8"?>

<manifest>

    <uses-permission /> // وسم خاص بالتصاريح التي يريد التطبيق استعمالها<
<permission /> // وسم خاص بنوع الحماية التي يحتوي عليها
 التطبيق إذا حاول تطبيق آخر الدخول إليه
    <permission-tree />
    <permission-group />
    <instrumentation />
    <uses-sdk /> // وسم يحدد النسخة الأعلى، الأدنى والموجهة للتطبيق
    <uses-configuration /> // يحدد نوع خصائص الجهاز أو النظام التي يحتاجها التطبيق
    <uses-feature /> // يحدد ميزة واحدة يستعملها التطبيق، سواء ميزة بالعتاد أو النظام
    <supports-screens /> // أحجام الشاشات التي يدعمها التطبيق
    <compatible-screens />
    <supports-gl-texture />

    <application> // وسم يحتوي على الأوسمة الخاصة بالتطبيق، كأوسمة النشاطات والنوايا

        <activity> // وسم النشاط
            <intent-filter> // وسم النوايا
                <action />
                <category />
                <data />
            </intent-filter>
            <meta-data />
        </activity>

        <activity-alias>
            <intent-filter> . . . </intent-filter>
            <meta-data />
        </activity-alias>

        <service> // وسم الخدمات
            <intent-filter> . . . </intent-filter>
            <meta-data/>
        </service>

        <receiver> // وسم مستقبلي الخدمة
            <intent-filter> . . . </intent-filter>
            <meta-data />
        </receiver>

        <provider> // وسم مزودي الخدمة
            <grant-uri-permission />
            <meta-data />
        </provider>

        <uses-library /> // أنواع المكتبات التي يستعملها التطبيق

    </application>

</manifest>
أتمنى أن يكون الشرح مفيداً، وأرجو سماع تعليقاتك واقتراحاتكم.

تعليق واحد

  1. جزاك الله كل خير

    جزاك الله كل خير
    وياريت تعرفنا بكل جديد

اترك تعليقاً

الحقول المطلوبة موسومة بالعلامة *.