מהן פעילויות אנדרואיד ומהו מחזור החיים שלהן? - טכנולוגיה
דלג לתוכן

מהן פעילויות אנדרואיד ומהו מחזור החיים שלהן?

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

פרסומות


בעמוד הרשמי של מפתחי אנדרואיד נוכל למצוא הסבר מפורט יותר על מה הפעילויות מייצגות (https://developer.android.com/guide/components/activities/intro-activities) כאן נראה כלליות עליהם ועל מחזור החיים שלהם.


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


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


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


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


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

קובץ מניפסט (AndroidManifest.xml)


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



כאשר נוצרת פעילות, androidStudio דואג אוטומטית לפרמטר אותה בקובץ AndroidManifest.xml ושם ניתן גם להוסיף פילטרים או מאפיינים כדי לקבוע פעולות נוספות של האפליקציה, למשל בתמונה הקודמת ניתן לראות שה-MainActivity הוא ה-MainActivity. מערכת הפעילות הראשית (זו שמוצגת ראשונה) מאז מתווסף אליו עם הנכס <action android:name="android.intent.action.MAIN" />

מחזור חיים של פעילות.


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


להלן סיכום של כל אחת מהמדינות:


  • onCreate()

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

  • onStart()

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

  • בקצרה()

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

  • onPause()

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

    ממצב זה תוכל לחזור שוב אל onResume() או onStop()

  • onStop()

    מצב זה מתחיל כאשר הפעילות כבר לא גלויה למשתמש, זה יכול להיות בגלל שהפעילות נמחקה, אחת שהופסקה מופעלת מחדש או בגלל שפעילות חדשה מתחילה, במקרה זה הפעילות שהופסקה כבר לא גלויה ל- מִשׁתַמֵשׁ. המשתמש, מכאן אתה יכול לקרוא ל-onRestart() או onDestroy()

  • onRestart()

    המערכת נכנסת למצב זה כאשר הולכת להתחיל שוב פעילות שהופסקה, כאן מצב הפעילות משוחזר מרגע עצירתה והקריאה ל-onStart() מתבצעת.

  • onDestroy()

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


ניתן ליישם שיטות אלו בפרויקט באופן הבא:


אז בעת הפעלת האפליקציה נראה את ההתנהגות ב-logcat.

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

זה עשוי לעניין אותך גם.




האם יש משהו שאתה רוצה להוסיף או להגיב לגבי הערך הזה? תרגיש חופשי לעשות….ואם אהבתם... אני מזמינה אתכם לשתף y הירשם על ידי לחיצה על כפתור "הצטרף לאתר זה" כדי לשמוע עוד פוסטים כמו זה 😉