מפתחי אפליקציות לנייד בדרך כלל מפתחים את ממשק המשתמש של האפליקציה שלהם שלב אחרי שלב, ולא מפתחים הכול בבת אחת. Android Studio תומך בגישה הזו באמצעות Jetpack Compose, ומספק כלים שלא דורשים בנייה מלאה כדי לבדוק, לשנות ערכים ולאמת את התוצאה הסופית.
איטרציה של ממשק המשתמש בעזרת AI
אתם יכולים להשתמש בסוכן ה-AI ב-Android Studio כדי לשפר ולשנות את ממשק המשתמש של Compose ישירות מתצוגה מקדימה של העיצוב. לוחצים לחיצה ימנית על תצוגה מקדימה של טיוטה ובוחרים באחת מפעולות ה-AI הבאות:
- התאמת ממשק המשתמש לתמונת היעד: בוחרים באפשרות הזו כדי להעלות מוקאפ של עיצוב לדוגמה. לאחר מכן, הסוכן מציע שינויים בקוד כדי שההטמעה תתאים לעיצוב בצורה הכי טובה שאפשר.
- שינוי ממשק המשתמש: אפשר להשתמש בהנחיות בשפה טבעית (לדוגמה, "שנה את צבע הלחצן לכחול") כדי לתאר שינויים ספציפיים שרוצים לבצע בממשק המשתמש.
Live Edit
התכונה 'עריכה בזמן אמת' מאפשרת לעדכן קומפוזיציות באמולטורים ובמכשירים פיזיים בזמן אמת. הפונקציונליות הזו מצמצמת את המעברים בין כתיבה לבנייה של האפליקציה, ומאפשרת לכם להתמקד בכתיבת קוד למשך זמן ארוך יותר בלי הפרעות.
יש שלושה מצבים של עריכה בזמן אמת:
- ידני: השינויים בקוד מוחלים כשמעבירים אותם באופן ידני באמצעות Control+' (Command+' ב-macOS)
- שמירה ידנית: שינויים בקוד מוחלים כששומרים אותם ידנית באמצעות Control+S (Command+S ב-macOS).
- אוטומטי: השינויים יחולו במכשיר או באמולטור כשמעדכנים פונקציה שניתנת להרכבה.
התכונה 'עריכה בזמן אמת' מתמקדת בשינויים בקוד שקשורים לממשק המשתמש ולחוויית המשתמש. העריכה בזמן אמת לא תומכת בשינויים כמו עדכונים של חתימת שיטה, הוספה של שיטות חדשות או שינויים בהיררכיית המחלקות. מידע נוסף זמין ברשימת המגבלות של עריכה בזמן אמת.
התכונה הזו לא מחליפה את השלבים של בנייה והרצה של האפליקציה או את האפשרות החלת שינויים. במקום זאת, הוא נועד לבצע אופטימיזציה של תהליך העבודה שלכם כשאתם בונים, פורסים ומבצעים איטרציות כדי לפתח את ממשק המשתמש של Compose.
השיטה המומלצת היא לפעול לפי השלבים הבאים:
- מגדירים את האפליקציה כך שאפשר יהיה להפעיל אותה.
- כדאי להשתמש בעריכה בזמן אמת כמה שיותר, עד שתצטרכו לבצע שינוי שלא נתמך בעריכה בזמן אמת, כמו הוספת שיטות חדשות בזמן שהאפליקציה פועלת.
- אחרי שמבצעים שינוי שלא נתמך, לוחצים על הפעלה
כדי להפעיל מחדש את האפליקציה ולהמשיך בעריכה בשידור חי.
איך מתחילים לערוך בשידור חי
כדי להתחיל, פועלים לפי השלבים הבאים כדי ליצור פעילות ריקה של Compose, להפעיל את התכונה 'עריכה בזמן אמת' בפרויקט ולבצע שינויים באמצעות התכונה הזו.
הגדרת הפרויקט החדש
לפני שמתחילים, צריך לוודא ש-Android Studio Giraffe או גרסה מתקדמת יותר מותקנים, ושרמת ה-API של המכשיר הפיזי או האמולטור היא לפחות 30.
פותחים את Android Studio ובוחרים באפשרות New Project (פרויקט חדש) בתיבת הדו-שיח Welcome to Android Studio (ברוכים הבאים ל-Android Studio). אם כבר פתוח פרויקט, אפשר ליצור פרויקט חדש על ידי ניווט אל קובץ > חדש > פרויקט חדש.
בוחרים את התבנית Empty Compose Activity (פעילות ריקה של יצירת הודעה) עבור Phone and Tablet (טלפון וטאבלט) ולוחצים על Next (הבא).
איור 3. תבניות שאפשר לבחור מתוכן. כדי לערוך בשידור חי, בוחרים באפשרות Empty Compose Activity. ממלאים את תיבת הדו-שיח New Project בפרטים הנדרשים: שם, שם חבילה, מיקום שמירה, SDK מינימלי ושפת הגדרת הבנייה.
איור 4. דוגמה להגדרות פרויקט. לוחצים על סיום.
הפעלת התכונה Live Edit
עוברים להגדרות כדי להפעיל את העריכה בזמן אמת.
- ב-Windows או ב-Linux, עוברים אל קובץ > הגדרות > עורך > עריכה בזמן אמת.
- ב-macOS, עוברים אל Android Studio > Settings (הגדרות) > Editor (עורך) > Live Edit (עריכה בזמן אמת).
בוחרים באפשרות עריכה בזמן אמת ובמצב שרוצים להפעיל מתוך ההגדרות.
במצב ידני, השינויים בקוד נדחפים בכל פעם שמקישים על Control+' (Command+' ב-macOS). במצב ידני, השינויים בקוד מוחלים בכל פעם ששומרים באופן ידני באמצעות Control+S (או Command+S ב-macOS). במצב אוטומטי, שינויי הקוד יחולו במכשיר או באמולטור בזמן שאתם מבצעים את השינויים.
איור 5. עריכת ההגדרות בשידור חי. בעורך, פותחים את הקובץ
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) ) }
השינויים יופיעו באופן מיידי במכשיר הבדיקה, כמו שמוצג באיור 6.
Greeting.פתרון בעיות ב-Live Edit
אם העריכות לא מוצגות במכשיר הבדיקה, יכול להיות ש-Android Studio לא הצליח לעדכן את העריכות. בודקים אם האינדיקטור של העריכה בזמן אמת מציין Out Of Date (לא עדכני), כמו שמוצג באיור 7, מה שמצביע על שגיאת קומפילציה. כדי לקבל מידע על השגיאה והצעות לפתרון שלה, לוחצים על האינדיקטור.
המגבלות של Live Edit
בהמשך מופיעה רשימה של ההגבלות הנוכחיות.
[רלוונטי רק ל-Android Studio Giraffe ומעלה] כדי להשתמש בעריכה בזמן אמת צריך Compose Runtime בגרסה 1.3.0 ומעלה. אם הפרויקט שלכם משתמש בגרסה נמוכה יותר של Compose, התכונה 'עריכה בזמן אמת' מושבתת.
[רלוונטי רק ל-Android Studio Giraffe ולגרסאות מתקדמות יותר] כדי להשתמש בעריכה בזמן אמת צריך AGP בגרסה 8.1.0-alpha05 ומעלה. אם הפרויקט שלכם משתמש בגרסה ישנה יותר של AGP, התכונה 'עריכה בזמן אמת' מושבתת.
כדי להשתמש בעריכה בזמן אמת, צריך מכשיר פיזי או אמולטור עם רמת API 30 ומעלה.
העריכה בזמן אמת תומכת רק בעריכה של גוף הפונקציה, כלומר אי אפשר לשנות את שם הפונקציה או החתימה, להוסיף או להסיר פונקציה או לשנות שדות שאינם פונקציות.
התכונה 'עריכה בזמן אמת' מאפסת את מצב האפליקציה בפעם הראשונה שמשנים פונקציית Compose בקובץ. זה קורה רק אחרי השינוי הראשון בקוד – מצב האפליקציה לא מתאפס בשינויים הבאים בקוד שאתם מבצעים בפונקציות Compose בקובץ הזה.
יכול להיות שיהיה קנס מסוים על הביצועים של שיעורים ששופרו באמצעות עריכה בזמן אמת. אם אתם מעריכים את הביצועים של האפליקציה, כדאי להריץ אותה ולהשתמש בגרסת build נקייה של הגרסה שמופצת.
כדי שהבאגים יפעלו על מחלקות ששיניתם באמצעות עריכה בזמן אמת, אתם צריכים להריץ את כל התהליך של ניפוי הבאגים.
אפליקציה שפועלת עלולה לקרוס כשעורכים אותה באמצעות Live Edit. במקרה כזה, אפשר לפרוס מחדש את האפליקציה באמצעות הלחצן הפעלה
.התכונה 'עריכה בזמן אמת' לא מבצעת מניפולציה של קוד בייט שמוגדר בקובץ ה-build של הפרויקט – לדוגמה, מניפולציה של קוד בייט שתתבצע כשהפרויקט ייבנה באמצעות האפשרויות בתפריט Build או בלחיצה על הלחצנים Build או Run.
פונקציות שאי אפשר להרכיב מעדכנות את המכשיר או האמולטור בזמן אמת, ומופעלת הרכבה מלאה מחדש. יכול להיות שההרכבה מחדש המלאה לא תפעיל את הפונקציה המעודכנת. בפונקציות שאינן ניתנות להרכבה, צריך להפעיל את הפונקציות שעודכנו או להריץ את האפליקציה מחדש.
העריכה בזמן אמת לא ממשיכה אחרי הפעלה מחדש של האפליקציה. צריך להפעיל את האפליקציה שוב.
התכונה 'עריכה בזמן אמת' תומכת רק בתהליכים שאפשר לנפות בהם באגים.
התכונה 'עריכה בזמן אמת' לא תומכת בפרויקטים שמשתמשים בערכים מותאמים אישית של
moduleNameבקטעkotlinOptionsבהגדרות הבנייה.התכונה 'עריכה בזמן אמת' לא פועלת עם פריסות מרובות. כלומר, אי אפשר לפרוס למכשיר אחד ואז למכשיר אחר. העריכה בזמן אמת פעילה רק במערך האחרון של מכשירים שהאפליקציה נפרסה בהם.
התכונה 'עריכה בזמן אמת' פועלת עם פריסות למספר מכשירים (פריסות למספר מכשירים שנוצרו באמצעות האפשרות בחירת מספר מכשירים בתפריט הנפתח של מכשיר היעד). עם זאת, אין תמיכה רשמית בשיטה הזו, ויכול להיות שתיתקלו בבעיות. אם נתקלים בבעיות, אפשר לדווח עליהן.
האפשרויות 'החלת שינויים' או 'החלת שינויים בקוד' לא תואמות לעריכה בזמן אמת, ונדרשת הפעלה מחדש של האפליקציה הפועלת.
בשלב הזה, התכונה 'עריכה בזמן אמת' לא תומכת בפרויקטים של Android Automotive.
שאלות נפוצות בנושא עריכה בזמן אמת
מה הסטטוס הנוכחי של עריכה בזמן אמת?
התכונה 'עריכה בזמן אמת' זמינה ב-Android Studio Giraffe. כדי להפעיל את התכונה, עוברים אל File > Settings > Editor > Live Edit (ב-macOS: Android Studio > Settings > Editor > Live Edit).
מתי כדאי להשתמש בעריכה בזמן אמת?
משתמשים בעריכה בזמן אמת כשרוצים לראות במהירות את ההשפעה של עדכונים ברכיבי UX (כמו עדכוני שינוי ואנימציות) על חוויית השימוש הכוללת באפליקציה.
מתי לא כדאי להשתמש בעריכה בזמן אמת?
התכונה 'עריכה בזמן אמת' מתמקדת בשינויים בקוד שקשורים לממשק המשתמש ולחוויית המשתמש. הוא לא תומך בשינויים כמו עדכונים של חתימת שיטה, הוספה של שיטות חדשות או שינויים בהיררכיית המחלקות. מידע נוסף זמין במאמר בנושא מגבלות של עריכה בזמן אמת.
מתי כדאי להשתמש בתצוגה מקדימה של כתיבה?
כדאי להשתמש בתצוגה מקדימה של כתיבה כשמפתחים רכיבים שניתנים להרכבה בנפרד. בתצוגה המקדימה מוצגים רכיבי Compose והיא מתרעננת אוטומטית כדי להציג את ההשפעה של שינויים בקוד. התצוגה המקדימה תומכת גם בהצגת רכיבי ממשק משתמש בתצורות ובמצבים שונים, כמו עיצוב כהה, אזורים וגודל גופן.
פיתוח קוד איטרטיבי באמצעות Compose
התכונות Live Edit ו-Hot Reload ל-Compose Multiplatform יכולות לחסוך לכם זמן ולשפר את הפרודוקטיביות במהלך הפיתוח באמצעות Compose. עם זאת, הן משרתות צרכים שונים של התפתחות:
עריכה בזמן אמת תומכת בפיתוח איטרטיבי באמצעות Jetpack Compose לאפליקציות ל-Android. הוא מאפשר לעדכן רכיבים שניתנים להרכבה באמולטורים ובמכשירים פיזיים בזמן אמת. הפונקציונליות הזו מצמצמת את המעברים בין כתיבת קוד לבניית האפליקציה, ומאפשרת לכם להתמקד בכתיבת קוד למשך זמן ארוך יותר בלי הפרעות.
Compose Hot Reload מיועד לאותה מטרה, אבל הוא תומך באפליקציות למחשב שנוצרו באמצעות Compose Multiplatform. הכלי מאפשר לכם לבצע שינויים בקוד של ממשק המשתמש באפליקציית Compose Multiplatform ולראות את התוצאות בזמן אמת. כדי לעשות את זה, הוא טוען מחדש את הקוד באופן חכם בכל פעם שמשנים אותו.
למרות שלשתי התכונות האלה יש הרבה טכנולוגיות משותפות במנוע הכתיבה, והן תומכות בהרבה תרחישי שימוש דומים, הן לא זהות כי הן מתייחסות לסוגים שונים של פיתוח ב-Compose.
אם אתם מפתחים אפליקציית Android, כדאי להשתמש בתכונה 'עריכה בזמן אמת' כדי להאיץ את תהליך הפיתוח. אם אתם מפתחים אפליקציה למחשב באמצעות Compose Multiplatform, אתם צריכים להשתמש ב-Compose Hot Reload.
עריכה בזמן אמת של מחרוזות (יצא משימוש)
Android Studio יכול לעדכן בזמן אמת חלק מהערכים הקבועים שמשמשים בפונקציות Composable בתצוגות מקדימות, באמולטור ובמכשיר פיזי. ריכזנו כאן כמה סוגים נתמכים:
IntStringColorDpBoolean
אפשר להציג קבועים מילוליים שמפעילים עדכונים בזמן אמת בלי שלב ההידור, על ידי הפעלת קישוטים מילוליים באמצעות אינדיקטור ממשק המשתמש של עריכה בזמן אמת של קבועים מילוליים:
החלת השינויים
האפשרות Apply Changes מאפשרת לעדכן קוד ומשאבים בלי לפרוס מחדש את האפליקציה באמולטור או במכשיר פיזי (עם מגבלות מסוימות).
בכל פעם שמוסיפים, משנים או מוחקים קומפוזיציות, אפשר לעדכן את האפליקציה בלי לפרוס אותה מחדש. לשם כך, לוחצים על הלחצן החלת שינויים בקוד:

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