البيانات

الإعلانات

البيانات <data>

البيانات <data>

بناء الجملة:

واردة في:
مرشحات الأغراض <intent-filter>

الوصف:

يضيف تخصيص بيانات إلى مرشح الغرض. يمكن أن يكون التخصيص مجرد نوع بيانات (سمة mimeType)، أو فقط معرف الموارد الموحد URI، أو كلاهما. يتم تخصيص URI بواسطة سمات منفصلة لكل جزء من أجزائه:

[<scheme>://<host>:<port>[<path>|<pathPrefix>|<pathPattern>

هذه السمات التي تحدد تنسيق URL إختياريه، ولكنها أيضاً تعتمد على بعضها البعض:

  • إذا لم يكن المخطط محدداً لمرشح الغرض، فسيتم تجاهل جميع السمات الأخرى لـURI.
  • إذا لم يتم تحديد مضيف لعامل التصفيه، فإن سمة المنفذ وجميع سمات المسار سيتم تجاهلها.

جميع عناصر <data> المضمنة بداخل نفس عنصر <intent-filter> تساهم في نفس المرشح. لذلك، كمثال، تخصيصات المرشح التاليه:

<intent-filter . . . >
    <data android:scheme="something" android:host="project.example.com" />
    . . .
</intent-filter>

مساوية لهذا:

<intent-filter . . . >
    <data android:scheme="something" />
    <data android:host="project.example.com" />
    . . .
</intent-filter>

 

يمكنك وضع اي عدد من عناصر <data> بداخل <intent-filter> لإعطائه خيارات بيانات متعددة. لا تحتوي أي من سماته على قيم إفتراضية.

يمكن العثور على معلومات حول كيفية عمل المرشحات، بما في ذلك القواعد الخاصة بكيفية مطابقة كائنات الغرض مع المرشحات، في مستند آخر، الأغراض و مرشحات الأغراض. راجع أيضاً قسم مرشحات الغرض في نظرة عامة على ملف الإيضاح.

السمات:

android:scheme

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

يحدد المخطط بدون نقاط المتابعه (مثال، http بدلاً من http:).

إذا كان المرشح يحتوي على مجموعة من نوع البيانات (سمة mimeType) ولكن لا يوجد مخطط، المحتوى: والملف: يفترض أن توجد مخططات.

ملاحظة: توافق المخطط في إطار عمل الأندرويد متحسس لحالة الأحرف، بعكس الـRFC. كنتيجة لذلك، يجب أن تقوم دائماً بتخصيص المخطط بإستخدام الأحرف الصغيره.

 

android:host

الجزء المضيف من قوة URI. لا معنى لهذه السمة إلا إذا تم تحديد سمة مخطط أيضاً للمرشح. لمطابقة عدة نطاقات فرعيه، استخدم علامة النجمة (*) لمطابقة لا شيء أو أكثر من أحرف المضيف. مثال، المضيف google.com.* يتطابق مع http://www.google.com, .google.com, و developer.google.com.

علامة النجمة يجب أن تكون أول حرف لسمة المضيف.مثال، المضيف *.google.co غير صالح لأن علامة النجمة ليست أول حرف.

ملاحظة: توافق اسم المضيف في إطار عمل الأندرويد متحسس لحالة الأحرف، بعكس الـRFC الرسمي. ونتيجة لذلك، يجب أن تقوم دائماً بتخصيص اسماء المضيف بإستخدام الأحرف الصغيرة.

 

android:port

جزء المنفذ من قوة URI. لا معنى لهذه السمة إلا إذا تم تحديد سمات المخطط والمضيف أيضاً للمرشح.

 

 

android:path
android:pathPrefix
android:pathPattern

جزء المسار من URI والذي يجب أن يبدأ بـ/. سمة المسار تحدد مساراً كاملاً الذي بالمقابل يطابق المسار الكامل في كائن الغرض. سمة بادئة المسار تحدد مسار جزئي والذي بالمقابل يطابق فقط الجزء الأولي من المسار في كائن الغرض. سمة نمط المسار تحدد مسار كاملاً والذي بالمقابل يطابق المسار الكامل في كائن الغرض، ولكن قد يحتوي على الأحرف التاليه:

  • علامة النجمة (*) تطابق تسلسل من 0 إلى عدة مرات من الحرف السابق فوراً.
  • نقطة متبوعة بعلامة نجمة (*.) تطابق أي تسلسل من 0 إلى عدة أحرف.

لأن ‘\’ تستخدم كحرف تخطي عند قراءة السلسلة من ملف XML (قبل تحليلها كنمط)، ستحتاج إلى تخطي مزدوج: مثال، الحرف ‘*’ ستتم كتابته كـ”\\*” وستتم كتابة الحرف ‘\’ كـ”\\\\”. هذا في الأساس نفس ما تحتاج إلى كتابته في حالة بناء السلسلة في كود الجافا.

لمزيد من المعلومات عن هذه الأنواع الثلاثة من الأنماط، أنظر إلى وصف كلٍ من PATTERN_LITERAL, PATTERN_PREFIX, و PATTERN_SIMPLE_GLOB في فئة مطابقة النمط.

تكون هذه السمات ذات معنى فقط إذا تم أيضاً تحديد سمات المخطط و المضيف للمرشح.

android:mimeType

نوع صيغة الوسائط، مثل صيغة الصورة image/jpeg أو صيغة الوسائط audio/mpeg4-generic. النوع الفرعي يمكن أن يكون علامة النجمة (*) للإشارة إلى تطابق أي نوع فرعي.

من الشائع قيام مرشح الغرض بإعلان بيانات <data> التي تتضمن فقط سمة android:mimeType.

ملاحظة: توافق نوع الصيغة “MIME type” في إطار عمل الأندرويد متحسس لحالة الأحرف، بعكس أنواع الصيغ الرسمية RFC. ونتيجة لذلك، يجب عليك دائماً تحديد أنواع الصيغ بإستخدام أحرف صغيرة.

مقدم في:
API 1.

راجع أيضاً:
<action>
<category>

 


للإطلاع على المقال باللغة الإنجليزية أضغط هنا.

الإعلانات