כמפתחים של אפליקציות לנייד, אתם בדרך כלל מפתחים את ממשק המשתמש של האפליקציה שלכם בהדרגה, במקום לפתח את הכל בבת אחת. Android Studio מאמץ את הגישה הזו באמצעות Jetpack Compose, ומספק כלים שלא דורשים גרסה בנויה מלאה כדי לבדוק, לשנות ערכים ולאמת את התוצאה הסופית.
עריכה בזמן אמת
'עריכה בזמן אמת' היא תכונה שמאפשרת לעדכן רכיבים מורכבים במהלך האימולציה ובמכשירים פיזיים בזמן אמת. הפונקציה הזו מפחיתה את מספר המעברים בין ההקשרים של כתיבת האפליקציה לבין פיתוח האפליקציה, ומאפשרת לכם להתמקד בכתיבת הקוד למשך זמן ארוך יותר ללא הפרעה.
ל-Live Edit יש שלושה מצבים:
- ידני: שינויי קוד מוחלים כאשר הם נדחפים באופן ידני באמצעות Control+' ( Command+' ב-macOS)
- שמירה ידנית: שינויים בקוד חלים כששומרים אותם באופן ידני באמצעות Control+S (Command+S ב-macOS).
- אוטומטי: השינויים חלים במכשיר או במהדמה כשמעדכנים פונקציה שניתנת ליצירה.
התכונה 'עריכה בזמן אמת' מתמקדת בשינויים בקוד שקשורים לממשק המשתמש ולחוויית המשתמש. העריכה בזמן אמת לא תומכת בשינויים כמו עדכונים של חתימה של שיטות, הוספת שיטות חדשות או שינויים בהיררכיית הכיתות. מידע נוסף זמין ברשימה של המגבלות של העריכה בזמן אמת.
התכונה הזו היא לא תחליף ליצירה ולהפעלה של האפליקציה או ל-Apply Changes. במקום זאת, הם נועדו לבצע אופטימיזציה של תהליך העבודה בתהליך הפיתוח, הפריסה והחזרה על תהליך הפיתוח של ממשק המשתמש של הכתיבה.
תהליך העבודה המומלץ הוא:
- מגדירים את האפליקציה כך שניתן יהיה להריץ אותה.
- מומלץ להשתמש בעריכה בזמן אמת כמה שיותר, עד שתצטרכו לבצע שינוי שאין לו תמיכה בעריכה בזמן אמת, כמו הוספת שיטות חדשות בזמן שהאפליקציה פועלת.
- אחרי שמבצעים שינוי שאינו נתמך, לוחצים על הפעלה כדי להפעיל מחדש את האפליקציה ולהמשיך בעריכה בזמן אמת.
איך מתחילים להשתמש בתכונה 'עריכה בזמן אמת'
כדי להתחיל, עליכם לפעול לפי השלבים הבאים כדי ליצור פעילות ריקה של כתיבת תוכן, להפעיל את העריכה בזמן אמת בפרויקט ולבצע שינויים באמצעות העריכה בזמן אמת.
הגדרת הפרויקט החדש
לפני שמתחילים, צריך לוודא ש-Android Studio Giraffe או גרסה מתקדמת יותר מותקנת, ורמת ה-API של המכשיר הפיזי או של הסימולטור היא לפחות 30.
פותחים את Android Studio ובוחרים באפשרות New Project (פרויקט חדש) בתיבת הדו-שיח Welcome to Android Studio (ברוכים הבאים ל-Android Studio). אם כבר יש לכם פרויקט פתוח, תוכלו ליצור פרויקט חדש על ידי מעבר אל קובץ > חדש > פרויקט חדש.
בוחרים את התבנית Empty Compose Activity לטלפון וטאבלט ולוחצים על Next.
ממלאים את תיבת הדו-שיח New Project (פרויקט חדש) עם הפרטים הנדרשים: שם, שם החבילה, מיקום השמירה, ערכת ה-SDK המינימלית ושפת תצורת ה-build.
לוחצים על סיום.
הפעלת התכונה 'עריכה בזמן אמת'
עוברים להגדרות כדי להפעיל את העריכה בזמן אמת.
- ב-Windows או ב-Linux, עוברים אל קובץ > הגדרות > עריכה > עריכה בזמן אמת.
- ב-macOS, עוברים אל Android Studio > Settings > Editor > Live Edit.
בוחרים באפשרות עריכה בשידור חי ובמצב שרוצים להריץ מההגדרות.
במצב ידני, שינויי הקוד מועברים בכל פעם שמקישים על Control+' (Command+' ב-macOS). במצב ידני כששומרים, השינויים בקוד מוחלים בכל פעם ששומרים ידנית, באמצעות Control+S (Command+S ב-macOS). במצב אוטומטי, השינויים בקוד חלים במכשיר או במהלך ההרצה במהלך ביצוע השינויים.
פותחים את הקובץ
MainActivity
בכלי העריכה. זהו נקודת הכניסה לאפליקציה.לוחצים על הפעלה כדי לפרוס את האפליקציה.
אחרי שמפעילים את העריכה בזמן אמת, סימן הווי הירוק עדכני מופיע בפינה הימנית העליונה של חלון הכלי מכשירים שפועלים:
ביצוע ובדיקת שינויים
כשמבצעים שינויים נתמכים בכלי העריכה, מכשיר הבדיקה הווירטואלי או הפיזי מתעדכן באופן אוטומטי.
לדוגמה, עורכים את ה-method הקיים Greeting
ב-MainActivity
כך:
@Composable fun Greeting(name: String) { Text( text = "Hello $name!", Modifier .padding(80.dp) // Outer padding; outside background .background(color = Color.Cyan) // Solid element background color .padding(16.dp) // Inner padding; inside background, around text) ) }
השינויים יופיעו באופן מיידי במכשיר הבדיקה, כפי שמוצג באיור 4.
פתרון בעיות בעריכה בזמן אמת
אם העריכות לא מוצגות במכשיר הבדיקה, יכול להיות ש-Android Studio לא הצליח לעדכן את העריכות. בודקים אם באינדיקטור של 'עריכה בזמן אמת' מופיע הכיתוב לא מעודכן כפי שמוצג בתרשים 5, שמציין שגיאת הידור. כדי לקבל מידע על השגיאה והצעות לפתרון שלה, לוחצים על האינדיקטור.
המגבלות של עריכה בזמן אמת
בהמשך מופיעה רשימה של ההגבלות הקיימות.
[רלוונטי רק ל-Android Studio Giraffe ואילך] כדי להשתמש בתכונה 'עריכה בזמן אמת', צריך Compose Runtime בגרסה 1.3.0 ואילך. אם בפרויקט שלכם נעשה שימוש בגרסה ישנה יותר של Compose, התכונה 'עריכה בזמן אמת' תהיה מושבתת.
[רלוונטי רק ל-Android Studio Giraffe ואילך] כדי להשתמש בתכונה 'עריכה בזמן אמת' צריך AGP מגרסה 8.1.0-alpha05 ואילך. אם בפרויקט שלכם נעשה שימוש בגרסה נמוכה יותר של AGP, התכונה Live Edit מושבתת.
כדי להשתמש בתכונה 'עריכה בזמן אמת', נדרש מכשיר פיזי או אמולטור שפועלים ברמת API 30 ומעלה.
ב'עריכה בזמן אמת' יש תמיכה רק בעריכת גוף הפונקציה, כלומר אי אפשר לשנות את שם הפונקציה או את החתימה, להוסיף או להסיר פונקציה או לשנות שדות שאינם פונקציות.
כשמשתמשים בעריכה בזמן אמת, המצב של האפליקציה מתאפס בפעם הראשונה שמשתנים את הפונקציה 'כתיבה' בקובץ. זה קורה רק אחרי שינוי הקוד הראשון – מצב האפליקציה לא מתאפס אחרי שינויים נוספים בקוד של פונקציות Compose בקובץ הזה.
שינוי של כיתות בזמן אמת עשוי לגרום להשפעה מסוימת על הביצועים. אם אתם רוצים להעריך את הביצועים של האפליקציה, כדאי להריץ אותה ולהשתמש בגרסה נקייה של build.
צריך לבצע הרצה מלאה כדי שהכלי לניפוי באגים יפעל על מחלקות ששיניתם באמצעות 'עריכה בזמן אמת'.
אפליקציה פועלת עלולה לקרוס כשעורכים אותה באמצעות עריכה בזמן אמת. במקרה כזה, תוכלו לפרוס מחדש את האפליקציה באמצעות הלחצן הפעלה .
התכונה 'עריכה בזמן אמת' לא מבצעת הרבה שינויים בבייטקוד שמוגדר בקובץ ה-build של הפרויקט. לדוגמה, שינוי בבייטקוד שמתבצע כשהפרויקט נוצר באמצעות האפשרויות שבתפריט Build או על ידי לחיצה על הלחצנים Build או Run.
פונקציות שאינן קומפוזביליות מתעדכנות בזמן אמת במכשיר או באמולטור, ומופעלת הרכבה מחדש מלאה. יכול להיות שההרכב מחדש המלא לא יפעיל את הפונקציה המעודכנת. כדי להשתמש בפונקציות שלא ניתן לשלב, צריך להפעיל את הפונקציות המעודכנות או להריץ את האפליקציה מחדש.
העריכה בזמן אמת לא ממשיכה כשמפעילים מחדש את האפליקציה. תצטרכו להפעיל את האפליקציה שוב.
אפשר לערוך בזמן אמת רק תהליכים שאפשר לנפות בהם באגים.
התכונה 'עריכה בזמן אמת' לא תומכת בפרויקטים שמשתמשים בערכים מותאמים אישית עבור
moduleName
במסגרתkotlinOptions
בהגדרת ה-build.התכונה 'עריכה בזמן אמת' לא פועלת עם פריסות עם כמה פריסות. המשמעות היא שאי אפשר לפרוס את האפליקציה במכשיר אחד ולאחר מכן במכשיר אחר. העריכה בזמן אמת פעילה רק בקבוצת המכשירים האחרונה שבה פרסתם את האפליקציה.
אפשר להשתמש בתכונה 'עריכה בזמן אמת' בפריסות במספר מכשירים (פריסות במספר מכשירים שנוצרו באמצעות האפשרות בחירת מספר מכשירים בתפריט הנפתח של מכשיר היעד). עם זאת, אין תמיכה רשמית באפשרות הזו ויכול להיות שתהיה בעיה. אם נתקלת בבעיות, יש לדווח עליהן.
האפשרויות 'החלת שינויים' או 'החלת שינויים בקוד' לא תואמות לעריכה בזמן אמת, וצריך להפעיל מחדש את האפליקציה שפועלת.
בשלב הזה, התכונה Live Edit לא תומכת בפרויקטים של Android Automotive.
שאלות נפוצות על העריכה בזמן אמת
מה הסטטוס הנוכחי של התכונה 'עריכה בזמן אמת'?
התכונה 'עריכה בזמן אמת' זמינה ב-Android Studio Giraffe. כדי להפעיל את התכונה, עוברים אל קובץ > הגדרות > עורך > עריכה בזמן אמת (ב-macOS: Android Studio > הגדרות > עורך > עריכה בזמן אמת).
מתי כדאי להשתמש בתכונה 'עריכה בזמן אמת'?
כדאי להשתמש בתכונה 'עריכה בזמן אמת' כשרוצים לראות במהירות את ההשפעה של עדכונים ברכיבי ממשק המשתמש (כמו עדכוני מודификаторים ואנימציות) על חוויית השימוש הכוללת באפליקציה.
מתי כדאי להימנע משימוש בעריכה בזמן אמת?
התכונה 'עריכה בזמן אמת' מתמקדת בשינויים בקוד שקשורים לממשק המשתמש ולחוויית המשתמש. הוא לא תומך בשינויים כמו עדכונים של חתימת שיטות, הוספת שיטות חדשות או שינויים בהיררכיית הכיתות. מידע נוסף זמין במאמר מגבלות של עריכה בזמן אמת.
מתי כדאי להשתמש בתצוגה המקדימה של Compose?
כדאי להשתמש בתצוגה המקדימה של Compose כשאתם מפתחים רכיבים בודדים של Composables. בתצוגה המקדימה מוצגים רכיבי Compose באופן חזותי, והיא מתעדכנת באופן אוטומטי כדי להציג את ההשפעה של שינויי הקוד. ב-Preview אפשר גם לצפות ברכיבים של ממשק המשתמש בהגדרות ובמצבים שונים, כמו עיצוב כהה, לוקאלים וגדלים של גופנים.
עריכה בזמן אמת של ליטרלים (יצא משימוש)
Android Studio יכול לעדכן בזמן אמת חלק מהליטרלים הקבועים שמשמשים ברכיבים מורכבים בתצוגות מקדימות, באמולטור ובמכשיר פיזי. ריכזנו כאן כמה מהסוגים הנתמכים:
Int
String
Color
Dp
Boolean
אפשר להשתמש בליטרלים קבועים שמפעילים עדכונים בזמן אמת בלי שלב ההידור על ידי הפעלת קישוטים מילוליים באמצעות האינדיקטור של 'עריכה בזמן אמת' של ממשק המשתמש:
החלת השינויים
Apply Changes מאפשר לכם לעדכן את הקוד והמשאבים בלי שתצטרכו לפרוס מחדש את האפליקציה במהדמ או במכשיר פיזי (עם כמה מגבלות).
בכל פעם שמוסיפים, משנים או מוחקים תכנים קומפוזביליים, אפשר לעדכן את האפליקציה בלי שתצטרכו לפרוס אותה מחדש. לשם כך, לוחצים על הלחצן Apply Code Changes (החלת השינויים בקוד):
מומלץ עבורך
- הערה: טקסט הקישור מוצג כאשר JavaScript מושבת
- התאמה אישית של אנימציות {:#customize-animations}
- אנימציות מבוססות-ערך
- הוספת פרמטרים