מפתחי אפליקציות לנייד בדרך כלל מפתחים את ממשק המשתמש של האפליקציה שלהם שלב אחרי שלב, ולא מפתחים את הכול בבת אחת. Android Studio תומך בגישה הזו באמצעות Jetpack Compose, ומספק כלים שלא דורשים בנייה מלאה כדי לבדוק ולשנות ערכים, ולוודא שהתוצאה הסופית נכונה.
איטרציה של ממשק משתמש בעזרת AI
אתם יכולים להשתמש בסוכן ה-AI ב-Android Studio כדי לשפר ולשנות את ממשק המשתמש של Compose באופן איטרטיבי ישירות מתצוגה מקדימה של העיצוב. לוחצים לחיצה ימנית על תצוגה מקדימה של יצירה ובוחרים אחת מפעולות ה-AI הבאות:
- התאמת ממשק המשתמש לתמונת היעד: בוחרים באפשרות הזו כדי להעלות מוקאפ של עיצוב לדוגמה. לאחר מכן, הסוכן מציע שינויים בקוד כדי שההטמעה תתאים לעיצוב בצורה הכי טובה שאפשר.
- שינוי ממשק המשתמש: אפשר להשתמש בהנחיות בשפה טבעית (לדוגמה, "שנה את צבע הלחצן לכחול") כדי לתאר שינויים ספציפיים שרוצים לבצע בממשק המשתמש.
Live Edit
Live Edit היא תכונה שמאפשרת לעדכן פונקציות Composable באמולטורים ובמכשירים פיזיים בזמן אמת. הפונקציונליות הזו מצמצמת את המעברים בין כתיבה ליצירת האפליקציה, ומאפשרת לכם להתמקד בכתיבת קוד למשך זמן ארוך יותר בלי הפרעות.
ל־Live Edit יש שלושה מצבים:
- ידני: שינויים בקוד מוחלים כשמבצעים דחיפה ידנית באמצעות Control+' (Command+' ב-macOS)
- שמירה ידנית: שינויים בקוד מוחלים כששומרים אותם ידנית באמצעות Control+S (Command+S ב-macOS).
- אוטומטי: השינויים יחולו במכשיר או באמולטור כשמעדכנים פונקציה קומפוזבילית.
Live Edit מתמקדת בשינויים בקוד שקשורים לממשק המשתמש ולחוויית המשתמש. התכונה 'עריכה בזמן אמת' לא תומכת בשינויים כמו עדכונים של חתימת שיטה, הוספה של שיטות חדשות או שינויים בהיררכיית המחלקות. מידע נוסף זמין ברשימת המגבלות של Live Edit.
התכונה הזו לא מחליפה את הפעולות של בנייה והרצה של האפליקציה או את הפעולה החלת שינויים. במקום זאת, הוא נועד לבצע אופטימיזציה של תהליך העבודה שלכם כשאתם יוצרים, פורסים ומבצעים איטרציות כדי לפתח את ממשק המשתמש של Compose.
השיטה המומלצת היא לפעול לפי סדר הפעולות הבא:
- מגדירים את האפליקציה כך שאפשר יהיה להפעיל אותה.
- כדאי להשתמש ב-Live Edit כמה שיותר, עד שתצטרכו לבצע שינוי שלא נתמך ב-Live Edit, כמו הוספת שיטות חדשות בזמן שהאפליקציה פועלת.
- אחרי שמבצעים שינוי שלא נתמך, לוחצים על הפעלה
כדי להפעיל מחדש את האפליקציה ולהמשיך ב-Live Edit.
איך מתחילים עם Live Edit
כדי להתחיל, פועלים לפי השלבים הבאים כדי ליצור Activity ריקה של 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, שהוא נקודת הכניסה לאפליקציה.לוחצים על Run
כדי לפרוס את האפליקציה.אחרי שמפעילים את 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 לא מבצעת מניפולציה של בייטקוד (bytecode) שמוגדר בקובץ ה-build של הפרויקט – לדוגמה, מניפולציה של בייטקוד (bytecode) שתחול כשהפרויקט נבנה באמצעות האפשרויות בתפריט Build או בלחיצה על הלחצנים Build או Run.
פונקציות שאינן ניתנות להרכבה מתעדכנות בזמן אמת במכשיר או באמולטור, ומופעלת רה-קומפוזיציה מלאה. יכול להיות שההרכבה מחדש המלאה לא תפעיל את הפונקציה המעודכנת. בפונקציות שאינן ניתנות להרכבה, צריך להפעיל את הפונקציות שעודכנו או להריץ מחדש את האפליקציה.
Live Edit לא ממשיך אחרי הפעלה מחדש של האפליקציה. צריך להפעיל את האפליקציה שוב.
התכונה 'עריכה בזמן אמת' תומכת רק בתהליכים שאפשר לנפות בהם באגים.
Live Edit לא תומך בפרויקטים שמשתמשים בערכים מותאמים אישית של
moduleNameבקטעkotlinOptionsבתצורת build.אי אפשר להשתמש ב-Live Edit בפריסות מרובות. כלומר, אי אפשר לפרוס למכשיר אחד ואז למכשיר אחר. Live Edit פעילה רק במערך האחרון של מכשירים שהאפליקציה נפרסה בהם.
התכונה 'Live Edit' פועלת עם פריסות למספר מכשירים (פריסות למספר מכשירים שנוצרו באמצעות האפשרות בחירת מספר מכשירים בתפריט הנפתח של מכשיר היעד). עם זאת, אין תמיכה רשמית בשיטה הזו, ויכול להיות שיהיו בעיות. אם נתקלים בבעיות, אפשר לדווח עליהן.
האפשרויות 'Apply Changes' או 'החלת שינויים בקוד' לא תואמות ל'Live Edit' ודורשות הפעלה מחדש של האפליקציה.
בשלב הזה, התכונה 'Live Edit' לא תומכת בפרויקטים של Android Automotive.
שאלות נפוצות בנושא 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 for 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}
- אנימציות מבוססות-ערך