یک کلاس جاوا ایجاد کنید یا تایپ کنید

Android Studio به شما کمک می‌کند تا با قالب‌های گفتگو و فایل ایجاد کلاس جدید ، کلاس‌ها و انواع جدید زیر را به سرعت ایجاد کنید:

  • کلاس های جاوا
  • کلاس های شمارش و تک تن
  • انواع رابط و حاشیه نویسی

بعد از اینکه فیلدهای گفتگوی Create New Class را پر کردید و روی OK کلیک کردید، Android Studio یک فایل .java حاوی کد اسکلت، شامل یک بیانیه بسته، هر گونه واردات لازم، یک سرصفحه، و یک کلاس یا اعلان نوع ایجاد می کند. در مرحله بعد می توانید کد خود را به این فایل اضافه کنید.

قالب‌های فایل مشخص می‌کنند که Android Studio چگونه کد اسکلت را تولید می‌کند. می‌توانید از قالب‌های فایل ارائه‌شده با Android Studio همانطور که هست استفاده کنید یا آن‌ها را مطابق با فرآیند توسعه خود سفارشی کنید.

مشاهده و سفارشی سازی قالب های فایل

Android Studio قالب‌های فایلی را ارائه می‌کند که نحوه ایجاد کلاس‌ها و انواع جدید جاوا را با گفتگوی Create New Class تعیین می‌کند. شما می توانید این قالب ها را سفارشی کنید.

گفتگوی ایجاد کلاس جدید.

شکل 1 . گفتگوی ایجاد کلاس جدید .

قالب‌های فایل Android Studio شامل کدهای Velocity Template Language ( VTL ) و متغیرهایی است که این گزینه‌های اضافی را مدیریت می‌کنند. گفتگوی Create New Class از الگوهای فایل AnnotationType ، Class ، Enum ، Interface و Singleton استفاده می کند.

برای مشاهده قالب‌ها، یافتن سفارشی‌سازی‌ها و اصلاح الگوها، مراحل زیر را دنبال کنید:

  1. یکی از کارهای زیر را انجام دهید:

    • برای ویندوز یا لینوکس، File > Settings > Editor > File and Code Templates > Files را انتخاب کنید.
    • برای macOS، Android Studio > Preferences > Editor > File and Code Templates > Files را انتخاب کنید.

    در لیست الگو ، نام قالب های داخلی با فونت پررنگ است. نام های قالب سفارشی شده با رنگ هایلایت مانند آبی نمایش داده می شوند.

  2. در صورت نیاز، قالب های فایل را سفارشی کنید.

    اگر می‌خواهید از فیلدهای گفتگوی Create New Class استفاده کنید، مطمئن شوید که تغییرات شما با کد قالب فایل Android Studio مطابقت دارد.

برای اطلاعات بیشتر در مورد قالب‌های فایل، از جمله VTL، به قالب‌های فایل و کد و گفتگوی قالب‌های فایل و کد مراجعه کنید.

ایجاد کلاس یا نوع جاوا

Android Studio به شما کمک می کند تا کلاس های جدید جاوا ایجاد کنید. شمارش و کلاس های تک تن; و انواع رابط و حاشیه نویسی بر اساس الگوهای فایل .

برای ایجاد یک کلاس جاوا یا نوع جدید، این مراحل را دنبال کنید:

  1. در پنجره Project ، روی یک فایل یا پوشه جاوا کلیک راست کرده و New > Java Class را انتخاب کنید.
  2. از طرف دیگر، یک فایل یا پوشه جاوا را در پنجره پروژه انتخاب کنید یا روی یک فایل جاوا در ویرایشگر کد کلیک کنید. سپس File > New > Java Class را انتخاب کنید.

    موردی که انتخاب می‌کنید بسته پیش‌فرض کلاس یا نوع جدید را تعیین می‌کند.

  3. در گفتگوی ایجاد کلاس جدید ، فیلدهای زیر را پر کنید:
    • نام - نام کلاس یا نوع جدید. باید با الزامات نام جاوا مطابقت داشته باشد. پسوند نام فایل را تایپ نکنید.
    • نوع - دسته کلاس یا نوع را انتخاب کنید.
    • Superclass - کلاسی که کلاس جدید شما از آن به ارث می برد. می توانید نام بسته و کلاس یا فقط نام کلاس را تایپ کنید و سپس روی یک مورد در لیست کشویی دوبار کلیک کنید تا آن را تکمیل کنید.
    • رابط(ها) - یک یا چند رابط که کلاس یا نوع جدید پیاده سازی می کند. چندین رابط باید با یک کاما و سپس یک فضای اختیاری از هم جدا شوند. می توانید بسته و نام رابط یا فقط نام رابط را تایپ کنید و سپس روی یک مورد در لیست کشویی دوبار کلیک کنید تا آن را تکمیل کنید.
    • تکمیل خودکار فقط برای اولین نام رابط کار می کند. توجه داشته باشید که در حالی که کاما و نام رابط زیر می تواند یک خطای راهنمای ابزار را ایجاد کند، می توانید این خطا را نادیده بگیرید زیرا روی کد تولید شده تأثیر نمی گذارد.

    • بسته - بسته ای که کلاس یا نوع در آن قرار می گیرد. پیش فرض به طور خودکار در فیلد ظاهر می شود. اگر یک نام بسته را در فیلد تایپ کنید، هر قسمت از شناسه بسته که وجود ندارد قرمز برجسته می شود. در این حالت، Android Studio پس از کلیک روی OK بسته را ایجاد می کند. این فیلد باید حاوی یک مقدار باشد. در غیر این صورت، فایل جاوا حاوی دستور package نخواهد بود و کلاس یا نوع آن در داخل یک بسته در پروژه قرار نخواهد گرفت.
    • پیش فرض بستگی به نحوه راه اندازی گفتگوی Create New Class دارد. اگر ابتدا یک فایل یا پوشه جاوا را در پنجره Project انتخاب کرده اید، پیش فرض بسته موردی است که انتخاب کرده اید. اگر برای اولین بار روی یک فایل جاوا در ویرایشگر کد کلیک کردید، پیش فرض بسته ای است که حاوی این فایل است.

    • Visibility - انتخاب کنید که کلاس یا نوع برای همه کلاس‌ها قابل مشاهده باشد یا فقط برای کلاس‌های موجود در بسته خودش.
    • Modifiers - اصلاح کننده Abstract یا Final را برای یک کلاس یا هیچکدام انتخاب کنید.
    • Show Select Overrides Dialog - برای یک نوع کلاس ، این گزینه را علامت بزنید تا پس از کلیک روی OK، کادر گفتگوی Select Methods to Override/Implement را باز کنید. در این گفتگو، می‌توانید روش‌هایی را که می‌خواهید لغو یا پیاده‌سازی کنید، انتخاب کنید و اندروید استودیو برای این روش‌ها کد اسکلت تولید می‌کند.

    هر فیلدی که برای Kind اعمال نمی شود پنهان می شود.

  4. روی OK کلیک کنید.
  5. Android Studio یک فایل جاوا با کد اسکلت ایجاد می کند که می توانید آن را تغییر دهید. این فایل را در ویرایشگر کد باز می کند.

توجه: با انتخاب File > New > Singleton یا File > New > Java Class می توانید یک کلاس singleton ایجاد کنید. تکنیک دوم گزینه های بیشتری را ارائه می دهد.

قالب های فایل اندروید استودیو

این بخش کد قالب فایل اندروید استودیو نوشته شده در زبان برنامه نویسی 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 {
}

قالب فایل 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 {
}

قالب فایل رابط

#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 Studio متغیرهای قالب فایل را با مقادیر موجود در فایل جاوای تولید شده جایگزین می کند. شما مقادیر را در گفتگوی Create New Class وارد می کنید. این قالب دارای متغیرهای زیر است که می توانید از آنها استفاده کنید:

  • IMPORT_BLOCK - فهرستی با خط جدید از دستورهای 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 داشته باشد.