PracticU

Send Data to Activity

בלי כתוביותעם כתוביות
PracticU › קורס פיתוח אפליקציות - לאנדרואיד - Android - ב-JAVA › Send Data to Activity
מילון מושגים:
Activity - ב-Android, רכיב שמייצג מסך יחיד של האפליקציה שאיתו המשתמש מתקשר.
שם משתמש - מזהה ייחודי שמשתמש מזין כדי להזדהות במערכת, לרוב יחד עם סיסמה.
לייאאוט - ארגון וסידור הרכיבים החזותיים על המסך או בדף, כמו מיקום כפתורים, טקסט ותמונות.
גופן - העיצוב הגרפי של האותיות והתווים המוצגים בטקסט, הכולל צורה, סגנון וגודל.
Intent - ב-Android, אובייקט הודעה שמבקש פעולה, למשל מעבר בין מסכים או הפעלת רכיב אחר.
מחרוזת - סוג נתונים שמייצג רצף של תווים, כלומר טקסט, ומשמש לאחסון מילים, משפטים או כל רצף סימנים.
רכיב - יחידת בניין עצמאית וניתנת לשימוש חוזר בתוך מערכת או ממשק משתמש, שאחראית על חלק מוגדר מהתפקוד.
פרמטר - ערך שמועבר לפונקציה או לפקודה כקלט, ומשפיע על אופן פעולתן ועל התוצאה שהן מחזירות.

Send Data to Activity
פעמים רבות אקטיביטי ראשית צריכה להעביר מידע למסך שהיא פותחת, למשל שם משתמש או פרטי פריט שנבחר מרשימה. בשיעור שולחים מה-MainActivity צבע רקע וטקסט ל-SecondActivity ומציגים אותם שם.
השלבים העיקריים
1. הכנת המסך השני: נותנים ל-TextView העליון id (textViewHeader), ול-layout id (relativeLayoutMain), מיישרים את הטקסט למרכז אופקית, מקטינים את הגופן ל-25 ומנקים את הטקסט הקבוע.
2. שליחה: על ה-Intent שפותח את המסך קוראים ל-putExtra(key, value) לכל פריט מידע. המפתח הוא שם ייחודי: backColor עם Color.CYAN, ו-headerText עם מחרוזת "Hello I'm a second activity". אחר כך startActivity.
3. איתור הרכיבים: ב-SecondActivity מגדירים משתנים גלובליים ומאתרים ב-onCreate את RelativeLayout ואת TextView.
4. קבלה: ב-onCreate קוראים ל-getIntent() ומקבלים את ה-Intent שהפעיל את המסך.
5. שליפה לפי סוג: getIntExtra("backColor", Color.BLACK) כי הצבע הוא int, כאשר הפרמטר השני הוא ערך ברירת מחדל אם המפתח לא נמצא. עבור המחרוזת: getStringExtra("headerText"), שמחזיר null אם אין ערך.
6. שימוש במידע: setBackgroundColor(backColor) על ה-layout ו-setText(headerText) על ה-TextView.
אחרי השיעור אפשר להעביר ערכים מאקטיביטי אחת לאחרת עם putExtra ולשלוף אותם בצד המקבל.
השיעור הבא בקורס: Serializable

פרקי ההרצאה: Send Data to Activity

  1. 00:00

    למה לשלוח מידע ל-Activity אחרת

  2. 00:57

    הכנת המסך השני לקבלת מידע

  3. 02:52

    שליחת נתונים עם putExtra

  4. 04:26

    הכנת הרכיבים ב-onCreate

  5. 05:28

    קבלת ה-Intent עם getIntent

  6. 06:05

    שליפת ערכים עם getIntExtra

תמלול ההרצאה: Send Data to Activity

הטקסט המלא של הדקות הראשונות בהרצאה «Send Data to Activity» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

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

  2. 00:29

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

  3. 00:58

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

  4. 01:13

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

  5. 01:34

    המטרה היא שהמיין אקטיביטי שמציג את ה-Second Activity ישלח בוא נניח את הטקסט בכדי שנציג אותו וגם את הצבע רקע בכדי שנראה איך אנחנו מעבירים מספר פריטים מ-Activity A ל-Activity B ואז אנחנו כמובן קולטים אותם ומשתמשים איתם באקטיביטי ב'.

  6. 01:57

    אז נעלים פה את הטקסט והנה יש לנו פה את הטקסט view העליון הזה ובגלל שאנחנו רוצים לשנות אותו בואו נקרא לו ID.text.view.header וזאת הכותרת שלנו.

  7. 02:15

    בנוסף בואו נגדיר שיש לנו פה ID עבור ה-Layout ונקרא לו RelativeLayoutMain בכדי לצבוע את צבע הרקע שלו. אז הכנו את ה-Second Activity כמו שאנחנו רוצים, ומה שאנחנו רוצים לעשות זה לגשת ל-Main Activity ולראות איך אנחנו מה-Main Activity יכולים לשלוח קודם כל מידע ל-Second Activity.

  8. 02:54

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

  9. 03:09

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

  10. 03:32

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

  11. 03:47

    אז בואו ניגש ונמציא פה מופתח שנקרא back color וניתן פה color.siam לאחר מכן נפנה לאינטנט put extra header text סתם טקסט שאני ממציא ונגדיר פה הלו I'm a second activity והנה עכשיו יש לנו סך הכל שני פריטי מידע ששלחנו מהמיין אקטיביטי לסקנד אקטיביטי אנחנו כמובן צריכים לגשת לסקנד אקטיביטי ולשלוף את פרטי המידע האלה ונכון לבצע בתוך

  12. 04:31

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

  13. 04:51

    זה יהיה ה-RelativeLayout נקרא לו RelativeLayoutMain וזה יהיה ה-private-text-view ואנחנו קראנו לו text-view-header. בואו נאתר אותם relative-lay-out-main-find-view-by-id אינו ו-text-view-header זה יהיה text-view-r-id-text-view-header כעת אנחנו יכולים לשלוף את הנתונים ולעדכן אותם.

  14. 05:32

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

  15. 05:47

    המיין אקטיביטי שלחה את המידע הזה באינטנט ויש לנו פשוט יכולת לגשת ולשלוף את אותו אינטנט. אז בואו נפתח פה אובייקט אינטנט אינטנט שווה לפונקציה get intent עד כדי כך זה פשוט והופ יש לנו את האינטנט שהפעיל אותנו.

  16. 06:08

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

  17. 06:29

    למה בעצם זה אינטג'ר? אם אנחנו מסתכלים על הטיפוס נתונים של סיין, בואו נלחץ רגע על קונטרול ונרחף מעליו, אנחנו יכולים לראות שהוא אינטג'ר אפשר לראות את זה ממש המילה לפני המילה סייאן זה אינט וכמובן ההדר טקסט הוא סטרינג אז בואו נחזור ונראה שדרך get int extra אנחנו מחזירים את האינטג'ר הוא רוצה גם שנביא לו איזשהו ערך

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

ההרצאה הקודמת: The Up Button

ההרצאה הבאה: Serializable

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

  • Activity Tracing
  • Activity Logs
  • Data Driven Test - חלק 1
  • Variables and Data Types

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

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