בעזרת תיבת הדו-שיח Create New Class ותבניות קבצים, Android Studio עוזר לכם ליצור במהירות את הסוגים והמחלקות החדשים הבאים:
- מחלקות Java
- מחלקות מנייה ומחלקות סינגלטון
- סוגי ממשקים והערות
אחרי שממלאים את השדות בתיבת הדו-שיח יצירת כיתה חדשה ולוחצים על אישור, Android Studio יוצר קובץ .java שמכיל קוד שלד, כולל הצהרת חבילה, כל הייבוא הנדרש, כותרת והצהרה על כיתה או סוג. אחר כך אפשר להוסיף את הקוד לקובץ הזה.
תבניות קבצים מציינות איך Android Studio יוצר את קוד השלד. אתם יכולים להשתמש בתבניות הקבצים שמסופקות עם Android Studio כמו שהן, או להתאים אותן אישית לתהליך הפיתוח שלכם.
צפייה בתבניות קבצים והתאמה אישית שלהן
ב-Android Studio יש תבניות קבצים שקובעות איך נוצרים סוגים ומחלקות Java חדשים באמצעות תיבת הדו-שיח Create New Class (יצירת מחלקה חדשה). אפשר להתאים אישית את התבניות האלה.
איור 1. תיבת הדו-שיח יצירת כיתה חדשה.
תבניות הקבצים ב-Android Studio כוללות קוד של Velocity Template Language (VTL) ומשתנים שמטפלים באפשרויות הנוספות האלה. בתיבת הדו-שיח יצירת כיתה חדשה נעשה שימוש בתבניות הקבצים AnnotationType, Class, Enum, Interface ו-Singleton.
כדי לראות את התבניות, למצוא התאמות אישיות ולשנות את התבניות, פועלים לפי השלבים הבאים:
מבצעים אחת מהפעולות הבאות:
- ב-Windows או ב-Linux, בוחרים באפשרות File > Settings > Editor > File and Code Templates > Files.
- ב-macOS, בוחרים באפשרות Android Studio > Preferences > Editor > File and Code Templates > Files (קובץ > העדפות > עורך > תבניות של קבצים וקוד > קבצים).
ברשימת התבניות, שמות התבניות הפנימיים מודגשים. שמות של תבניות מותאמות אישית מוצגים בצבע מודגש, כמו כחול.
מתאימים אישית את תבניות הקבצים לפי הצורך.
אם רוצים להשתמש בשדות של תיבת הדו-שיח Create New Class, צריך לוודא שהשינויים תואמים לקוד של תבנית קובץ ב-Android Studio.
מידע נוסף על תבניות קבצים, כולל VTL, זמין במאמרים File and Code Templates ו-File and Code Templates Dialog.
יצירת מחלקה או סוג ב-Java
Android Studio עוזר לכם ליצור מחלקות Java חדשות, מחלקות של ספירה ומחלקות סינגלטון, וסוגים של ממשקים והערות שמבוססים על תבניות קבצים.
כדי ליצור מחלקה או סוג חדשים של Java, פועלים לפי השלבים הבאים:
- בחלון Project (פרויקט), לוחצים לחיצה ימנית על קובץ או תיקייה של Java ובוחרים באפשרות New (חדש) > Java Class (מחלקת Java).
- בתיבת הדו-שיח יצירת כיתה חדשה, ממלאים את השדות:
- שם – השם של הכיתה או הסוג החדשים. הוא צריך לעמוד בדרישות בנוגע לשמות ב-Java. לא מקלידים סיומת של שם קובץ.
- סוג – בוחרים את הקטגוריה או הסוג של הכיתה.
- Superclass – הכיתה שממנה הכיתה החדשה יורשת. אפשר להקליד את שם החבילה ואת שם המחלקה, או רק את שם המחלקה, ואז ללחוץ לחיצה כפולה על פריט ברשימה הנפתחת כדי להשלים אותו אוטומטית.
- ממשקים – ממשק אחד או יותר שהמחלקה או הסוג החדשים מטמיעים. אם יש כמה ממשקים, צריך להפריד ביניהם באמצעות פסיק ואחריו רווח (לא חובה). אפשר להקליד את שם החבילה ואת שם הממשק, או רק את שם הממשק, ואז ללחוץ לחיצה כפולה על פריט ברשימה הנפתחת כדי להשלים אותו אוטומטית.
- Package – החבילה שבה ימוקמו המחלקה או הסוג. ברירת המחדל מופיעה אוטומטית בשדה. אם מקלידים שם חבילה בשדה, כל החלקים במזהה החבילה שלא קיימים מסומנים באדום. במקרה כזה, Android Studio יוצר את החבילה אחרי שלוחצים על אישור. השדה הזה חייב להכיל ערך. אחרת, קובץ ה-Java לא יכיל הצהרת
package, והמחלקה או הסוג לא ימוקמו בחבילה בפרויקט. - חשיפה – בוחרים אם הכיתה או הסוג גלויים לכל הכיתות, או רק לאלה שנכללות בחבילה שלה.
- Modifiers (משנים) – בוחרים את המשנה Abstract (מופשט) או Final (סופי) עבור Class (מחלקה), או לא בוחרים אף אחד מהם.
- Show Select Overrides Dialog (הצגת תיבת הדו-שיח Select Overrides) – אם בוחרים באפשרות Kind (סוג) של Class (מחלקה), מסמנים את התיבה הזו כדי לפתוח את תיבת הדו-שיח Select Methods to Override/Implement (בחירת שיטות לביטול או להטמעה) אחרי שלוחצים על OK (אישור). בתיבת הדו-שיח הזו, אפשר לבחור שיטות שרוצים להחליף או להטמיע, ו-Android Studio ייצור קוד שלד לשיטות האלה.
- לוחצים על אישור.
אפשר גם לבחור קובץ או תיקייה של Java בחלון Project או ללחוץ על קובץ Java בכלי לעריכת קוד. אחר כך בוחרים באפשרות קובץ > חדש > מחלקת Java.
הפריט שתבחרו יקבע את חבילת ברירת המחדל לכיתה או לסוג החדשים.
ההשלמה האוטומטית פועלת רק בשם הממשק הראשון. שימו לב: הפסיק ושם הממשק שאחריו יכולים להציג שגיאת תיאור, אבל אפשר להתעלם מהשגיאה כי היא לא משפיעה על הקוד שנוצר.
ברירת המחדל תלויה באופן שבו פתחתם את תיבת הדו-שיח יצירת כיתה חדשה. אם בחרתם קודם קובץ או תיקייה של Java בחלון Project, ברירת המחדל היא החבילה של הפריט שבחרתם. אם קודם לחצתם בקובץ Java בעורך הקוד, ברירת המחדל היא החבילה שמכילה את הקובץ הזה.
כל השדות שלא רלוונטיים לסוג מוסתרים.
Android Studio יוצר קובץ Java עם קוד בסיסי שאפשר לשנות. הקובץ ייפתח בכלי לעריכת קוד.
הערה: אפשר ליצור מחלקת סינגלטון על ידי בחירה באפשרות קובץ > חדש > סינגלטון או באפשרות קובץ > חדש > מחלקת Java. האפשרות השנייה מציעה יותר אפשרויות.
תבניות קבצים של Android Studio
בקטע הזה מפורט קוד תבנית הקובץ של Android Studio שנכתב בשפת התסריט VTL, ואחריו מופיעות הגדרות של המשתנים. הערכים שאתם מספקים בתיבת הדו-שיח Create New Class (יצירת כיתה חדשה) הופכים לערכי המשתנים בתבנית.
שימו לב שהשורות שמתחילות ב-#if (${VISIBILITY} נמשכות עד הסוגר המסולסל הפותח (#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 שנוצר. מזינים את הערכים בתיבת הדו-שיח יצירת כיתה חדשה. בתבנית יש את המשתנים הבאים שבהם אפשר להשתמש:
-
IMPORT_BLOCK– רשימה של הצהרות Java שמופרדות בשורה חדשה, שנדרשות לתמיכה במחלקת-על או בממשקים, או מחרוזת ריקה (""). לדוגמה, אם מטמיעים רק את הממשקRunnableולא מרחיבים שום דבר, המשתנה הזה יהיה"import java.lang.Runnable;\n".importאם מטמיעים את הממשקRunnableומרחיבים את המחלקהActivity, התוצאה תהיה"import android.app.Activity;\nimportjava.lang.Runnable;\n". VISIBILITY– האם תהיה לכיתה גישה ציבורית או לא. הערך יכול להיותPUBLICאוPACKAGE_PRIVATE.-
SUPERCLASS– שם כיתה יחיד או ריק. אם יש כזה, יופיע סעיףextends ${SUPERCLASS}אחרי שם הכיתה החדש. -
INTERFACES- רשימה של ממשקים שמופרדים בפסיקים, או ריקה. אם יש סופר-קלאס, יופיע סעיףimplements ${INTERFACES}אחריו. אם אין סופר-קלאס, יופיע סעיףimplements ${INTERFACES}אחרי שם הקלאס. בממשקים ובסוגי ההערות, הממשקים כוללים את מילת המפתחextends. -
ABSTRACT– האם הכיתה צריכה להיות מופשטת או לא. הערך יכול להיותTRUEאוFALSE. -
FINAL– האם המחלקה צריכה להיות סופית או לא. הערך יכול להיותTRUEאוFALSE.