בעזרת תיבת הדו-שיח Create New Class ותבניות קבצים, Android Studio עוזר לכם ליצור במהירות את הסוגים והמחלקות החדשים הבאים:
- מחלקות Java
- מחלקות מנייה ומחלקות סינגלטון
- סוגי ממשקים והערות
אחרי שממלאים את השדות בתיבת הדו-שיח Create New Class ולוחצים על OK, Android Studio יוצר קובץ .java שמכיל קוד שלד, כולל הצהרת חבילה, ייבוא נדרש, כותרת והצהרה על מחלקה או סוג. אחר כך תוכלו להוסיף את הקוד לקובץ הזה.
תבניות קבצים מציינות איך Android Studio יוצר את קוד השלד. אפשר להשתמש בתבניות הקבצים שמסופקות עם Android Studio כמו שהן, או להתאים אותן אישית לתהליך הפיתוח.
צפייה בתבניות קבצים והתאמה אישית שלהן
ב-Android Studio יש תבניות קבצים שקובעות איך נוצרים סוגים ומחלקות Java חדשים באמצעות תיבת הדו-שיח יצירת מחלקה חדשה. אפשר להתאים אישית את התבניות האלה.
איור 1. תיבת הדו-שיח יצירת כיתה חדשה.
תבניות הקבצים של Android Studio כוללות קוד של Velocity Template Language (VTL) ומשתנים שמטפלים באפשרויות הנוספות האלה. בתיבת הדו-שיח יצירת כיתה חדשה נעשה שימוש בתבניות הקבצים AnnotationType, Class, Enum, Interface ו-Singleton.
כדי לראות את התבניות, למצוא התאמות אישיות ולשנות את התבניות, פועלים לפי השלבים הבאים:
מבצעים אחת מהפעולות הבאות:
- ב-Windows או ב-Linux, בוחרים באפשרות קובץ > הגדרות > עורך > תבניות של קבצים וקוד > קבצים.
- ב-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 חדשות, מחלקות enumeration ו-singleton, וסוגי ממשקים והערות על סמך תבניות קבצים.
כדי ליצור מחלקה או סוג חדשים של Java, פועלים לפי השלבים הבאים:
- בחלון Project (פרויקט), לוחצים לחיצה ימנית על קובץ או תיקייה של Java ובוחרים באפשרות New (חדש) > Java Class (מחלקת Java).
- בתיבת הדו-שיח יצירת כיתה חדשה, ממלאים את השדות:
- שם – השם של המחלקה או הסוג החדשים. הוא צריך לעמוד בדרישות השם של Java. אל תקלידו סיומת של שם קובץ.
- סוג – בוחרים את הקטגוריה או הסוג של הכיתה.
- Superclass – הכיתה שהכיתה החדשה יורשת ממנה. אפשר להקליד את החבילה ואת שם הכיתה, או רק את שם הכיתה ואז ללחוץ פעמיים על פריט ברשימה הנפתחת כדי להשלים אותו אוטומטית.
- ממשקים – ממשק אחד או יותר שהמחלקה או הסוג החדשים מטמיעים. אם יש כמה ממשקים, צריך להפריד ביניהם באמצעות פסיק ואחריו רווח (לא חובה). אפשר להקליד את שם החבילה ואת שם הממשק, או רק את שם הממשק, ואז ללחוץ לחיצה כפולה על פריט ברשימה הנפתחת כדי להשלים אותו אוטומטית.
- Package (חבילה) – החבילה שבה ימוקם הסיווג או הסוג. ברירת המחדל מופיעה אוטומטית בשדה. אם מקלידים שם חבילה בשדה, כל החלקים של מזהה החבילה שלא קיימים מסומנים באדום. במקרה כזה, Android Studio יוצר את החבילה אחרי שלוחצים על OK. השדה הזה חייב להכיל ערך. אחרת, קובץ ה-Java לא יכיל הצהרת
package, והסיווג או הסוג לא ימוקמו בחבילה בפרויקט. - חשיפה – בוחרים אם הכיתה או הסוג גלויים לכל הכיתות, או רק לאלה שנכללות בחבילה שלהם.
- משנים – בוחרים את המשנה Abstract או Final עבור Class, או לא בוחרים אף אחד מהם.
- הצגת תיבת הדו-שיח לבחירת שיטות לביטול או להטמעה – אם בוחרים באפשרות סוג של Class (מחלקה), מסמנים את התיבה הזו כדי לפתוח את תיבת הדו-שיח לבחירת שיטות לביטול או להטמעה אחרי שלוחצים על OK. בתיבת הדו-שיח הזו, אפשר לבחור שיטות שרוצים להחליף או להטמיע, ו-Android Studio ייצור קוד שלד לשיטות האלה.
- לוחצים על אישור.
אפשר גם לבחור קובץ או תיקייה של Java בחלון Project או ללחוץ על קובץ Java בכלי לעריכת קוד. אחר כך בוחרים באפשרות קובץ > חדש > Java Class (מחלקת 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– רשימה של הצהרות Javaimportשמופרדות בשורות חדשות, שנדרשות לתמיכה בממשקי superclass או בממשקים, או מחרוזת ריקה (""). לדוגמה, אם מטמיעים רק את הממשק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.