المزيد من أنواع المصادر

الإعلانات

المزيد من أنواع المصادر

 

تحدد هذه الصفحة المزيد من أنواع المصادر التي يمكنك إستخدامها، وتتضمن:

Bool (القيم المنطقيه: صح/خطأ)
هو مصدر XML يحمل قيمة منطقيه.


Color اللون
هو مصدر XML يحمل قيمة لونيه (الألوان السداسي عشرية وهي بهذه الصيغة 0000FF#).

Dimension الأبعاد
هي مصدر XML يحمل قيمة بعد (مع وحدة قياس).

ID المعرف
هو مصدر XML يوفر معرف فريد لمصادر ومكونات التطبيق.

Integer عدد صحيح
هو مصدر XML يحمل قيمة عدد صحيح.

Integer Array مصفوفة عدد صحيح
هي مصدر XML يوفر مصفوفة أعداد صحيحة.

Typed Array مصفوفة مكتوبة
هي مصدر XML يوفر مصفوفة مكتوبة (والتي يمكنك إستخدامها لمصفوفة رسوميات).

 

 

 

 

 

المزيد من أنواع المصادر


منطقي Bool



هي قيم منطقية معرفة في ملف XML.

ملاحظة: المنطقي عبارة عن مصدر بسيط يشار إليه بإستخدام القيمة المتوفرة في سمة الاسم (وليس في اسم ملف XML). ولهذا، يمكنك دمج مصادر منطقية مع المصادر البسيطة الأخرى في ملف XML واحد، وتحت عنصر <resources> واحد.

موقع الملف:


res/values/filename.xml
اسم الملف عشوائي (من اختيارك). اسم العنصر <bool> سيستخدم كمعرف للمصدر.

الإشارة للمصدر:


في ملف الجافا: R.bool.bool_name
في ملف XML:
package:]bool/bool_name]@

بناء الجملة:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <bool
        name="bool_name"
        >[true | false]</bool>
</resources>

 

 

العناصر:


عنصر <resources>

مطلوب. يجب أن يكون العقدة الأساسيه. لا سمات له.

عنصر <bool>

هو قيمة منطقية إما true أو false.

السمات:
سمة الاسم name

تمثل بسلسله. اسم القيمة المنطقية.وهذا سيستخدم كمعرف للمصدر.

 

مثال:

ملف XML محفوظ في res/values-small/bools.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <bool name="screen_small">true</bool>
    <bool name="adjust_view_bounds">true</bool>
</resources>

 

هذا الكود يرجع قيمة منطقية:
KOTLIN

val screenIsSmall: Boolean = resources.getBoolean(R.bool.screen_small)

JAVA

Resources res = getResources();
boolean screenIsSmall = res.getBoolean(R.bool.screen_small);

 

مخطط XML هذا يستخدم القيمة المنطقية لسمة ما:

 

 

 

 

المزيد من أنواع المصادر

 

اللون Color



هي قيمة لونية معرفة في ملف XML. يحدد اللون بقيمة RGB و قناة ألفا. يمكنك إستخدام مصدر اللون في أي مكان يقبل القيمة اللونية السداسي عشرية. يمكنك أيضاً إستخدام مصدر اللون عندما يكون متوقعاً وجود مصدر رسوميات في XML (مثال،android:drawable="@color/green").

تبدأ القيمة دائماً بالرمز (#) ومن ثم تتبع بمعلومات اللون في إحدى الصيغ التاليه:

#RGB
#ARGB
#RRGGBB
#AARRGGBB

ملاحظة: اللون هو مصدر بسيط يشار إليه بإستخدام القيم ة المتوفره في سمة الاسم (وليس في اسم ملف XML). ولهذا، يمكنك دمج مصادر اللون مع مصادر أخرى بسيطة في ملف XML واحد، وتحت عنصر <resources> واحد.

موقع الملف:


res/values/colors.xml
اسم الملف عشوائي (من اختيارك). اسم عنصر اللون سيستخدم كمعرف للمصدر.

الإشارة للمصدر:


في ملف الجافا: R.color.color_name
في ملف XML:
package:]color/color_name]@

 

بناء الجمله:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color
        name="color_name"
        >hex_color</color>
</resources>

 

 

العناصر:


عنصر <resources>

مطلوب. يجب أن يكون العقدة الأساسية. لا سمات له.

عنصر <color>

لون يعبر عنه بالصيغة السداسية العشرية، كما هو مشروح أعلاه.

السمات:
سمة الاسم name

تمثل بسلسله. اسم اللون. وهذا سيستخدم كمعرف للمصدر.

 

مثال:


ملف XML محفوظ في res/values/colors.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
   <color name="opaque_red">#f00</color>
   <color name="translucent_red">#80ff0000</color>
</resources>

 

يشير هذا الكود إلى مصدر لون:

KOTLIN

val color: Int = resources.getColor(R.color.opaque_red)

JAVA

Resources res = getResources();
int color = res.getColor(R.color.opaque_red);

 

مخطط XML هذا يطبق اللون على سمه:

<TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:textColor="@color/translucent_red"
    android:text="Hello"/>

 

 

 

 

 

المزيد من أنواع المصادر

 

Dimension الأبعاد



هو قيمة بعد معرفة في ملف XML. يتم تحديد البعد برقم متبوعاً بوحدة قياس. مثال: 10px, 2in, 5sp. وحدات القياس التاليه مدعومة في الأندرويد:

 

dp
وحدة كثافة البكسل – هي وحده مجردة تعتمد على الكثافة الطبيعية للشاشة. هذه الوحدات تقريبية للشاشة (160 dpi (dpi تعني وحدة لكل بوصة، حيث أن 1dp تساوي 1px تقريباً. عند التشغيل على شاشة عالية الكثافه، يتم قياس عدد البكسلات المستخدمة لرسم 1dp بواسطة عامل مناسب لشاشة dpi. وبالمثل عند التشغيل على شاشة أقل كثافة، يتم تقليل عدد البكسل المستخدمه لـ1dp.

نسبة كثافة البكسل إلى البكسل (dp-to-pixel) سوف تتغير مع كثافة الشاشة، ولكن ليس بالضرورة بنسبة مباشرة. يعد إستخدام وحدات dp (بدلاً من وحدات px) هو حل بسيط لجعل أبعاد المعاينه في مخططك تعيد التحجيم بشكل يناسب الكثافات المختلفة للشاشة. بمعنى آخر، يوفر تناسق للأحجام الحقيقيه لعناصر واجهة المستخدم عبر مختلف الأجهزة.

sp
وحده مقياس البكسل – يشبه هذا وحدة dp، ولكن يتم تحجيمها أيضاً إعتماداً على حجم الخط المفضل للمستخدم. من المستحسن إستخدام هذه الوحدة عند تحديد أحجام الخطوط، ليتم ضبطها لكلٍ من كثافة الشاشة وتفضيلات المستخدم.

pt
نقاط – 1/72 في البوصه إعتماداً على الحجم الفعلي للشاشة، بإفتراض أن كثافة الشاشة 72dpi.

px
وحدة بكسل – تطابق وحدات البكسل الفعلية للشاشة. لا ينصح بإستخدام هذه الوحدة لأن التمثيل الفعلي يمكن أن يختلف بإختلاف الأجهزة؛ كل الأجهزة قد تحتوي على عدد مختلف من البكسلات لكل بوصة وقد تحتوي على مجموع وحدات بكسل أكثر أو أقل على الشاشة.


mm
وحدة ملليمتر – بناءً على الحجم الفعلي للشاشة.

in
وحدة البوصه – بناءً على الحجم الفعلي للشاشة.

ملاحظة: البعد مصدر بسيط يشار إليه بإستخدام القيمة المتوفرة في سمة الاسم (وليس في اسم ملف XML). ولهذا، يمكنك دمج مصادر الأبعاد مع مصادر بسيطة أخرى في ملف XML واحد تحت عنصر <resources> واحد.

موقع الملف:


res/values/filename.xml
اسم الملف عشوائي، اسم عنصر البعد يستخدم كمعرف للمصدر.

الإشارة للمصدر:


في ملف الجافا: R.dimen.dimension_name
في ملف XML:
package:]dimen/dimension_name]@

 

بناء الجملة:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <dimen
        name="dimension_name"
        >dimension</dimen>
</resources>

 

 

العناصر:


عنصر <resources>

مطلوب. يجب أن يكون العقدة الأساسية. لا سمات له.

عنصر <dimen>

بعد، يمثل بمتغير عائم float للأعداد العشرية، متبوعاً بوحدة قياس (dp, sp, pt, px, mm, in) كما هو موضح أعلاه.

السمات:

سمة الاسم name

تمثل بسلسلة. اسم البعد. سوف يستخدم كمعرف للمصدر.

مثال:


ملف XML محفوظ في res/values/dimens.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <dimen name="textview_height">25dp</dimen>
    <dimen name="textview_width">150dp</dimen>
    <dimen name="ball_radius">30dp</dimen>
    <dimen name="font_size">16sp</dimen>
</resources>

 

هذا الكود يشير إلى بُعد:
KOTLIN

val fontSize: Float = resources.getDimension(R.dimen.font_size)

JAVA

Resources res = getResources();
float fontSize = res.getDimension(R.dimen.font_size);

 

مخطط XML هذا يطبق بعد على سمه:

<TextView
    android:layout_height="@dimen/textview_height"
    android:layout_width="@dimen/textview_width"
    android:textSize="@dimen/font_size"/>

 

 

 

 

المزيد من أنواع المصادر

 

ID المعرف


معرف مصدر فريد في ملف XML. بإستخدام الاسم الذي توفره في عنصر <item>، تقوم أدوات مطوري الأندرويد بإنشاء عدد صحيح فريد في فئة مشروعك R.java، والذي يمكنك إستخدامه كمعرف لمصادر التطبيق (مثال، معاينة في مخطط واجهة المستخدم) أو عدد صحيح فريد ليستخدم في كود تطبيقك (مثال، كمعرف لمربع حوار أو كود نتيجه).

 

ملاحظة: المعرف مصدر بسيط يمكنك الإشارة إليه بإستخدام قيمة موفرة في سمة الاسم (وليس في اسم ملف XML). ولهذا، يمكنك دمج معرف المصدر مع مصادر بسيطة أخرى في ملف XML واحد تحت عنصر <resources> واحد. أيضاً، تذكر أن معرف المصدر لا يشير إلى عنصر مصدر فعلي. فهو ببساطة معرف فريد يمكنك ربطه بمصادر أخرى إستخدامه كعدد صحيح فريد في تطبيقك.

موقع الملف:


res/values/filename.xml
اسم الملف عشوائي.

الإشارة للمصدر:


في ملف الجافا: R.id.name
في ملف XML:
package:]id/name]@

بناء الجمله:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <item
        type="id"
        name="id_name" />
</resources>

 

العناصر:


عنصر <resources>

مطلوب. يجب أن يكون العقدة الأساسية. لا سمات له.

 

عنصر <item>

يحدد معرف فريد. لا يأخذ قيم، سمات فقط.

السمات:
سمة type

يجب أن تكون معرف “id“.

سمة الاسم name

تمثل بسلسلة. اسم فريد للمعرف.

مثال:


ملف XML محفوظ في res/values/ids.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <item type="id" name="button_ok" />
    <item type="id" name="dialog_exit" />
</resources>

 

ثم، يستخدم جزء المخطط هذا معرف الـ”button_ok” لودجت “عنصر واجهة التحكم” الزر:

<Button android:id="@id/button_ok"
    style="@style/button_style" />

 

لاحظ أن قيمة android:id لا تحتوي على علامة الجمع “+” في مرجع المعرف، لأن المعرف موجود بالفعل، كما هو موضح في المثال ids.xml أعلاه. (عندما تقوم بتعريف معرف لمصدر XML بإستخدام علامة الجمع – بالتنسيق التالي: android:id="@+id/name” – وهذا يعني أن معرف “الاسم” غير موجود ويجب أن يتم إنشاؤه).

وكمثال آخر، الجزء التالي من الكود يستخدم معرف “dialog_exit” كمعرف فريد لمربع حوار:


KOTLIN

showDialog(R.id.dialog_exit)

JAVA

showDialog(R.id.dialog_exit);

 

في نفس التطبيق معرف “dialog_exit” تتم مقارنته عند إنشاء مربع حوار:


KOTLIN

override fun onCreateDialog(id: Int): Dialog? {
    return when(id) {
        R.id.dialog_exit -> {
            ...
        }
        else -> {
            null
        }
    }
}

JAVA

protected Dialog onCreateDialog(int id) {
    Dialog dialog;
    switch(id) {
    case R.id.dialog_exit:
        ...
        break;
    default:
        dialog = null;
    }
    return dialog;
}

 

 

 

 

المزيد من أنواع المصادر

 

Integer عدد صحيح



هو عدد صحيح معرف في ملف XML.

 

ملاحظة: العدد الصحيح هو مصدر بسيط يشار إليه بإستخدام القيمة المتوفرة في سمة الاسم (وليس في اسم ملف XML). ولهذا، يمكنك دمج مصدر العدد الصحيح مع المصادر البسيطة الأخرى في ملف XML واحد وتحت عنصر <resources> واحد.

موقع الملف:


res/values/filename.xml
اسم الملف عشوائي. اسم عنصر العدد الصحيح يستخدم كمعرف للمصدر.

الإشارة للمصدر:

في ملف الجافا: R.integer.integer_name
في ملف XML:
package:]integer/integer_name]@

بناء الجمله:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <integer
        name="integer_name"
        >integer</integer>
</resources>

العناصر:

عنصر <resources>

مطلوب. يجب أن يكون العقدة الأساسية. لا سمات له.

عنصر <integer>

هو عدد صحيح.

السمات:

سمة الاسم name

تمثل بسلسلة. اسم لعدد صحيح. سيستخدم كمعرف للمصدر.

مثال:

ملف XML محفوظ في res/values/integers.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <integer name="max_speed">75</integer>
    <integer name="min_speed">5</integer>
</resources>

 

هذا الكود يشير إلى عدد صحيح:


KOTLIN

val maxSpeed: Int = resources.getInteger(R.integer.max_speed)

JAVA

Resources res = getResources();
int maxSpeed = res.getInteger(R.integer.max_speed);

 

 

 

 

المزيد من أنواع المصادر


Integer array مصفوفة عدد صحيح



هي مصفوفة لأعداد صحيحه معرفة في ملف XML.

ملاحظة: مصفوفة الأعداد الصحيحة هي مصدر بسيط يشار إليه بإستخدام القيمة المتوفرة في سمة الاسم (وليس في اسم ملف XML). ولهذا، يمكنك دمج مصادر مصفوفة الأعداد الصحيحه مع مصادر بسيطة أخرى في ملف XML واحد وتحت عنصر <resources> واحد.

موقع الملف:


res/values/filename.xml
اسم الملف عشوائي. اسم عنصر مصفوفة الأعداد الصحيحة يستخدم كمعرف للمصدر.

جمع أنواع بيانات المصادر:

تشير المصادر إلى مصفوفة أعداد صحيحه.

الإشارة للمصادر:

في ملف الجافا: R.array.integer_array_name
في ملف XML:
package:]array.integer_array_name]@

بناء الجمله:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <integer-array
        name="integer_array_name">
        <item
            >integer</item>
    </integer-array>
</resources>

 

العناصر:

عنصر <resources>

مطلوب. يجب أن يكون العقدة الأساسية. لا سمات له.

عنصر <integer-array>

يحدد مصفوفة أعداد صحيحة. يحتوي على واحد أو أكثر من عناصر <item> الفرعيه.

السمات:
android:name

تمثل بسلسلة. اسم المصفوفه. يستخدم هذا الاسم كمعرف للمصدر للإشارة إلى المصفوفه.

عنصر <item>

عدد صحيح. القيمة يمكن أن تشير إلى مصدر عدد صحيح آخر. يجب أن يكون تابع لعنصر <integer-array>.

لا سمات له.

مثال:


ملف XML محفوظ في res/values/integers.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <integer-array name="bits">
        <item>4</item>
        <item>8</item>
        <item>16</item>
        <item>32</item>
    </integer-array>
</resources>

 

هذا الكود يقوم بإسترداد مصفوفة عدد صحيح:
KOTLIN

val bits: IntArray = resources.getIntArray(R.array.bits)

JAVA

Resources res = getResources();
int[] bits = res.getIntArray(R.array.bits);

 

 

 

 

المزيد من أنواع المصادر

 

Typed array مصفوفة مكتوبة


المصفوفة المكتوبة معرفه في ملف XML. يمكنك إستخدامها لإنشاء مصفوفة لمصادر أخرى، مثل الرسوميات. لاحظ أن المصفوفة لا يجب أن تكون متجانسه، لذا يمكنك إنشاء مصفوفة لأنواع مصادر مختلطه، ولكن يجب أن تكون مدركاً لأماكن و أنواع البيانات في المصفوفة، لتتمكن من الحصول على كل عنصر بشكلٍ صحيح بإستخدام دوال جلب ()...get المصفوفة المكتوبه.

 

ملاحظة: المصفوفة المكتوبة مصدر بسيط يشار إليه بإستخدام القيمة المتوفرة في سمة الاسم (وليس في اسم ملف XML). ولهذا، يمكنك دمج مصادر المصفوفة المكتوبة مع مصادر بسيطة أخرى في ملف XML واحد وتحت عنصر <resources> واحد.

موقع الملف:


res/values/filename.xml
اسم الملف عشوائي. اسم عنصر المصفوفة يستخدم كمعرف للمصدر.

جمع أنواع بيانات المصادر:

تشير المصادر إلى مصفوفة مكتوبه.

 

الإشارة للمصدر:

في ملف الجافا: R.array.array_name
في ملف XML:
package:]array.array_name]@

بناء الجملة: المزيد من أنواع المصادر المزيد من أنواع المصادر

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <array
        name="integer_array_name">
        <item>resource</item>
    </array>
</resources>

 

 

العناصر: المزيد من أنواع المصادر المزيد من أنواع المصادر المزيد من أنواع المصادر المزيد من أنواع المصادر


عنصر <resources>

مطلوب. يجب أن يكون العقدة الأساسية. لا سمات له.

عنصر <array>

يحدد مصفوفه. يحتوي على واحد أو أكثر من عناصر <item> الفرعيه.

السمات:


سمة android:name

تمثل بسلسلة. اسم مصفوفة. يستخدم كمعرف للمصدر للإشارة إلى المصفوفة.

عنصر <item>

مصدر عام. يمكن أن تشير القيمة إلى مصدر أو لنوع بيانات بسيط. يجب أن يكون تابع لعنصر <array> .

لا سمات له.

 

مثال:
ملف XML محفوظ في res/values/arrays.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <array name="icons">
        <item>@drawable/home</item>
        <item>@drawable/settings</item>
        <item>@drawable/logout</item>
    </array>
    <array name="colors">
        <item>#FFFF0000</item>
        <item>#FF00FF00</item>
        <item>#FF0000FF</item>
    </array>
</resources>

 

هذا الكود يقوم بإسترداد كل مصفوفة ثم يحصل على أول إدخال لكل مصفوفة:
KOTLIN 

val icons: TypedArray = resources.obtainTypedArray(R.array.icons)
val drawable: Drawable = icons.getDrawable(0)

val colors: TypedArray = resources.obtainTypedArray(R.array.colors)
val color: Int = colors.getColor(0,0)

JAVA

Resources res = getResources();
TypedArray icons = res.obtainTypedArray(R.array.icons);
Drawable drawable = icons.getDrawable(0);

TypedArray colors = res.obtainTypedArray(R.array.colors);
int color = colors.getColor(0,0);

 

 


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

 

الإعلانات

11 thoughts on “المزيد من أنواع المصادر”

Comments are closed.