إنشاء فئة أو نوع بلغة Java

باستخدام مربّع الحوار إنشاء صف جديد ونماذج الملفات، يساعدك "استوديو Android" في إنشاء الفئات والأنواع الجديدة التالية بسرعة:

  • فئات Java
  • فئات التعداد والفئات الفردية
  • أنواع الواجهات والتعليقات التوضيحية

بعد ملء حقول مربّع الحوار إنشاء صف جديد والنقر على موافق، ينشئ "استوديو Android" ملفًا بتنسيق .java يحتوي على رمز هيكلي، بما في ذلك عبارة الحزمة وأي عمليات استيراد ضرورية ورأس، وتصريح فئة أو نوع. بعد ذلك، يمكنك إضافة الرمز البرمجي إلى هذا الملف.

تحدّد نماذج الملفات كيفية إنشاء "استوديو Android" للرمز الهيكلي. يمكنك استخدام نماذج الملفات المتوفّرة مع "استوديو Android" كما هي، أو تخصيصها لتناسب عملية التطوير.

عرض نماذج الملفات وتخصيصها

يوفّر "استوديو Android" نماذج ملفات تحدّد كيفية إنشاء فئات وأنواع Java جديدة باستخدام مربّع الحوار إنشاء صف جديد. يمكنك تخصيص هذه النماذج.

مربّع الحوار "إنشاء صف جديد"

الشكل 1. مربّع الحوار إنشاء صف جديد

تتضمّن نماذج ملفات "استوديو Android" رمز لغة Velocity Template Language (VTL) ومتغيّرات تتعامل مع هذه الخيارات الإضافية. يستخدم مربّع الحوار إنشاء صف جديد نماذج الملفات AnnotationType، Class، Enum، Interface، وSingleton.

لعرض النماذج والعثور على التخصيصات وتعديل النماذج، اتّبِع الخطوات التالية:

  1. نفّذ أيًا مما يلي:

    • في نظامَي التشغيل Windows أو Linux، انقر على ملف > الإعدادات > المحرِّر > نماذج الملفات والرموز البرمجية > الملفات.
    • في نظام التشغيل macOS، انقر على استوديو Android > الإعدادات المفضّلة > المحرِّر > نماذج الملفات والرموز البرمجية > الملفات.

    في قائمة النماذج، تظهر أسماء النماذج الداخلية بخط عريض. تظهر أسماء النماذج المخصّصة بلون مميّز، مثل الأزرق.

  2. خصِّص نماذج الملفات حسب الحاجة.

    إذا أردت استخدام حقول مربّع الحوار إنشاء صف جديد ، تأكَّد من أنّ التغييرات التي تجريها تتوافق مع رمز نموذج ملف استوديو Android.

لمزيد من المعلومات عن نماذج الملفات، بما في ذلك VTL، يُرجى الاطّلاع على نماذج الملفات والرموز البرمجية ومربّع حوار نماذج الملفات والرموز البرمجية.

إنشاء فئة أو نوع Java

يساعدك "استوديو Android" في إنشاء فئات Java جديدة وفئات التعداد وفئات سينغلتون وفئات وأنواع الواجهات والتعليقات التوضيحية استنادًا إلى نماذج الملفات.

لإنشاء فئة أو نوع Java جديد، اتّبِع الخطوات التالية:

  1. في نافذة المشروع ، انقر بزر الماوس الأيمن على ملف أو مجلد Java، ثم انقر على جديد > فئة Java.
  2. بدلاً من ذلك، اختَر ملفًا أو مجلدًا بتنسيق Java في نافذة المشروع ، أو انقر في ملف بتنسيق Java في "محرِّر الرموز البرمجية". بعد ذلك، انقر على ملف > جديد > فئة Java.

    يحدّد العنصر الذي تختاره الحزمة التلقائية للفئة أو النوع الجديد.

  3. في مربّع الحوار إنشاء صف جديد ، املأ الحقول التالية:
    • الاسم : اسم الفئة أو النوع الجديد. يجب أن يتوافق مع متطلبات اسم Java. لا تكتب امتداد اسم الملف.
    • النوع : اختَر فئة أو نوع الفئة.
    • الفئة الأساسية : الفئة التي ترث منها فئتك الجديدة. يمكنك كتابة اسم الحزمة واسم الفئة، أو اسم الفئة فقط، ثم النقر مرّتين على عنصر في القائمة المنسدلة لإكماله تلقائيًا.
    • الواجهات : واجهة واحدة أو أكثر تنفّذها الفئة أو النوع الجديد. يجب الفصل بين الواجهات المتعدّدة بفاصلة متبوعة بمسافة اختيارية. يمكنك كتابة اسم الحزمة واسم الواجهة، أو اسم الواجهة فقط، ثم النقر مرّتين على عنصر في القائمة المنسدلة لإكماله تلقائيًا.
    • تعمل ميزة الإكمال التلقائي لاسم الواجهة الأول فقط. يُرجى العِلم أنّه على الرغم من أنّ الفاصلة واسم الواجهة التاليَين قد يؤديان إلى ظهور خطأ في تلميح الأدوات، يمكنك تجاهل الخطأ لأنّه لا يؤثّر في الرمز البرمجي الذي تم إنشاؤه.

    • الحزمة : الحزمة التي ستتضمّن الفئة أو النوع. يظهر الإعداد التلقائي تلقائيًا في الحقل. إذا كتبت اسم حزمة في الحقل، يتم تمييز أي أجزاء من مُعرّف الحزمة غير المتوفّرة باللون الأحمر. في هذه الحالة، ينشئ "استوديو Android" الحزمة بعد النقر على موافق. يجب أن يحتوي هذا الحقل على قيمة، وإلا لن يحتوي ملف Java على عبارة package ، ولن يتم وضع الفئة أو النوع ضمن حزمة في المشروع.
    • يعتمِد الإعداد التلقائي على كيفية تشغيل مربّع الحوار إنشاء صف جديد. إذا اخترت أولاً ملفًا أو مجلدًا بتنسيق Java في نافذة المشروع ، يكون الإعداد التلقائي هو حزمة العنصر الذي اخترته. إذا نقرت أولاً في ملف بتنسيق Java في "محرِّر الرموز البرمجية"، يكون الإعداد التلقائي هو الحزمة التي تحتوي على هذا الملف.

    • مستوى الظهور : اختَر ما إذا كانت الفئة أو النوع مرئيًا لـ جميع الفئات، أو فقط للفئات الموجودة في الحزمة الخاصة به.
    • المعدِّلات : اختَر المعدِّل Abstract أو Final لـ فئة ، أو لا تختَر أيًا منهما.
    • عرض مربّع حوار "اختيار عمليات الإلغاء" : بالنسبة إلى النوع فئة، ضَع علامة في هذا الخيار لفتح مربّع الحوار "اختيار الطرق المطلوب إلغاؤها أو تنفيذها" بعد النقر على موافق. في مربّع الحوار هذا، يمكنك اختيار الطرق التي تريد إلغاءها أو تنفيذها، وسينشئ "استوديو Android" رمزًا هيكليًا لهذه الطرق.

    يتم إخفاء أي حقول لا تنطبق على النوع.

  4. انقر على موافق.
  5. ينشئ "استوديو Android" ملف Java يحتوي على رمز هيكلي يمكنك تعديله. ويفتح الملف في "محرِّر الرموز البرمجية".

ملاحظة: يمكنك إنشاء فئة فردية من خلال النقر على ملف > جديد > فئة فردية أو ملف > جديد > فئة Java؛ يوفّر الأسلوب الأخير المزيد من الخيارات.

نماذج ملفات "استوديو Android"

يسرد هذا القسم رمز نموذج ملف "استوديو Android" المكتوب بلغة برمجة VTL، متبوعًا بتعريفات المتغيّرات. تصبح القيم التي تقدّمها في مربّع الحوار إنشاء صف جديد قيم المتغيّرات في النموذج. يُرجى العِلم أنّ الأسطر التي تبدأ بـ #if (${VISIBILITY} تمتد حتى العلامة المعقوفة المفتوحة ( { ).

نموذج ملف AnnotationType

#if (${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end

#if (${IMPORT_BLOCK} != "")${IMPORT_BLOCK}
#end
#parse("File Header.java")

#if (${VISIBILITY} == "PUBLIC")public #end @interface ${NAME} #if (${INTERFACES} != "")extends ${INTERFACES} #end {
}

نموذج ملف Class

#if (${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end

#if (${IMPORT_BLOCK} != "")${IMPORT_BLOCK}
#end
#parse("File Header.java")

#if (${VISIBILITY} == "PUBLIC")public #end #if (${ABSTRACT} == "TRUE")abstract #end #if (${FINAL} == "TRUE")final #end class ${NAME} #if (${SUPERCLASS} != "")extends ${SUPERCLASS} #end #if (${INTERFACES} != "")implements ${INTERFACES} #end {
}

نموذج ملف Enum

#if (${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end

#if (${IMPORT_BLOCK} != "")${IMPORT_BLOCK}
#end
#parse("File Header.java")

#if (${VISIBILITY} == "PUBLIC")public #end enum ${NAME} #if (${INTERFACES} != "")implements ${INTERFACES} #end {
}

نموذج ملف Interface

#if (${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end

#if (${IMPORT_BLOCK} != "")${IMPORT_BLOCK}
#end
#parse("File Header.java")

#if (${VISIBILITY} == "PUBLIC")public #end enum ${NAME} #if (${INTERFACES} != "")implements ${INTERFACES} #end {
#end {
}

نموذج ملف Singleton

#if (${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end

#if (${IMPORT_BLOCK} != "")${IMPORT_BLOCK}
#end
#parse("File Header.java")

#if (${VISIBILITY} == "PUBLIC")public #end class ${NAME} #if (${SUPERCLASS} != "")extends ${SUPERCLASS} #end #if (${INTERFACES} != "")implements ${INTERFACES} #end {
    private static final ${NAME} ourInstance = new ${NAME}();

    #if (${VISIBILITY} == "PUBLIC")public #end static ${NAME} getInstance() {
        return ourInstance;
    }

    private ${NAME}() {
    }
}

متغيّرات نموذج الملف

يستبدل "استوديو Android" متغيّرات نموذج الملف بالقيم في ملف Java الذي تم إنشاؤه. يمكنك إدخال القيم في مربّع الحوار إنشاء صف جديد. يحتوي النموذج على المتغيّرات التالية التي يمكنك استخدامها:

  • IMPORT_BLOCK - قائمة مفصولة بأسطر جديدة لعبارات Java import الضرورية لدعم أي فئة أساسية أو واجهات، أو سلسلة فارغة (""). على سبيل المثال، إذا نفّذت واجهة Runnable فقط ولم توسّع أي شيء، سيكون هذا المتغيّر هو "import java.lang.Runnable;\n". إذا نفّذت واجهة Runnable ووسّعت فئة Activity ، سيكون هذا المتغيّر "import android.app.Activity;\nimportjava.lang.Runnable;\n".
  • VISIBILITY : ما إذا كانت الفئة ستكون متاحة للجميع أم لا. يمكن أن تكون قيمته PUBLIC أو PACKAGE_PRIVATE.
  • SUPERCLASS : اسم فئة واحد أو فارغ. إذا كان هذا المتغيّر متوفّرًا، ستظهر عبارة extends ${SUPERCLASS} بعد اسم الفئة الجديدة.
  • INTERFACES - قائمة قيم مفصولة بفاصلة للواجهات، أو فارغة. إذا كان هذا المتغيّر متوفّرًا، ستظهر عبارة implements ${INTERFACES} بعد الفئة الأساسية، أو بعد اسم الفئة إذا لم تكن هناك فئة أساسية. بالنسبة إلى الواجهات وأنواع التعليقات التوضيحية، تحتوي الواجهات على الكلمة الرئيسية extends.
  • ABSTRACT : ما إذا كان يجب أن تكون الفئة مجرّدة أم لا. يمكن أن تكون قيمته TRUE أو FALSE.
  • FINAL : ما إذا كان يجب أن تكون الفئة نهائية أم لا. يمكن أن تكون قيمته TRUE أو FALSE.