PracticU

Tasks and Back Stack

בלי כתוביותעם כתוביות
PracticU › קורס פיתוח אפליקציות - לאנדרואיד - Android - ב-JAVA › Tasks and Back Stack
מילון מושגים:
Activity - ב-Android, רכיב שמייצג מסך יחיד של האפליקציה שאיתו המשתמש מתקשר.
כפתור - רכיב בממשק המשתמש שהמשתמש לוחץ עליו כדי להפעיל פעולה, כמו שליחת טופס או מעבר לדף אחר.

Tasks and Back Stack
עד עכשיו האפליקציות היו עם Activity אחת, אבל אפליקציה אמיתית מציגה כמה מסכים. כדי לעבוד איתם צריך להבין שני מושגים: Back Stack ו-Task.
הרעיונות
1. Back Stack: מחסנית של Activities. האקטיביטי שבה האפליקציה מתחילה נכנסת אליה, וכל אקטיביטי חדשה שנפתחת נכנסת מעליה ודוחפת את הקודמות אחורה. רק אחת היא ה-foreground activity, זו שהמשתמש יכול לעבוד איתה.
2. כפתור Back: האקטיביטי העליונה נהרסת ויוצאת מהמחסנית, והקודמת הופכת לפעילה. בלחיצה על Back באקטיביטי האחרונה, האפליקציה נסגרת.
3. Task: קבוצת Activities שבתוך Back Stack. אם המשתמש לוחץ על Home ומפעיל אפליקציה אחרת, אנדרואיד שומרת את ה-Back Stack הראשון ברקע ופותחת Task חדש לאפליקציה השנייה.
4. חזרה ל-Task: אפשר לחזור ל-Task הקודם דרך Recent Applications, או בהפעלה חוזרת של האפליקציה, והמסך שהיה פעיל יוצג כפי שהיה.
5. Multi-Tasking: יכולים להתקיים כמה Tasks במקביל, אבל רק אחד פעיל.
הנושאים הבאים בסדרה
פתיחת Activity נוספת, העברת מידע בין Activities והחזרת מידע, ומה קורה לנתונים בשינוי אוריינטציה ואיך משחזרים אותם.
אחרי השיעור אפשר להסביר איך אנדרואיד מנהלת מסכים עם Back Stack ו-Tasks ומה קורה בלחיצה על Back או Home.
השיעור הבא בקורס: Display Second Activity

פרקי ההרצאה: Tasks and Back Stack

  1. 00:00

    עבודה עם כמה Activities באפליקציה

  2. 00:59

    המונחים Back Stack ו-Task

  3. 01:36

    מחסנית של Activities

  4. 02:12

    פתיחת Activity חדשה למחסנית

  5. 03:13

    Activity שלישית ו-Foreground Activity

  6. 03:51

    לחצן Back והוצאה מהמחסנית

  7. 04:50

    מהו Task ומעבר בין אפליקציות

תמלול ההרצאה: Tasks and Back Stack

הטקסט המלא של הדקות הראשונות בהרצאה «Tasks and Back Stack» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

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

  2. 00:20

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

  3. 00:28

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

  4. 00:55

    ואחרים לגמרי באפליקציה שלנו בנוסף למסך הראשי או לאקטיביטי הראשונה שהיוזר רואה. לצורך כך אנחנו צריכים להכיר שני מונחים. מונח אחד נקרא ה-Backstack ומונח אחר נקרא Task.

  5. 01:15

    יש לנו כאן לינק לדוקומנטציה ראשית של אנדרואיד, לדוקומנטציה מקורית של אנדרואיד, שבה אנחנו יכולים לראות ולהבין את שני המונחים האלה Backstack וה-Tasks.

  6. 01:29

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

  7. 02:03

    אנחנו יכולים פשוט להכניס אקטיביטיז למחסנית וכאשר אנחנו שולפים אקטיביטי האקטיביטי שתישלף זאת האקטיביטי האחרונה שהכנסנו אז בוא נניח שהיוזר מריץ אפליקציה ויש לו מסך אחד וזה המסך הראשי שהוא רואה מה שקורה זה שלאפליקציה יש Backstack ואוטומטית האקטיביטי שאנחנו מתחילים איתה האקטיביטי הראשית נכנסת

  8. 02:12

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

  9. 03:07

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

  10. 03:35

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

  11. 03:56

    בוא נניח שבשלב הזה היוזר לוחץ על ה-Back Button מה שקורה זה שהאקטיביטי מספר 3 נהרסת אנחנו רואים את זה כאן אנדרואיד הורס את האקטיביטי ולכן מוציא אותה מהסטאק אם הוא הוציא אותה מהסטאק אז אוטומטית אקטיביטי 2 הופכת להיות האקטיביטי הפעילה כי היא פשוט הייתה שם ברקע והמתינה לתורה ואז היוזר עובד עם אקטיביטי 2 ואקטיביטי 1 נשמרת לו עדיין מאחורה אם היוזר

  12. 04:26

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

  13. 04:42

    אז כל הקונספט הזה נקרא ה-Backstack של האפליקציה. מה זה Task? Task זה בעצם סדרה של Activities שנמצאת בתוך Backstack.

  14. 04:58

    כאן אנחנו יכולים לראות דוגמה ל-Task. יש לנו Task A. לדוגמה, היוזר הריץ אפליקציה א' ופתח שני Activities. באפליקציה הזאת נפתחה Activity X ו-Activity Y והם נמצאים ב-Task הזה.

  15. 05:17

    עכשיו בוא נניח שהיוזר לוחץ על לחצן ה-Home ובעצם מגיע לחלון ה-Launcher ואז בא לו להפעיל אפליקציה אחרת. מה שאנדרואיד עושה זה לוקחת את ה-Backstack הזה שנמצא ב-Task A ושמה אותו ב-Background ועכשיו מפעילה Task אחר

לקורס המלא: קורס פיתוח אפליקציות לאנדרואיד

ההרצאה הקודמת: Spinner

ההרצאה הבאה: Display Second Activity

הרצאות קשורות מקורסים אחרים

  • Tasks - חלק 1
  • Swarm - Stack
  • הגדרת Stack ב-Flutter
  • אתר Stack Overflow

קורסים נוספים במסלול

  • קורס יסודות התכנות - שפת JAVA - קורס ג'אווה למתחילים
  • קורס פיתוח אפליקציות - לאייפון iPhone iOS - ב-Swift-Xcode
  • קורס פלאטר - Flutter - שפת DART של גוגל למובייל - פיתוח אפליקציות לאנדרואיד ואייפון
  • קורס PhoneGap - פיתוח אפליקציות לאנדרואיד ואייפון