Latest web development tutorials

الموارد الروبوت (الموارد) إدارة

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

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


الموارد التنظيمية في الكسوف

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

MyProject/
    src/  
        MyActivity.java  
    res/
        drawable/  
            icon.png  
        layout/  
            activity_main.xml
            info.xml
        values/  
            strings.xml 

RES / دليل يحتوي على كافة الموارد في مختلف الدلائل. وهنا مورد صورة، وهما الموارد تخطيط وملف مورد سلسلة. الجدول التالي يعطي تفصيلا في الدقة مشروع / دعم الموارد الدليل.

دليل نوع الموارد
أنيم / ملف XML الذي يحدد خاصية الرسوم المتحركة. يتم حفظها في الدقة / حيوان / مجلد، حسب نوع R.anim الوصول
اللون / ملف XML الذي يحدد القائمة وضع اللون. يتم حفظها في الدقة / اللون / مجلد، حسب نوع R.color الوصول
drawable / ملفات الصور، مثل بابوا نيو غينيا، jpg أو gif أو ملف XML، يتم تجميع كصورة نقطية، قائمة دولة والأشكال والصور المتحركة. يتم حفظها في الدقة / drawable / مجلد، حسب نوع وصول R.drawable
تخطيط / واجهة المستخدم المخصصة تخطيط ملف XML. يتم حفظها في الدقة / تخطيط / مجلد، حسب نوع R.layout الوصول
القائمة / العرف ملفات XML القائمة التطبيق، مثل قائمة خيارات، في سياق القوائم الفرعية القوائم. يتم حفظها في الدقة / القائمة / مجلد، حسب نوع وصول R.menu
الخام / يتم حفظ أي ملفات في شكلها الأصلي. نحن بحاجة إلى R.raw.filename معرف المورد اسمه، لفتح ملف الخام عن طريق الاتصال Resource.openRawResource ()
القيم / تحتوي على ملفات XML القيم بسيطة (مثل الجمل، وصحيحة، واللون، وما إلى ذلك). وهنا بعض الموارد في إطار الاتفاقيات مجلد التسمية. arrays.xml نيابة عن مجموعة من الموارد، من خلال نوع R.array من الحصول عليها؛ يمثل integers.xml عدد صحيح من موارد الوصول إليها من خلال R.integer الدرجة؛ والموارد bools.xml نيابة عن قيم منطقية، نوع من وصول R.bool؛ والموارد colors.xml نيابة عن اللون، الوصول إليها من خلال الطبقة R.color، بعد dimens.xml ممثلي القيم، من خلال نوع R.dimen من الحصول عليها؛ يمثل strings.xml مورد سلسلة، من خلال نوع R.string من الوصول، وممثلين styles.xml الموارد أسلوب، عن طريق نوع من الوصول R.style
أكس / من خلال الدعوة Resources.getXML () لقراءة ملفات XML التعسفية في وقت التشغيل. ملفات التكوين المختلفة يمكن حفظ وقت هنا

الموارد البديلة

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

للتعرف على مجموعة من الموارد البديلة للتكوين معين، باتباع الخطوات التالية:

  • إنشاء احتياط دليل الجديدة / لأسفل ل<RESOURCE_NAME> _ <config_qualifier> تتم تسمية. resources_name هنا أي موارد المذكورة في الجدول، مثل التصميم والصور. سوف التصفيات المؤهلة لتحديد ما هي الموارد اللازمة لاستخدام تكوين شخصية. يمكنك ان ترى الوثائق الرسمية للحصول على قائمة كاملة من أنواع مختلفة من تصفيات الموارد.
  • توفير موارد بديلة استجابة لهذا الدليل. يجب أن تكون هذه الملفات الموارد تظهر اسم ملف المورد الافتراضي هو يتفق مع الأمثلة التالية، ومع ذلك، فإن هذه الوثائق تحديد محتويات تبديل. على سبيل المثال: في حين أن ملف الصورة اسم نفسه، ولكن سوف دقة الشاشة من دقة الصورة ستكون أعلى.

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

MyProject/
   src/
    main/
    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/
   src/
    main/
    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. تصف المقاطع التالية كيفية الوصول إلى هذه الموارد بشكل منفصل في سيناريوهين.

في رمز الوصول إلى الموارد

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

أمثلة

الدقة وصول / drawable / myimage.png، وتعيينها إلى ImageView، هل استخدام التعليمات البرمجية التالية:

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

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

أمثلة

النظر في المثال الذي RES / القيم / strings.xml تعرف على النحو التالي:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string  name="hello">Hello, World!</string>
</resources>

الآن يمكنك استخدام معرف جي اس كائن من معرف المورد TextView لضبط النص، على النحو التالي:

TextView msgTextView = (TextView) findViewById(R.id.msg);
msgTextView.setText(R.string.hello);

أمثلة

النظر في التعريف التالي للاحتياط تخطيط / تخطيط / activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent" 
   android:layout_height="fill_parent" 
   android:orientation="vertical" >

   <TextView android:id="@+id/text"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Hello, I am a TextView" />

   <Button android:id="@+id/button"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Hello, I am a Button" />

</LinearLayout>

سوف رمز التطبيق تحميل تخطيط النشاط، طريقة onCreate () على النحو التالي:

<?xml version="1.0" encoding="utf-8"?>
<resources>
   <color name="opaque_red">#f00</color>
   <string name="hello">Hello!</string>
</resources>

الوصول في XML

النظر في XML التالي ملف المورد RES / القيم / strings.xml، الذي يحتوي على مورد اللون ومورد سلسلة -

<?xml version="1.0" encoding="utf-8"?>
<EditText 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" />

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

<code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;EditText 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" /&gt;
</code>

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