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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

يسرد هذا القسم رمز نموذج ملف Android Studio المكتوب بلغة النصوص البرمجية VTL، متبوعًا بتعريفات المتغيّرات. تصبح القيم التي تقدّمها في مربّع الحوار Create New Class (إنشاء صف جديد) هي القيم المتغيّرة في النموذج. يُرجى العلم أنّ الأسطر التي تبدأ بالرموز #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 {
}

نموذج ملف الصف

#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 {
}

نموذج ملف التعداد

#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 {
}

نموذج ملف الواجهة

#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 {
}

نموذج ملف سينغلتون

#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 Studio متغيّرات نموذج الملف بقيم فيملف 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.