יצירת מחלקה או סוג של 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 חדשות, כיתות ספירה וסולוטינים, וסוגים של ממשקים והערות על סמך תבניות קבצים.

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

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

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

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

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

    • Visibility – בוחרים אם הכיתה או הסוג יהיו גלויים לכל הכיתות או רק לאלה שנמצאות בחבילה שלו.
    • Modifiers – בוחרים את המאפיין Abstract או Final לClass, או לא בוחרים אף אחד מהם.
    • Show Select Overrides Dialog – לסוג של Class, מסמנים את האפשרות הזו כדי לפתוח את תיבת הדו-שיח 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.