PracticU

חלונית LogCat

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

חלונית LogCat
חלונית LogCat מציגה הודעות מהאפליקציה בזמן הריצה, כולל חריגות והודעות מערכת, ואפשר גם לכתוב אליה הודעות משלנו כדי לעקוב אחרי מה שקורה בקוד.
איך כותבים ל-LogCat
1. מחלקת Log: מכילה פונקציות באות אחת, ולכל אחת רמת חומרה אחרת: ‏Log.v (‏verbose), ‏Log.d (‏debug), ‏Log.i (‏information), ‏Log.w (‏warning) ו-Log.e (‏error).
2. פרמטרים: שני לפחות. הראשון הוא Tag לזיהוי ההודעה, בדרך כלל שם האפליקציה, המחלקה או ה-activity (בדוגמה MainActivity). השני הוא ההודעה עצמה.
3. דוגמאות מהשיעור: ‏Log.i ב-onCreate עם הודעה שאנחנו שם, ‏Log.d בתחילת ה-onClick, ו-Log.d בתוך הלולאה עם הערך של i.
4. חריגות: בתוך catch של Exception כותבים Log.e עם ex.getMessage(). נהוג להשתמש ב-e לחריגות, כדי שיהיה קל למצוא אותן.
איך קוראים ומסננים
- בהרצת האפליקציה החלונית נפתחת ומציגה הרבה הודעות מהמערכת.
- הרשימה הנפתחת של רמות החומרה מסננת. בחירה ב-Info מציגה רק אותה, אבל Debug מציג גם Info, ו-Verbose מציג הכל.
- שדה החיפוש מאפשר לסנן לפי Tag, למשל MainActivity, ואז רואים רק את ההודעות שלנו.
- יש כפתור למחיקת תוכן החלונית, ואחריו לוחצים שוב על הלחצן באפליקציה ורואים את ההודעות החדשות.
אחרי השיעור אפשר לעקוב אחרי מהלך האפליקציה, לראות ערכי משתנים ולסנן רק את מה שמעניין, כדי לאתר שגיאות.
השיעור הבא בקורס: Using the DDMS

פרקי ההרצאה: חלונית LogCat

  1. 00:00

    מה רושמת חלונית LogCat

  2. 00:42

    פונקציות הלוג ורמות Severity

  3. 02:15

    פרמטר Tag והודעת הלוג

  4. 02:56

    רישום לוגים בקוד האפליקציה

  5. 03:47

    רישום שגיאות בתוך try catch

  6. 04:29

    צפייה וסינון הודעות ב-LogCat

תמלול ההרצאה: חלונית LogCat

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

  1. 00:04

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

  2. 00:32

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

  3. 00:41

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

  4. 01:03

    הפונקציות האלה הן בעצם פונקציות באורך של אות אחת, ולכל אחד יש משמעות אחרת. אז אנחנו רואים פה את הפונקציה d ו-e ו-v ואנחנו רואים גם את i, יש לנו את w, כל מיני פונקציות עם אות אחת.

  5. 01:20

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

  6. 01:34

    לדוגמה, d זה אומר שאנחנו רק רוצים to debug something. לדוגמה E זה אומר שיש לנו ממש Error והתרחשה חריגה שכנראה תפסנו אותה ואנחנו רוצים לרשום מידע.

  7. 01:47

    V זה קיצור של Verbose, כלומר להכביר במילים. תכף אנחנו נראה איפה אנחנו משתמשים עם זה. E, דיברנו על זה, Error. I זה Information, אם אנחנו רוצים לכתוב רק Information.

  8. 02:01

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

  9. 02:25

    בחלון בדרך כלל נהוג לרשום או את השם של האפליקציה או את השם של המחלקה או של האקטיביטי שבה אנחנו נמצאים כרגע אז בואו כרגע נרשום כאן שאנחנו נמצאים במיין activity והדבר הבא ומה בעצם ההודעה שאנחנו רוצים לכתוב בואו נכתוב I'm in the on create event בואו נבצע את אותו הדבר גם כאן נגדיר פה לוג הפעם נשתמש ב-d אנחנו מבצעים פה איזשהו דיבאגינג

  10. 03:06

    מסוים אנחנו עדיין ב-main activity וstarting the show even numbers on click בואו בתוך הלולאה נרשום גם כן אנחנו במיין אקטיביטי ונגדיר מה פירוש i או מהו הערך הנוכחי של המשתנה עכשיו בדרך כלל יהיה לנו איזשהו try catch שעוטף הכל כמובן שכעת התוכנית לא אמורה לקרוס מהקוד שכתוב בו אבל בוא נניח שיש לנו איזשהו drycatch עם איזושהי exception כללית ובמידה והייתה חריגה אז

  11. 04:07

    אנחנו רוצים to log error אנחנו ב-main activity ו-error-message יהיה כמובן ex-get-message. במידה ויש לנו אקספצ'נים אז נהוג לבצע את זה עם e כדי שאחר כך ניתן יהיה למצוא את זה בקלות.

  12. 04:30

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

  13. 04:53

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

  14. 05:07

    סוג הפילטרינג הראשון שיש לנו זה פילטר לפי רמת החומרה של ההודעה שאנחנו הצגנו ואנחנו כבר יכולים לראות שיש פה את כל האותיות שקודם ראינו הנה אנחנו רואים את ה-verbos הנה אנחנו רואים את ה-debug info warning ו-error זאת אומרת אם לדוגמה אנחנו שמים את זה על ה-i אז אנחנו יכולים לראות רק הודעות

  15. 05:30

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

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

ההרצאה הקודמת: אנדרואיד Debugger

ההרצאה הבאה: Using the DDMS

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

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