יצירת מחלקה או סוג של Java

בעזרת תיבת הדו-שיח Create New Class ותבניות הקבצים, אפשר ליצור במהירות את הסוגים והכיתות החדשים הבאים ב-Android Studio:

  • כיתות Java
  • Enumeration וכיתות singleton
  • סוגי ממשק והערות

אחרי שממלאים את השדות בתיבת הדו-שיח Create New Class ולוחצים על OK, מערכת Android Studio יוצרת קובץ .java שמכיל קוד שלד, כולל הצהרת חבילה, ייבוא של קבצים נחוצים, כותרת והצהרה על סוג או כיתה. לאחר מכן, אפשר להוסיף את הקוד לקובץ הזה.

תבניות הקבצים קובעות איך Android Studio יוצרת את קוד השלד. אפשר להשתמש בתבניות הקבצים שסופקו עם Android Studio כמו שהן, או להתאים אותן אישית בהתאם לתהליך הפיתוח שלכם.

הצגה והתאמה אישית של תבניות קבצים

ב-Android Studio יש תבניות של קבצים שקובעות איך יוצרים סוגים וכיתות חדשים של Java באמצעות תיבת הדו-שיח Create New Class. אפשר להתאים אישית את התבניות האלה.

תיבת הדו-שיח 'יצירת כיתה חדשה'.

איור 1. תיבת הדו-שיח Create New Class.

תבניות הקבצים של Android Studio כוללות קוד ומשתנים של Velocity Template Language‏ (VTL) שמטפלים באפשרויות הנוספות האלה. בתיבת הדו-שיח Create New Class נעשה שימוש בתבניות הקובץ AnnotationType,‏ Class,‏ Enum,‏ Interface ו-Singleton.

כדי להציג את התבניות, למצוא התאמות אישיות ולשנות את התבניות:

  1. מבצעים אחת מהפעולות הבאות:

    • ב-Windows או ב-Linux, בוחרים באפשרות 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, זמין במאמרים תבניות קבצים וקוד ותיבת הדו-שיח 'תבניות קבצים וקוד'.

יצירת סוג או כיתה ב-Java

בעזרת Android Studio תוכלו ליצור כיתות Java חדשות, כיתות ספירה וקלאסיות טיפשיות (singletons), וסוגים של ממשקים והערות על סמך תבניות קבצים.

כדי ליצור סוג או כיתה חדשים ב-Java:

  1. בחלון Project, לוחצים לחיצה ימנית על קובץ Java או על תיקיית Java ובוחרים באפשרות New‏ > Java Class.
  2. לחלופין, בוחרים קובץ Java או תיקיית Java בחלון Project, או לוחצים על קובץ Java בכלי לעריכת קוד. לאחר מכן בוחרים באפשרות File‏ > New‏ > Java Class.

    הפריט שבוחרים קובע את חבילת ברירת המחדל לכיתה או לסוג החדשים.

  3. ממלאים את השדות בתיבת הדו-שיח Create New Class:
    • Name – השם של הסוג או הכיתה החדשים. הוא צריך לעמוד בדרישות השמות של Java. אין להקליד סיומת של שם הקובץ.
    • סוג – בוחרים את הקטגוריה של הכיתה או הסוג.
    • מחלקת אב – הכיתה שממנה הכיתה החדשה יורשת. אפשר להקליד את שם החבילה ואת שם הכיתה, או רק את שם הכיתה, ואז ללחוץ לחיצה כפולה על פריט ברשימה הנפתחת כדי להשלים אותו באופן אוטומטי.
    • ממשקים – ממשק אחד או יותר שהמחלקה או הסוג החדשים מטמיעים. אם יש כמה ממשקים, צריך להפריד ביניהם באמצעות פסיק ואז רווח אופציונלי. אפשר להקליד את שם החבילה ואת שם הממשק, או רק את שם הממשק, ואז ללחוץ לחיצה כפולה על פריט ברשימה הנפתחת כדי להשלים את ההזנה.
    • ההשלמה האוטומטית פועלת רק בשם הממשק הראשון. חשוב לזכור שאפשר להתעלם מהשגיאה שמופיעה בתיאור הכלי, כי היא לא משפיעה על הקוד שנוצר.

    • Package – החבילה שבה המחלקה או הסוג יימצאו. ברירת המחדל מופיעה בשדה באופן אוטומטי. אם מקלידים שם חבילה בשדה, חלקים של מזהה החבילה שלא קיימים מודגשים באדום. במקרה כזה, Android Studio יוצרת את החבילה אחרי שלוחצים על אישור. השדה הזה חייב להכיל ערך. אחרת, קובץ ה-Java לא יכיל משפט package והכיתה או הסוג לא יופיעו בחבילה בפרויקט.
    • ברירת המחדל תלויה באופן שבו הפעלתם את תיבת הדו-שיח Create New Class. אם בחרתם קודם קובץ או תיקייה של Java בחלון Project, ברירת המחדל היא החבילה של הפריט שבחרתם. אם לחצתם קודם על קובץ Java בכלי לעריכת קוד, ברירת המחדל היא החבילה שמכילה את הקובץ הזה.

    • Visibility (חשיפה) – בוחרים אם הכיתה או הסוג יהיו גלויים לכל הכיתות או רק לאלה שנמצאות בחבילה שלו.
    • Modifiers – בוחרים את המאפיין Abstract או Final לClass, או לא בוחרים אף אחד מהם.
    • Show Select Overrides Dialog (הצגת תיבת הדו-שיח Select Methods to Override/Implement) – לסוג של כיתה, מסמנים את האפשרות הזו כדי לפתוח את תיבת הדו-שיח Select Methods to Override/Implement אחרי שלוחצים על OK. בתיבת הדו-שיח הזו אפשר לבחור שיטות שרוצים לשנות או להטמיע, ו-Android Studio תיצור קוד שלד לשיטות האלה.

    שדות שלא רלוונטיים ל-Kind מוסתרים.

  4. לוחצים על אישור.
  5. מערכת Android Studio יוצרת קובץ Java עם קוד שלד שאפשר לשנות. הקובץ ייפתח בעורך הקוד.

הערה: אפשר ליצור כיתה מסוג singleton על ידי בחירה באפשרות קובץ > חדש > Singleton או באפשרות קובץ > חדש > כיתה ב-Java. השיטה השנייה מציעה אפשרויות נוספות.

תבניות של קבצים ב-Android Studio

בקטע הזה מופיע הקוד של תבנית הקובץ ב-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 {
}

תבנית של קובץ 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 מחליף את המשתנים של תבנית הקובץ בערכים בקובץ Java שנוצר. מזינים את הערכים בתיבת הדו-שיח Create New Class (יצירת כיתה חדשה). התבנית כוללת את המשתנים הבאים שאפשר להשתמש בהם:

  • IMPORT_BLOCK – רשימה של משפטי import ב-Java שמוקפת בקו חדש, הדרושה לתמיכה בכל סופר-קלאס או ממשק, או מחרוזת ריקה (""). לדוגמה, אם מטמיעים רק את הממשק 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.