الجمعة، 22 نوفمبر 2019

أساسيات الأندرويد الوصول وتنظيم الموارد في برمجة الأندرويد Android Basics Android Resources Organizing & Accessing#

الوصول وتنظيم الموارد في برمجة الأندرويد Android Resources Organizing & Accessing#

الوصول وتنظيم الموارد في برمجة الأندرويد Android #Resources Organizing & Accessing
هناك العديد من العناصر التي تستخدمها لإنشاء تطبيق Android جيد.  بصرف النظر عن الترميز الخاص بالتطبيق ، فإنك تهتم بالموارد الأخرى المختلفة مثل المحتوى الثابت الذي تستخدمه التعليمات البرمجية الخاصة بك ، مثل الصور النقطية والألوان وتعريفات التخطيط وسلاسل واجهة المستخدم وتعليمات الحركة والمزيد.  يتم الاحتفاظ بهذه الموارد دائمًا بشكل منفصل في أدلة فرعية مختلفة ضمن res / directory للمشروع.

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

 تنظيم الموارد في Android Studio
MyProject/
   app/
      manifest/
         AndroidManifest.xml
   java/
      MyActivity.java  
      res/
         drawable/  
            icon.png  
         layout/  
            activity_main.xml
            info.xml
         values/  
            strings.xml 



التسلسل المسار ونوع المورد 
1
anim/
.ملفات XML التي تحدد الرسوم المتحركة للملكية.  يتم حفظها في res / anim / folder ويمكن الوصول إليها من فئة R.anim
2
color/
ملفات XML التي تحدد قائمة حالة الألوان.  يتم حفظها في الدقة / اللون / ويمكن الوصول إليها من فئة R.color.
3
drawable/
.ملفات الصور مثل ملفات .png أو .jpg أو .gif أو XML التي يتم تجميعها في صور نقطية أو قوائم حالة أو أشكال أو رسوم متحركة قابلة للفحص.  يتم حفظها في res / drawable / ويمكن الوصول إليها من فئة R.drawable
4
layout/
ملفات XML التي تحدد تخطيط واجهة المستخدم.  يتم حفظها في الدقة / التخطيط / ويمكن الوصول إليها من فئة R.layout.
5
menu/
ملفات XML التي تحدد قوائم التطبيقات ، مثل قائمة الخيارات أو قائمة السياق أو القائمة الفرعية.  يتم حفظها في الدقة / القائمة / ويمكن الوصول إليها من فئة R.menu.
6
raw/
.الملفات التعسفية للحفظ في شكلها الخام.  تحتاج إلى الاتصال بـ Resources.openRawResource () بمعرف المورد ، وهو R.raw.filenameto افتح هذه الملفات الأولية
7
values/
ملفات XML التي تحتوي على قيم بسيطة ، مثل السلاسل النصية والأعداد الصحيحة والألوان.  على سبيل المثال ، فيما يي بعض اصطلاحات أسماء الملفات للموارد التي يمكنك إنشاؤها في هذا الدليل -

 arrays.xml لصفائف الموارد ، ويمكن الوصول إليه من فئة R.array.

 integers.xml للأعداد الصحيحة للموارد ، ويمكن الوصول إليها من فئة R.integer.

 bools.xml لمصدر منطقي ، ويمكن الوصول إليه من فئة R.bool.

 colours.xml لقيم اللون ، ويمكن الوصول إليه من فئة R.color.

 البعد. xml لقيم البعد ، والوصول إليها من فئة R.dimen.

 strings.xml لقيم السلسلة ، ويمكن الوصول إليها من فئة R.string.

 styles.xml للأنماط ، ويمكن الوصول إليه من فئة R.style
.
8
xml/
ملفات XML التعسفية التي يمكن قراءتها في وقت التشغيل عن طريق استدعاء Resources.getXML ().  يمكنك حفظ ملفات التكوين المختلفة هنا والتي سيتم استخدامها في وقت التشغيل.
الموارد البديلة
 يجب أن يوفر التطبيق الخاص بك موارد بديلة لدعم تكوينات جهاز معين.  على سبيل المثال ، يجب عليك تضمين موارد بديلة قابلة للفرد (أي الصور) لدقة الشاشة المختلفة وموارد السلسلة البديلة للغات المختلفة.  في وقت التشغيل ، يكتشف Android التكوين الحالي للجهاز ويحمل الموارد المناسبة لتطبيقك.

 لتحديد بدائل خاصة بالتكوين لمجموعة من الموارد ، اتبع الخطوات التالية -

 إنشاء دليل جديد في الدقة / المسماة في النموذج - .  هنا resources_name سيكون أيًا من الموارد المذكورة في الجدول أعلاه ، مثل التخطيط ، القابل للفرد ، إلخ. سيحدد المؤهل تكوينًا فرديًا لاستخدام هذه الموارد.  يمكنك التحقق من الوثائق الرسمية للحصول على قائمة كاملة من التصفيات لأنواع مختلفة من الموارد.

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

 يوجد أدناه مثال يحدد الصور للشاشة الافتراضية والصور البديلة للشاشة عالية الدقة.


MyProject/
   app/
      manifest/
         AndroidManifest.xml
   java/
      MyActivity.java   
      res/
         drawable/  
            icon.png
            background.png
         drawable-hdpi/  
            icon.png
            background.png  
         layout/  
            activity_main.xml
            info.xml
         values/  
            strings.xml 
يوجد أدناه مثال آخر يحدد تخطيط اللغة الافتراضية والتخطيط البديل للغة العربية
.
MyProject/
   app/
      manifest/
         AndroidManifest.xml
   java/
      MyActivity.java   
      res/
         drawable/  
            icon.png
            background.png
         drawable-hdpi/  
            icon.png
            background.png  
         layout/  
            activity_main.xml
            info.xml
         layout-ar/
            main.xml
         values/  
            strings.xml 


الوصول إلى الموارد

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

 الوصول إلى الموارد في التعليمات البرمجية
 عند تجميع تطبيق Android الخاص بك ، يتم إنشاء فئة R ، والتي تحتوي على معرفات الموارد لجميع الموارد المتاحة في res / directory.  يمكنك استخدام فئة R للوصول إلى هذا المورد باستخدام الدليل الفرعي واسم المورد أو معرف المورد المباشر.

 مثال
 للوصول إلى res / drawable / myimage.png وتعيين ImageView ، ستستخدم الرمز التالي -

ImageView imageView = (ImageView) findViewById(R.id.myimageview);
imageView.setImageResource(R.drawable.myimage);

فيما يلي السطر الأول من التعليمات البرمجية باستخدام R.id.myimageview للحصول على تعريف ImageView مع معرف myimageview في ملف تخطيط.  يستخدم السطر الثاني من التعليمات البرمجية R.drawable.myimage للحصول على صورة مع اسم myimage المتوفر في الدليل الفرعي القابل للرسم ضمن / res.

 مثال
 النظر في المثال التالي حيث res / values ​​/ strings.xml له التعريف التالي -


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

     name="hello">Hello, World!

الآن يمكنك تعيين النص على كائن TextView مع msg معرف باستخدام معرف مورد كما يلي
TextView msgTextView = (TextView) findViewById(R.id.msg);
msgTextView.setText(R.string.hello);

مثال

 فكر في تخطيط res / layout / activity_main.xml بالتعريف التالي -

xml version="1.0" encoding="utf-8"?>
 xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent" 
   android:layout_height="fill_parent" 
   android:orientation="vertical" >
   
    android:id="@+id/text"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Hello, I am a TextView" />

   
سيقوم رمز التطبيق هذا بتحميل هذا التخطيط لأحد الأنشطة ، في طريقة onCreate () كما يلي -
public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_main);
}

xml version

="1.0" encoding="utf-8"?>

    name="opaque_red">#f00
    name="hello">Hello!

يمكنك الآن استخدام هذه الموارد في ملف التخطيط التالي لتعيين لون النص وسلسلة النص كما يلي -

xml version="1.0" encoding="utf-8"?>
 xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:textColor="@color/opaque_red"
   android:text="@string/hello" />



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


التسميات: