
onCreate, אחריו onStart ואז onResume. רק אחרי onResume האקטיביטי רצה ואפשר לבצע איתה אינטראקציה.onPause ואז onStop. ב-onPause האקטיביטי עדיין נראית, וב-onStop כבר לא.onRestart, onStart, onResume.onPause, onStop, onDestroy, והאקטיביטי יוצאת מהזיכרון.onStop התבצע, מתבצע רק onResume. אם אנדרואיד הורגת את האקטיביטי או את התהליך, ההצגה מחדש מתחילה שוב מ-onCreate.onCreate, onStart, onResume.onPause, onStop, והאקטיביטי נשארת ברקע.onRestart, onStart, onResume.onPause, onStop, onDestroy.onCreate מציגים את ה-layout. ב-onPause ו-onResume מטפלים בדברים שצורכים אנרגיה, למשל האזנה לחיישנים (sensors): ב-onPause מפסיקים להאזין כי כשהאקטיביטי מוסתרת אין בהם צורך, וב-onResume ממשיכים. את החיישנים עצמם הוא יראה בהמשך.הטקסט המלא של הדקות הראשונות בהרצאה «Activity Lifecycle» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
הדבר הבא שאנחנו הולכים לראות בנוגע לאקטיביטיז נקרא אקטיביטי לייפ סייקל, כלומר מחזור חיים של אקטיביטי. אקטיביטי לייפ סייקל אלו סדרה של אירועים שמתרחשים אוטומטית כאשר אקטיביטי נוצרת ומוצגת וכאשר אקטיביטי נעלמת או נהרסת.
כל אירוע כזה יש לו את התפקיד שלו ודברים מסוימים אנחנו נרצה לבצע באירועים מסוימים. קודם כל בואו נראה מהם האירועים השונים שמתרחשים במסגרת Activity Lifecycle. יש לנו כאן דוקומנטציה מקורית של אנדרואיד, מהאתר של אנדרואיד, שמדגימה בדיוק את ה-Activity Lifecycle.
דבר ראשון, אנחנו בעצם מבצעים Launch ל-Activity, כלומר אנחנו מציגים Activity, זה לא משנה אם זה ה-Activity הראשונה או ה-Activity השנייה שאנחנו מציגים מעליה.
ואז אנחנו כבר ראינו את האירוע OnCreate שמתרחש בהתחלה. לדוגמה באירוע onCreate אנחנו נרצה להציג את ה-Layout, אבל זה לא האירוע היחידי שמתרחש.
מייד לאחריו מתרחש האירוע onStart, לאחר מכן onResume ורק אז האקטיביטי נחשבת כרצה ובאמת אפשר לבצע אינטראקציה איתה. אם היוזר בעצם מציג עוד אקטיביטי על פני האקטיביטי הזאת, אז אירוע onPosed מתבצע ואירוע onStop מתבצע.
ההבדל בין שני האירועים האלה זה שב-on pose עדיין רואים את האקטיביטי וב-on stop כבר לא רואים אותה אלא רואים את האקטיביטי השנייה שנמצאת בחזית.
אם היוזר שוב חוזר לאקטיביטי אז מתבצע אירוע on restart, לאחר מכן on start ואז on resume ואז האקטיביטי שוב פעם מוצגת.
אם לדוגמה אנחנו מבצעים destroyed לאקטיביטי אז מתבצע און פאוז, און סטופ, און דיסטרוי ובשלב הזה האקטיביטי כבר שט דאון ויצא לגמרי מהזיכרון. יש עוד כמה מקרים לדוגמה אם באון פאוז אנחנו מיד חוזרים בחזרה user returns to the activity אז מתבצע רק און ריזיום ואם לדוגמה באחד מהשלבים האנדרואיד רואה
לנכון להרוג את האקטיביטי או את הפרוסס כולו ואז אנחנו רוצים להציג את האקטיביטי מחדש. אז כמובן אנחנו מגיעים מההתחלה ל-onCreate, onStart, onRezume, ואז האקטיביטי מוצגת.
בואו ניגש לתוכנית באנדרואיד ונראה את כל האירועים האלה בפועל. אז בואו ניגש לאקטיביטי השנייה שיש לנו ונתחיל לבנות את האירועים האלה פשוט על ידי הדריסה שלהם.
הנה יש לנו כאן את onCreate ואנחנו רוצים להתחיל ליצור את onStart, אנחנו רוצים ליצור את on-resume אנחנו רוצים ליצור את on-pause אנחנו רוצים ליצור את on-stop לדרוס את כל אלה בואו נדרוס את on-restart ולבסוף בואו נדרוס את on-distory כל הפונקציות שראינו בתרשים בואו ניפטר מכל הדירקטיבס המיותרים
האלה שיהיה קצת פחות קוד נראה יותר קוד על המסך וכל מה שאנחנו רוצים לעשות זה להגדיר איזשהו טוסט בכל אחד מהם יש לנו פה טוסט make text this נשאיר אותו כרגע רגע נגדיר length short ויש לנו את show ניקח את הטוסט הזה ונשכפל לכל אחד מהאירועים האלה תביני שהאמת אני לא צריך ולאחר מכן נגדיר את השם של האירוע בתוך הטוסט כך אנחנו נראה
בדיוק איזה אירוע מתרחש מתי בכל מיני תהליכים שונים שאנחנו הולכים לבדוק יש לנו פה את on restart יש לנו את on destroy וסיימנו להגדיר את כל אלה אז בואו נריץ ובואו נלחץ על הלחצן שואו סקנד אקטיביטי ונראה אילו טוסטים אנחנו רואים.
אז אנחנו רואים את און קריאט, און סטארט ואון ריזיום בדיוק כמו שדיברנו בסרטוט און קריאט און סטארט און ריזיום ואז האקטיביטי מוצגת. עכשיו אם אנחנו לוחצים על ההום בטון בכדי לחזור להום בואו נראה אילו טוסטים אנחנו רואים, יש לנו את אות pause ו-on stop ואז האקטיביטי נמצאת עדיין ברקע.
בואו ניגש ל-recent activities ונלחץ על האקטיביטי ואז אנחנו רואים את on restart, on start ו-on resume