פיתוח קוד איטרטיבי

כמפתח לנייד, אתה בדרך כלל מפתח את ממשק המשתמש של האפליקציה שלך שלב אחרי שלב מאשר לפתח הכול בבת אחת. מערכת Android Studio מחמצת את הגישה הזו עם באמצעות 'Jetpack פיתוח נייטיב' מספקים כלים שלא צריך build מלא כדי לבדוק אותם, לשנות ערכים ולאמת את התוצאה הסופית.

עריכה בזמן אמת

התכונה 'עריכה בזמן אמת' מאפשרת לעדכן תכנים קומפוזביליים באמולטורים למכשירים פיזיים בזמן אמת. הפונקציונליות הזו מצמצמת את מתגי ההקשר בין כתיבת האפליקציה לבין פיתוח האפליקציה, מה שמאפשר לכם להתמקד יותר בכתיבת קוד ללא הפרעות.

לעריכה בזמן אמת יש שלושה מצבים:

  • ידני: שינויי קוד מוחלים כשהם נדחפים באופן ידני באמצעות Control+' ( Command+' ב-macOS)
  • בשמירה ידנית: השינויים בקוד מוחלים כשהם נשמרים ידנית באמצעות Control+S ( Command+S ב-macOS).
  • אוטומטי: השינויים מיושמים במכשיר או באמולטור כאשר מעדכנים בפונקציה הקומפוזבילית.

התכונה 'עריכה בזמן אמת' מתמקדת בשינויים בקוד שקשורים לממשק המשתמש ולחוויית המשתמש. העריכה בזמן אמת לא תמיכה בשינויים כמו עדכוני חתימת method, הוספת שיטות חדשות או מחלקות, בהיררכיה. למידע נוסף, ראו את רשימת ההגבלות על שידור חי עריכה

התכונה הזו היא לא תחליף ליצירה ולהפעלה של האפליקציה, או החלת השינויים. במקום זאת, המטרה שלהם היא לשפר את בתהליך פיתוח, פריסה ואיטרציה לפיתוח ממשק משתמש של כתיבה.

תהליך העבודה המומלץ הוא:

  1. צריך להגדיר את האפליקציה כך שניתן יהיה להריץ אותה.
  2. עריכה בזמן אמת ככל האפשר עד שיהיה צורך לבצע שינויים בתכונה 'עריכה בזמן אמת' אינו תומך, למשל, הוספת שיטות חדשות בזמן שהאפליקציה פועלת.
  3. לאחר שמבצעים שינוי שלא נתמך, לוחצים על Run הפעל
סמל (הפעלה) כדי להפעיל מחדש באפליקציה ולהמשיך את העריכה בזמן אמת.

איך מתחילים לעבוד עם עריכה בזמן אמת

כדי להתחיל, צריך לבצע את השלבים הבאים כדי ליצור פעילות כתיבה ריקה, ואז להפעיל עריכה בזמן אמת בפרויקט וביצוע שינויים באמצעות 'עריכה בזמן אמת'.

הגדרת הפרויקט החדש

  1. לפני שמתחילים, חשוב לוודא שיש לכם מערכת ההפעלה Android Studio Giraffe ואילך ושרמת ה-API של החשבון 'מכשיר או אמולטור' הוא לפחות 30.

  2. פותחים את Android Studio ובוחרים באפשרות פרויקט חדש בקטע ברוכים הבאים אל Android של Studio. אם כבר יש לך פרויקט פתוח, ניתן ליצור פרויקט חדש אחת על ידי מעבר אל קובץ > חדש > פרויקט חדש.

  3. בוחרים את התבנית ריקה של פעילות הכתיבה לטלפון ולטאבלט. ולאחר מכן לוחצים על Next.

    בחירת תבניות ב-Android Studio
    איור 1. תבניות שאפשר לבחור מתוכן. לעריכה בזמן אמת, בוחרים באפשרות ריקון הכתיבה.
  4. ממלאים את תיבת הדו-שיח פרויקט חדש עם הפרטים הנדרשים: שם, שם החבילה, שמירת המיקום, ערכת ה-SDK המינימלית ושפה של תצורת build.

    הגדרות לדוגמה של פרויקט משלב 4 הוזנו ב-Android Studio
    איור 2. הגדרות פרויקט לדוגמה.
  5. לוחצים על סיום.

הפעלה של עריכה בזמן אמת

  1. צריך לעבור אל ההגדרות כדי להפעיל את התכונה 'עריכה בזמן אמת'.

    • ב-Windows או ב-Linux, מנווטים אל File > הגדרות > עריכה > עריכה בזמן אמת
    • ב-macOS, עוברים אל Android Studio > הגדרות > עריכה > עריכה בזמן אמת
  2. בוחרים באפשרות עריכה בזמן אמת ובמצב שרוצים להפעיל. הגדרות.

    במצב ידני, שינויי הקוד נדחפים בכל פעם שלוחצים Control+' ( Command+' ב-macOS). במצב ידני מופעל לשמור, השינויים בקוד יחולו בכל פעם שאתם שומרים ידנית, באמצעות Control+S ( Command+S מופעל macOS). במצב אוטומטי, שינויי הקוד מוחלים במכשיר או אמולטור בעת ביצוע השינויים.

    ממשק המשתמש של תיבת הסימון לעריכה בזמן אמת בהגדרות של Android Studio
    איור 3. הגדרות של 'עריכה בזמן אמת'.
  3. בעורך, פותחים את הקובץ MainActivity, שהוא נקודת הכניסה של באפליקציה שלך.

  4. לוחצים על הפעלה לחצן בממשק המשתמש כדי לפרוס את האפליקציה שלכם.

  5. אחרי שמפעילים את התכונה 'עריכה בזמן אמת', מופיע סימן וי ירוק מעודכן בפינה השמאלית העליונה של חלון הכלי מכשירים פעילים:

    ממשק משתמש של סימן וי ירוק לעריכה בזמן אמת

ביצוע ובדיקת שינויים

כשמבצעים שינויים נתמכים בכלי העריכה, במכשיר הבדיקה הווירטואלי או הפיזי מתעדכנת באופן אוטומטי.

לדוגמה, אפשר לערוך את ה-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.

שינויים בשיטת הודעת הפתיחה שהוחלו במכשיר
איור 4. מכשיר בדיקה שבו מוצגים שינויים ב'עריכה בזמן אמת' Greeting.

פתרון בעיות בעריכה בזמן אמת

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

סמל של עריכת שינויים בזמן אמת של מידע לא עדכני
איור 5. אינדיקטור של סטטוס העריכה בזמן אמת.

המגבלות של 'עריכה בזמן אמת'

בהמשך מופיעה רשימה של המגבלות הנוכחיות.

  • [רלוונטי רק ל-Android Studio Giraffe ואילך] לעריכה בזמן אמת נדרש זמן ריצה לכתיבה 1.3.0 ואילך. אם בפרויקט שלכם נעשה שימוש בגרסה נמוכה יותר של 'כתיבה', 'עריכה בזמן אמת' מושבת.

  • [רלוונטי רק ל-Android Studio Giraffe ואילך] התכונה 'עריכה בשידור חי' מחייבת שימוש ב-AGP 8.1.0-alpha05 או גבוהה יותר. אם בפרויקט שלכם נעשה שימוש בגרסה ישנה יותר של AGP, העריכה בזמן אמת מושבתת.

  • התכונה 'עריכה בזמן אמת' מחייבת מכשיר פיזי או אמולטור שפועלת בו רמת API 30 ומעלה.

  • התכונה 'עריכה בזמן אמת' תומכת רק בעריכת גוף הפונקציה, כלומר לא ניתן שינוי של שם הפונקציה או החתימה, הוספה או הסרה של פונקציה או שינוי שדות שאינם פונקציות.

  • התכונה 'עריכה בזמן אמת' מאפסת את מצב האפליקציה בפעם הראשונה שמשנים את פונקציית הכתיבה קובץ. זה קורה רק לאחר השינוי הראשון בקוד – מצב האפליקציה לא. יאופסו על ידי השינויים הבאים בקוד שתבצעו בפונקציות של כתיבת הקובץ.

  • שיעורים שעברו שינוי עריכה בזמן אמת עלולים לגרום לקנסות על הביצועים. להריץ את ולהשתמש ב-build נקי, אם אתם מעריכים את או של ביצועים.

  • צריך לבצע הרצה מלאה כדי שהכלי לניפוי באגים יפעל בכיתות שינו באמצעות 'עריכה בזמן אמת'.

  • אפליקציה פועלת עלולה לקרוס כשעורכים אותה באמצעות עריכה בזמן אמת. במקרה כזה, אפשר לפרוס מחדש את האפליקציה בלחיצה על הלחצן Run ממשק משתמש
לחצן.

  • העריכה בזמן אמת לא מבצעת מניפולציה של בייטקוד כפי שמוגדר ב של קובץ ה-build של הפרויקט, כמו שינוי של בייטקוד (bytecode) מוחלות בזמן יצירת הפרויקט באמצעות האפשרויות שמופיעות בתפריט Build או לוחצים על הלחצן Build או Run (הפעלה).

  • פונקציות שאינן קומפוזביליות מתעדכנות בזמן אמת במכשיר או באמולטור, נוצרת הרכבה מחדש מלאה. ייתכן שהיצירה מחדש המלאה לא תפעיל את הפונקציה המעודכנת. עבור פונקציות לא קומפוזביליות, צריך להפעיל את הפונקציה לעדכן פונקציות שונות או להריץ את האפליקציה שוב.

  • העריכה בזמן אמת לא ממשיכה לאחר הפעלה מחדש של האפליקציה. תצטרכו להפעיל את האפליקציה שוב.

  • התכונה 'עריכה בזמן אמת' תומכת רק בתהליכים שניתנים לניפוי באגים.

  • התכונה 'עריכה בזמן אמת' לא תומכת בפרויקטים שמשתמשים בערכים מותאמים אישית עבור moduleName בקטע kotlinOptions בתצורת build.

  • אי אפשר להשתמש ב'עריכה בזמן אמת' בפריסות מרובות. המשמעות היא לא יכולות לפרוס במכשיר אחד ולאחר מכן במכשיר אחר. התכונה 'עריכה בזמן אמת' פעילה רק במכשירים הבאים קבוצת המכשירים האחרונה שבה האפליקציה נפרסה.

  • התכונה 'עריכה בזמן אמת' פועלת עם פריסות במכשירים מרובים (פריסות למספר מכשירים) מכשירים שנוצרו באמצעות האפשרות בחירת מספר מכשירים ביעד בתפריט הנפתח של המכשירים). עם זאת, היא לא נתמכת באופן רשמי, וייתכן שיש בעיות נפוצות. אם נתקלתם בבעיות, חשוב לדווח עליהן.

  • התכונה 'החלת השינויים/החלת השינויים בקוד' לא תואמת לעריכה בזמן אמת ומחייבים להפעיל מחדש את האפליקציה שפועלת.

  • בשלב הזה, התכונה Live Edit לא תומכת בפרויקטים של Android Automotive.

שאלות נפוצות על עריכה בזמן אמת

  • מה הסטטוס הנוכחי של 'עריכה בזמן אמת'?

    התכונה 'עריכה בזמן אמת' זמינה ב-Android Studio Giraffe. כדי להפעיל את התכונה, מנווטים אל File > הגדרות > עריכה > עריכה בזמן אמת (Android Studio > הגדרות > עריכה > Live Edit (עריכה בזמן אמת) ב-macOS).

  • מתי כדאי להשתמש בעריכה בזמן אמת?

    כדאי להשתמש בעריכה בזמן אמת כשרוצים לראות במהירות את ההשפעה של עדכונים בחוויית המשתמש רכיבים (כמו עדכוני מגביל ואנימציות) באפליקציה הכוללת חוויה אישית.

  • מתי כדאי להימנע משימוש בעריכה בזמן אמת?

    התכונה 'עריכה בזמן אמת' מתמקדת בשינויים בקוד שקשורים לממשק המשתמש ולחוויית המשתמש. הוא לא תומך שינויים כמו עדכוני חתימת שיטה, הוספת שיטות חדשות או מחלקה בהיררכיה. למידע נוסף, ראו מגבלות של שידור חי עריכה

  • מתי כדאי להשתמש בקטע 'תצוגה מקדימה של כתיבה'?

    כדאי להשתמש בתכונה 'תצוגה מקדימה של פיתוח' כשמפתחים תכנים קומפוזביליים נפרדים. טרום-השקה יוצר רכיבים באופן חזותי ומתרענן באופן אוטומטי כדי להציג ההשפעה של שינויים בקוד. התצוגה המקדימה תומכת גם בהצגת רכיבים של ממשק המשתמש בקטע הגדרות אישיות ומצבים שונים, כמו עיצוב כהה, לוקאלים וגופן קנה מידה.

עריכת מילים מילוליות בזמן אמת (הוצאה משימוש)

Android Studio יכול לעדכן בזמן אמת חלק מהליטרלים הקבועים שבהם נעשה שימוש תכנים קומפוזביליים בתצוגות מקדימות, באמולטור ובמכשיר פיזי. הנה כמה דוגמאות הסוגים הנתמכים:

  • Int
  • String
  • Color
  • Dp
  • Boolean

סרטון של המשתמש משנה מילים בקוד המקור ובתצוגה המקדימה
מתבצע עדכון
באופן דינמי

תוכלו להשתמש בליטרלים קבועים שמפעילים עדכונים בזמן אמת, של אקסטרים באמצעות הפעלת קישוטים מילוליים באמצעות העריכה בזמן אמת של מחוון ממשק המשתמש של המילה:

הפעלת עריכה בזמן אמת של
ייצוג מילולי

החלת השינויים

החלת השינויים מאפשרת לעדכן את הקוד והמשאבים ללא צורך לפרוס מחדש את האפליקציה באמולטור או במכשיר פיזי (בחלק מהמקרים במגבלות).

בכל פעם שמוסיפים, משנים או מוחקים תכנים קומפוזביליים, אתם יכולים לעדכן את האפליקציה בלי תצטרכו לפרוס אותו מחדש על ידי לחיצה על הלחצן Apply Code Changes (החלת השינויים בקוד):

משתמש לוחץ על "החלת השינויים"
לחצן