מפתחים של אפליקציות לנייד מפתחים בדרך כלל את ממשק המשתמש של האפליקציה שלהם בהדרגה, במקום לפתח את הכל בבת אחת. Android Studio מאמץ את הגישה הזו באמצעות Jetpack Compose, ומספק כלים שלא דורשים גרסה בנויה מלאה כדי לבדוק, לשנות ערכים ולאמת את התוצאה הסופית.
עריכה בזמן אמת
'עריכה בזמן אמת' היא תכונה שמאפשרת לעדכן רכיבים מורכבים במהלך האימולציה ובמכשירים פיזיים בזמן אמת. הפונקציה הזו מצמצמת את המעבר בין ההקשרים של כתיבת האפליקציה לבין פיתוח האפליקציה, ומאפשרת לכם להתמקד בכתיבת הקוד למשך זמן ארוך יותר ללא הפרעה.
ל-Live Edit יש שלושה מצבים:
- ידנית: שינויי הקוד חלים כשהם מועברים באופן ידני באמצעות Control+' (Command+' ב-macOS)
- שמירה ידנית: שינויים בקוד חלים כששומרים אותם באופן ידני באמצעות Control+S (Command+S ב-macOS).
- אוטומטי: השינויים חלים במכשיר או במהדמה כשמעדכנים פונקציה שניתנת ליצירה.
התכונה 'עריכה בזמן אמת' מתמקדת בשינויים בקוד שקשורים לממשק המשתמש ולחוויית המשתמש. העריכה בזמן אמת לא תומכת בשינויים כמו עדכונים לחתימת שיטות, הוספת שיטות חדשות או שינויים בהיררכיית הכיתות. מידע נוסף זמין ברשימה של המגבלות של העריכה בזמן אמת.
התכונה הזו לא מחליפה את ה-build וההרצה של האפליקציה או את Apply Changes. במקום זאת, הוא מיועד לאופטימיזציה של תהליך העבודה בזמן פיתוח ממשק המשתמש של Compose, יצירת גרסאות build, פריסה וחזרה על תהליך הפיתוח.
תהליך העבודה המומלץ הוא:
- מגדירים את האפליקציה כך שניתן יהיה להריץ אותה.
- כדאי להשתמש בעריכה בזמן אמת כמה שיותר, עד שתצטרכו לבצע שינוי שלא ניתן לבצע בעריכה בזמן אמת, כמו הוספת שיטות חדשות בזמן שהאפליקציה פועלת.
- אחרי שמבצעים שינוי שאינו נתמך, לוחצים על הפעלה
כדי להפעיל מחדש את האפליקציה ולהמשיך בעריכה בזמן אמת.
איך מתחילים לערוך בזמן אמת
כדי להתחיל, פועלים לפי השלבים הבאים כדי ליצור פעילות ריקה של כתיבת תוכן, להפעיל את העריכה בזמן אמת בפרויקט ולבצע שינויים באמצעות העריכה בזמן אמת.
הגדרת הפרויקט החדש
לפני שמתחילים, צריך לוודא ש-Android Studio Giraffe או גרסה מתקדמת יותר מותקנת, ורמת ה-API של המכשיר הפיזי או של הסימולטור היא לפחות 30.
פותחים את Android Studio ובוחרים באפשרות New Project (פרויקט חדש) בתיבת הדו-שיח Welcome to Android Studio (ברוכים הבאים ל-Android Studio). אם כבר יש לכם פרויקט פתוח, תוכלו ליצור פרויקט חדש על ידי מעבר אל קובץ > חדש > פרויקט חדש.
בוחרים את התבנית Empty Compose Activity לטלפון ולטאבלט ולוחצים על Next.
איור 1. תבניות שאפשר לבחור מהן. כדי לערוך בזמן אמת, בוחרים באפשרות Empty Compose Activity. ממלאים את תיבת הדו-שיח New Project (פרויקט חדש) עם הפרטים הנדרשים: שם, שם החבילה, מיקום השמירה, ערכת ה-SDK המינימלית ושפת תצורת ה-build.
איור 2. דוגמה להגדרות פרויקט לוחצים על סיום.
הפעלת Live Edit
עוברים להגדרות כדי להפעיל את העריכה בזמן אמת.
- ב-Windows או ב-Linux, עוברים אל קובץ > הגדרות > עריכה > עריכה בזמן אמת.
- ב-macOS, עוברים אל Android Studio > Settings > Editor > Live Edit.
בוחרים באפשרות עריכה בשידור חי ובמצב שרוצים להריץ מההגדרות.
במצב ידני, שינויי הקוד מועברים בכל פעם שמקישים על Control+' (Command+' ב-macOS). כשמשתמשים בשמירה ידנית, השינויים בקוד חלים בכל פעם ששומרים באופן ידני באמצעות Control+S (Command+S ב-macOS). במצב אוטומטי, שינויי הקוד חלים במכשיר או במהלך ההפעלה של המהדר.
איור 3. הגדרות העריכה בשידור חי פותחים את הקובץ
MainActivity
בכלי העריכה. זהו נקודת הכניסה לאפליקציה.לוחצים על הפעלה
כדי לפרוס את האפליקציה.
אחרי שמפעילים את העריכה בזמן אמת, סימן הווי הירוק עדכני מופיע בפינה השמאלית העליונה של חלון הכלי מכשירים שפועלים:
ביצוע שינויים ובדיקתם
כשמבצעים שינויים נתמכים בעורך, מכשיר הבדיקה הווירטואלי או הפיזי מתעדכן באופן אוטומטי.
לדוגמה, עורכים את השיטה הקיימת 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.

Greeting
באמצעות העריכה בזמן אמת.פתרון בעיות בעריכה בזמן אמת
אם העריכות לא מוצגות במכשיר הבדיקה, יכול להיות ש-Android Studio לא הצליח לעדכן את העריכות. בודקים אם הסטטוס של סמן העריכה בזמן אמת הוא Out Of Date (לא עדכני), כפי שמוצג באיור 5. הסטטוס הזה מציין שגיאת הידור. כדי לקבל מידע על השגיאה והצעות לפתרון שלה, לוחצים על האינדיקטור.

המגבלות של Live Edit
בהמשך מופיעה רשימה של ההגבלות הקיימות.
[רלוונטי רק ל-Android Studio Giraffe ואילך] כדי להשתמש בתכונה 'עריכה בזמן אמת', צריך Compose Runtime בגרסה 1.3.0 ואילך. אם בפרויקט שלכם נעשה שימוש בגרסה ישנה יותר של Compose, התכונה 'עריכה בזמן אמת' תהיה מושבתת.
[רלוונטי רק ל-Android Studio Giraffe ואילך] כדי להשתמש בתכונה 'עריכה בזמן אמת' צריך AGP מגרסה 8.1.0-alpha05 ואילך. אם בפרויקט שלכם נעשה שימוש בגרסה ישנה יותר של AGP, התכונה 'עריכה בזמן אמת' תהיה מושבתת.
כדי להשתמש בתכונה 'עריכה בזמן אמת', נדרש מכשיר פיזי או אמולטור שפועלים ברמת API 30 ומעלה.
התכונה 'עריכה בזמן אמת' תומכת רק בעריכת גוף הפונקציה, כלומר אי אפשר לשנות את שם הפונקציה או את החתימה שלה, להוסיף או להסיר פונקציה או לשנות שדות שאינם פונקציות.
כשמשתמשים בעריכה בזמן אמת, המצב של האפליקציה מתאפס בפעם הראשונה שמשתנים את הפונקציה 'כתיבה' בקובץ. זה קורה רק אחרי שינוי הקוד הראשון – מצב האפליקציה לא מתאפס אחרי שינויי קוד נוספים שתבצעו בפונקציות Compose בקובץ הזה.
שינוי של שיעורים בזמן אמת עלול לגרום להשפעה מסוימת על הביצועים. אם אתם רוצים להעריך את הביצועים של האפליקציה, כדאי להריץ אותה ולהשתמש ב-build נקי של הגרסה.
כדי שהכלי לניפוי באגים יפעל על הכיתות ששיניתם באמצעות Live Edit, צריך לבצע הפעלה מלאה.
יכול להיות שאפליקציה שפועלת קורסת כשעורכים אותה באמצעות 'עריכה בזמן אמת'. במקרה כזה, תוכלו לפרוס מחדש את האפליקציה באמצעות הלחצן הפעלה
.
התכונה Live Edit לא מבצעת שינויים בקוד בייט שמוגדר בקובץ ה-build של הפרויקט. לדוגמה, שינויים בקוד בייט שיוחלו כשהפרויקט ייבנה באמצעות האפשרויות בתפריט Build או בלחיצה על הלחצנים Build או Run.
פונקציות שלא ניתן לשלב מתעדכנות בזמן אמת במכשיר או במהדמה, וגורמות להפעלה של יצירת מחדש מלאה. יכול להיות שההרכבה מחדש המלאה לא תפעיל את הפונקציה המעודכנת. כדי להשתמש בפונקציות שלא ניתן לשלב, צריך להפעיל את הפונקציות המעודכנות או להריץ את האפליקציה מחדש.
העריכה בזמן אמת לא ממשיכה כשמפעילים מחדש את האפליקציה. צריך להפעיל את האפליקציה שוב.
אפשר לערוך בזמן אמת רק תהליכים שאפשר לנפות בהם באגים.
התכונה 'עריכה בזמן אמת' לא תומכת בפרויקטים שמשתמשים בערכים מותאמים אישית של
moduleName
בקטעkotlinOptions
בתצורת ה-build.התכונה 'עריכה בזמן אמת' לא פועלת עם פריסות עם כמה פריסות. כלומר, אי אפשר לפרוס במכשיר אחד ואז במכשיר אחר. העריכה בזמן אמת פעילה רק בקבוצת המכשירים האחרונה שבה האפליקציה נפרסה.
אפשר להשתמש בתכונה 'עריכה בזמן אמת' בפריסות במספר מכשירים (פריסות במספר מכשירים שנוצרו באמצעות האפשרות בחירת מספר מכשירים בתפריט הנפתח של מכשיר היעד). עם זאת, אין תמיכה רשמית באפשרות הזו ויכול להיות שתהיה בעיה. אם נתקלת בבעיות, יש לדווח עליהן.
האפשרויות 'החלת שינויים' או 'החלת שינויים בקוד' לא תואמות לעריכה בזמן אמת, וצריך להפעיל מחדש את האפליקציה שפועלת.
בשלב הזה, אין תמיכה ב-Live Edit בפרויקטים ל-Android Automotive.
שאלות נפוצות על עריכה בזמן אמת
מהו הסטטוס הנוכחי של התכונה 'עריכה בזמן אמת'?
התכונה 'עריכה בזמן אמת' זמינה ב-Android Studio Giraffe. כדי להפעיל את התכונה, עוברים אל קובץ > הגדרות > עריכה > עריכה בזמן אמת (ב-macOS: Android Studio > הגדרות > עריכה > עריכה בזמן אמת).
מתי כדאי להשתמש בתכונה 'עריכה בזמן אמת'?
כדאי להשתמש בתכונה 'עריכה בזמן אמת' כשרוצים לראות במהירות את ההשפעה של עדכונים ברכיבי ממשק המשתמש (כמו עדכוני מודификаторים ואנימציות) על חוויית השימוש הכוללת באפליקציה.
מתי כדאי להימנע משימוש בתכונה 'עריכה בזמן אמת'?
התכונה 'עריכה בזמן אמת' מתמקדת בשינויים בקוד שקשורים לממשק המשתמש ולחוויית המשתמש. הוא לא תומך בשינויים כמו עדכונים של חתימת שיטות, הוספת שיטות חדשות או שינויים בהיררכיית הכיתות. מידע נוסף זמין במאמר מגבלות של עריכה בזמן אמת.
מתי כדאי להשתמש בתצוגה המקדימה של Compose?
כדאי להשתמש בתצוגה המקדימה של Compose כשאתם מפתחים רכיבים בודדים ליצירת רכיבים מורכבים. בתצוגה המקדימה מוצגים רכיבי Compose באופן חזותי, והיא מתעדכנת באופן אוטומטי כדי להציג את ההשפעה של שינויי הקוד. התצוגה המקדימה תומכת גם בתצוגה של רכיבי ממשק המשתמש בתצורות ובמצבים שונים, כמו עיצוב כהה, אזורים ותכונה של שינוי גודל הגופן.
פיתוח קוד איטרטיבי באמצעות Compose
התכונות 'עריכה בזמן אמת' ו'טעינה מחדש בזמן אמת' ב-Compose Multiplatform יכולות לחסוך לכם זמן ולהגדיל את הפרודוקטיביות שלכם בזמן הפיתוח באמצעות Compose. עם זאת, הם עומדים בצורכי פיתוח מסוגים שונים:
עריכה בזמן אמת תומכת בפיתוח איטרטיבי באמצעות Jetpack Compose לאפליקציות ל-Android. הוא מאפשר לכם לעדכן רכיבים מורכבים במהירות באמולטורים ובמכשירים פיזיים. הפונקציה הזו מפחיתה את מספר המעברים בין ההקשר של כתיבת הקוד לבין הבנייה של האפליקציה, ומאפשרת לכם להתמקד בכתיבת הקוד למשך זמן ארוך יותר ללא הפרעה.
Compose Hot Reload משמש לאותו מטרה, אבל תומך באפליקציות למחשב שנוצרו באמצעות Compose Multiplatform. בעזרת הכלי תוכלו לבצע שינויים בקוד של ממשק המשתמש באפליקציה ל-Compose Multiplatform ולראות את התוצאות בזמן אמת, על ידי טעינת הקוד מחדש באופן חכם בכל פעם שהוא משתנה.
לשתי התכונות האלה יש טכנולוגיות משותפות במנוע Compose, והן תומכות בתרחישי שימוש דומים רבים, אבל הן לא זהות כי הן רלוונטיות לסוגים שונים של פיתוח ב-Compose.
אם אתם מפתחים אפליקציה ל-Android, כדאי להשתמש בתכונה 'עריכה בזמן אמת' כדי לזרז את תהליך הפיתוח. אם אתם מפתחים אפליקציה למחשב באמצעות Compose Multiplatform, כדאי להשתמש ב-Compose Hot Reload.
עריכה בזמן אמת של ערכים מילוליים (יצא משימוש)
Android Studio יכול לעדכן בזמן אמת חלק מהליטרלים הקבועים שמשמשים ברכיבים מורכבים בתצוגות מקדימות, באמולטור ובמכשיר פיזי. ריכזנו כאן כמה מהסוגים הנתמכים:
Int
String
Color
Dp
Boolean
כדי להציג ליטרלים קבועים שמפעילים עדכונים בזמן אמת בלי שלב הידור, מפעילים את הקישוט של ליטרלים באמצעות האינדיקטור של ממשק המשתמש של העריכה בזמן אמת של ליטרלים:
החלת השינויים
Apply Changes מאפשר לכם לעדכן את הקוד והמשאבים בלי שתצטרכו לפרוס מחדש את האפליקציה במהדמ או במכשיר פיזי (עם כמה מגבלות).
בכל פעם שמוסיפים, משנים או מוחקים רכיבים מורכבים, אפשר לעדכן את האפליקציה בלי לפרוס אותה מחדש. לשם כך, לוחצים על הלחצן Apply Code Changes:
מומלץ עבורך
- הערה: טקסט הקישור מוצג כש-JavaScript מושבת
- התאמה אישית של אנימציות {:#customize-animations}
- אנימציות מבוססות-ערך
- הוספת פרמטרים