מפתחי אפליקציות לנייד בדרך כלל מפתחים את ממשק המשתמש של האפליקציה שלהם שלב אחרי שלב, ולא מפתחים הכול בבת אחת. Android Studio תומך בגישה הזו באמצעות Jetpack פיתוח נייטיב, ומספק כלים שלא דורשים בנייה מלאה כדי לבדוק, לשנות ערכים ולאמת את התוצאה הסופית.
איטרציה של ממשק המשתמש בעזרת AI
אתם יכולים להשתמש בסוכן ה-AI ב-Android Studio כדי לשפר ולשנות את ממשק המשתמש של Compose באופן איטרטיבי ישירות מתצוגה מקדימה של העיצוב. לוחצים לחיצה ימנית על תצוגה מקדימה של יצירה ובוחרים אחת מפעולות ה-AI הבאות:
- התאמת ממשק המשתמש לתמונת היעד: בוחרים באפשרות הזו כדי להעלות מוקאפ של עיצוב לדוגמה. הסוכן יציע שינויים בקוד כדי שההטמעה תתאים לעיצוב בצורה הכי טובה שאפשר.
- שינוי ממשק המשתמש: אפשר להשתמש בהנחיות בשפה טבעית (לדוגמה, "שנה את צבע הלחצן לכחול") כדי לתאר שינויים ספציפיים שרוצים לבצע בממשק המשתמש.
Live Edit
Live Edit היא תכונה שמאפשרת לעדכן רכיבים שניתנים להרכבה באמולטורים ובמכשירים פיזיים בזמן אמת. הפונקציונליות הזו מצמצמת את המעברים בין כתיבת הקוד לבין בניית האפליקציה, ומאפשרת לכם להתמקד בכתיבת הקוד למשך זמן ארוך יותר בלי הפרעות.
ל-Live Edit יש שלושה מצבים:
- ידני: שינויים בקוד מוחלים כשמבצעים דחיפה ידנית באמצעות Control+' (Command+' ב-macOS)
- שמירה ידנית: שינויים בקוד מוחלים כששומרים אותם ידנית באמצעות Control+S (Command+S ב-macOS).
- אוטומטי: השינויים יחולו במכשיר או באמולטור כשמעדכנים פונקציה שניתנת להרכבה.
Live Edit מתמקדת בשינויים בקוד שקשורים לממשק המשתמש ולחוויית המשתמש. התכונה 'עריכה בזמן אמת' לא תומכת בשינויים כמו עדכונים של חתימת שיטה, הוספה של שיטות חדשות או שינויים בהיררכיית המחלקות. מידע נוסף זמין ברשימת המגבלות של עריכה בזמן אמת.
התכונה הזו לא מחליפה את השלבים של בנייה והרצה של האפליקציה או את האפשרות החלת שינויים. במקום זאת, הוא נועד לייעל את תהליך העבודה שלכם כשאתם בונים, פורסים ומבצעים איטרציות כדי לפתח את ממשק המשתמש של Compose.
השיטה המומלצת היא לפעול לפי השלבים הבאים:
- מגדירים את האפליקציה כך שאפשר יהיה להפעיל אותה.
- כדאי להשתמש ב-Live Edit כמה שיותר, עד שתצטרכו לבצע שינוי שלא נתמך ב-Live Edit, כמו הוספה של שיטות חדשות בזמן שהאפליקציה פועלת.
- אחרי שמבצעים שינוי שלא נתמך, לוחצים על הפעלה
כדי להפעיל מחדש את האפליקציה ולהמשיך ב-Live Edit.
איך מתחילים עם Live Edit
כדי להתחיל, פועלים לפי השלבים הבאים כדי ליצור פעילות ריקה של Compose, להפעיל את Live Edit בפרויקט ולבצע שינויים באמצעות Live Edit.
הגדרת הפרויקט החדש
לפני שמתחילים, צריך לוודא ש-Android Studio Giraffe או גרסה מתקדמת יותר מותקנת, ושרמת ה-API של המכשיר הפיזי או האמולטור היא לפחות 30.
פותחים את Android Studio ובוחרים באפשרות New Project (פרויקט חדש) בתיבת הדו-שיח Welcome to Android Studio (ברוכים הבאים ל-Android Studio). אם כבר פתוח פרויקט, אפשר ליצור פרויקט חדש על ידי ניווט אל קובץ > חדש > פרויקט חדש.
בוחרים את התבנית Empty Compose Activity (פעילות ריקה של יצירת הודעה) עבור Phone and Tablet (טלפון וטאבלט) ולוחצים על Next (הבא).
איור 3. תבניות שאפשר לבחור מתוכן. בקטע Live Edit (עריכה בזמן אמת), בוחרים באפשרות Empty Compose Activity (פעילות ריקה של יצירת הודעה). ממלאים את תיבת הדו-שיח New Project בפרטים הנדרשים: שם, שם חבילה, מיקום שמירה, SDK מינימלי ושפת הגדרת ה-build.
איור 4. דוגמה להגדרות פרויקט. לוחצים על סיום.
הפעלת התכונה Live Edit
כדי להפעיל את Live Edit, עוברים להגדרות.
- ב-Windows או ב-Linux, עוברים אל קובץ > הגדרות > עורך > Live Edit.
- ב-macOS, עוברים אל Android Studio > Settings > Editor > Live Edit.
בוחרים באפשרות Live Edit ובמצב שרוצים להפעיל מתוך ההגדרות.
במצב ידני, השינויים בקוד נדחפים בכל פעם שמקישים על Control+' (Command+' ב-macOS). במצב ידני, השינויים בקוד מוחלים בכל פעם ששומרים באופן ידני באמצעות Control+S (או Command+S ב-macOS). במצב אוטומטי, השינויים בקוד מוחלים במכשיר או באמולטור בזמן שאתם מבצעים אותם.
איור 5. הגדרות Live Edit. בכלי העריכה, פותחים את הקובץ
MainActivity, שהוא נקודת הכניסה לאפליקציה.לוחצים על הפעלה
כדי לפרוס את האפליקציה.אחרי שמפעילים את Live Edit, סימן הביקורת הירוק מעודכן מופיע בפינה השמאלית העליונה של חלון של הכלי הפעלת מכשירים:

ביצוע שינויים ובדיקתם
כשמבצעים שינויים נתמכים בכלי העריכה, מכשיר הבדיקה הווירטואלי או הפיזי מתעדכן אוטומטית.
לדוגמה, עורכים את השיטה הקיימת 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) ) }
השינויים יופיעו באופן מיידי במכשיר הבדיקה, כמו שמוצג באיור 6.
Greeting.פתרון בעיות ב-Live Edit
אם העריכות לא מוצגות במכשיר הבדיקה, יכול להיות ש-Android Studio לא הצליח לעדכן את העריכות. בודקים אם האינדיקטור של Live Edit מציג את ההודעה Out Of Date (לא עדכני), כמו שמוצג באיור 7, שמציינת שגיאת קומפילציה. כדי לקבל מידע על השגיאה והצעות לפתרון שלה, לוחצים על האינדיקטור.
המגבלות של Live Edit
בהמשך מופיעה רשימת ההגבלות הנוכחיות.
[רלוונטי רק ל-Android Studio Giraffe ומעלה] כדי להשתמש ב-Live Edit צריך Compose Runtime בגרסה 1.3.0 ומעלה. אם הפרויקט שלכם משתמש בגרסה ישנה יותר של Compose, התכונה 'Live Edit' מושבתת.
[רלוונטי רק ל-Android Studio Giraffe ומגרסאות מתקדמות יותר] כדי להשתמש ב-Live Edit צריך AGP בגרסה 8.1.0-alpha05 ומעלה. אם הפרויקט שלכם משתמש בגרסה ישנה יותר של AGP, Live Edit מושבת.
Live Edit דורש מכשיר פיזי או אמולטור שפועל עם רמת API של 30 ומעלה.
Live Edit תומך רק בעריכה של גוף פונקציה, כלומר אי אפשר לשנות את שם הפונקציה או החתימה, להוסיף או להסיר פונקציה או לשנות שדות שאינם פונקציות.
התכונה 'Live Edit' מאפסת את מצב האפליקציה בפעם הראשונה שמשנים פונקציית Compose בקובץ. זה קורה רק אחרי השינוי הראשון בקוד – מצב האפליקציה לא מתאפס על ידי שינויים בקוד שאתם מבצעים בפונקציות Compose בקובץ הזה.
יכול להיות שיהיה קנס מסוים על הביצועים של שיעורים ששופרו באמצעות Live Edit. מריצים את האפליקציה ומשתמשים בגרסת build להפצה נקייה אם רוצים להעריך את הביצועים שלה.
כדי שכלי לניפוי באגים יפעל על מחלקות ששיניתם באמצעות Live Edit, עליכם לבצע הרצה מלאה.
אפליקציה שפועלת עלולה לקרוס כשעורכים אותה באמצעות Live Edit. במקרה כזה, אפשר לפרוס מחדש את האפליקציה באמצעות הלחצן הפעלה
.התכונה Live Edit לא מבצעת מניפולציה של קוד בייט שמוגדר בקובץ ה-build של הפרויקט – לדוגמה, מניפולציה של קוד בייט שתחול כשהפרויקט ייבנה באמצעות האפשרויות בתפריט Build או בלחיצה על הלחצנים Build או Run.
פונקציות שאינן ניתנות להרכבה מתעדכנות בזמן אמת במכשיר או באמולטור, ומופעלת הרכבה מחדש מלאה. יכול להיות שהפונקציה המעודכנת לא תופעל במהלך ההרכבה מחדש. בפונקציות שאינן ניתנות להרכבה, צריך להפעיל את הפונקציות שעודכנו או להריץ את האפליקציה מחדש.
Live Edit לא ממשיך אחרי הפעלה מחדש של האפליקציה. צריך להפעיל את האפליקציה שוב.
Live Edit תומכת רק בתהליכים שאפשר לנפות בהם באגים.
Live Edit לא תומך בפרויקטים שמשתמשים בערכים מותאמים אישית של
moduleNameבקטעkotlinOptionsבתצורת build.Live Edit לא פועל עם פריסות מרובות. כלומר, אי אפשר לפרוס למכשיר אחד ואז למכשיר אחר. Live Edit פעיל רק במערך האחרון של מכשירים שהאפליקציה נפרסה בהם.
התכונה 'Live Edit' פועלת עם פריסות למספר מכשירים (פריסות למספר מכשירים שנוצרו באמצעות האפשרות בחירת כמה מכשירים בתפריט הנפתח של מכשיר היעד). עם זאת, אין תמיכה רשמית בשיטה הזו, ויכול להיות שיהיו בעיות. אם נתקלים בבעיות, אפשר לדווח עליהן.
האפשרויות Apply Changes או Apply Code Changes לא תואמות ל-Live Edit, ונדרשת הפעלה מחדש של האפליקציה הפועלת.
בשלב הזה, התכונה 'Live Edit' לא תומכת בפרויקטים של Android Automotive.
שאלות נפוצות בנושא Live Edit
מה הסטטוס הנוכחי של Live Edit?
התכונה 'Live Edit' זמינה ב-Android Studio Giraffe. כדי להפעיל את התכונה, עוברים אל File > Settings > Editor > Live Edit (ב-macOS: Android Studio > Settings > Editor > Live Edit).
מתי כדאי להשתמש ב-Live Edit?
משתמשים ב-Live Edit כשרוצים לראות במהירות את ההשפעה של עדכונים ברכיבי חוויית משתמש (כמו עדכוני עיבוד ואנימציות) על חוויית השימוש הכוללת באפליקציה.
מתי לא כדאי להשתמש ב-Live Edit?
Live Edit מתמקדת בשינויים בקוד שקשורים לממשק המשתמש ולחוויית המשתמש. הוא לא תומך בשינויים כמו עדכונים של חתימת שיטה, הוספה של שיטות חדשות או שינויים בהיררכיית המחלקות. מידע נוסף זמין במאמר בנושא מגבלות של עריכה בזמן אמת.
מתי כדאי להשתמש בתצוגה המקדימה של Compose?
כדאי להשתמש בתצוגה מקדימה של קומפוזיציה כשמפתחים רכיבים שניתנים לקומפוזיציה. התצוגה המקדימה מאפשרת לראות את הרכיבים של Compose, והיא מתרעננת אוטומטית כדי להציג את ההשפעה של שינויים בקוד. התצוגה המקדימה תומכת גם בהצגת רכיבי ממשק משתמש בתצורות ובמצבים שונים, כמו עיצוב כהה, מקומות ושינוי גודל הגופן.
פיתוח קוד איטרטיבי באמצעות Compose
התכונות Live Edit ו-Hot Reload ל-Compose Multiplatform יכולות לחסוך לכם זמן ולשפר את הפרודוקטיביות במהלך הפיתוח באמצעות Compose. עם זאת, הם נותנים מענה לצרכים של סוגים שונים של פיתוח:
Live Edit תומך בפיתוח איטרטיבי באמצעות Jetpack Compose עבור אפליקציות ל-Android. הוא מאפשר לעדכן רכיבים שניתנים להרכבה באמולטורים ובמכשירים פיזיים בזמן אמת. הפונקציונליות הזו מצמצמת את המעברים בין כתיבה לבין בניית האפליקציה, ומאפשרת לכם להתמקד בכתיבת קוד למשך זמן ארוך יותר בלי הפרעות.
Compose Hot Reload מיועד לאותה מטרה, אבל הוא תומך באפליקציות למחשב שנוצרו באמצעות Compose Multiplatform. הכלי מאפשר לכם לבצע שינויים בקוד של ממשק המשתמש באפליקציית Compose Multiplatform ולראות את התוצאות בזמן אמת. לשם כך, הוא טוען מחדש את הקוד באופן חכם בכל פעם שמתבצע בו שינוי.
למרות שלשתי התכונות האלה יש הרבה טכנולוגיות משותפות במנוע הכתיבה, והן תומכות בהרבה תרחישי שימוש דומים, היכולות שלהן שונות כי הן חלות על סוגים שונים של פיתוח ב-Compose.
אם אתם מפתחים אפליקציית Android, כדאי להשתמש ב-Live Edit כדי להאיץ את תהליך הפיתוח. אם אתם מפתחים אפליקציה למחשב באמצעות Compose Multiplatform, אתם צריכים להשתמש ב-Compose Hot Reload.
Live Edit של ליטרלים (יצא משימוש)
ב-Android Studio אפשר לעדכן בזמן אמת חלק מהערכים הקבועים שמשמשים בפונקציות Composable בתצוגות מקדימות, באמולטור ובמכשיר פיזי. ריכזנו כאן כמה סוגים נתמכים:
IntStringColorDpBoolean
אפשר להציג ליטרלים קבועים שמפעילים עדכונים בזמן אמת בלי שלב הקומפילציה, על ידי הפעלת קישוטים של ליטרלים באמצעות אינדיקטור ממשק המשתמש של Live Edit של ליטרלים:
החלת השינויים
החלת שינויים מאפשרת לעדכן קוד ומשאבים בלי לפרוס מחדש את האפליקציה באמולטור או במכשיר פיזי (עם מגבלות מסוימות).
בכל פעם שמוסיפים, משנים או מוחקים קומפוזיציות, אפשר לעדכן את האפליקציה בלי לפרוס אותה מחדש. לשם כך, לוחצים על הלחצן החלת שינויים בקוד:

מומלץ בשבילך
- הערה: טקסט הקישור מוצג כש-JavaScript מושבת
- התאמה אישית של אנימציות {:#customize-animations}
- אנימציות מבוססות-ערך