
Log: מכילה פונקציות באות אחת, ולכל אחת רמת חומרה אחרת: Log.v (verbose), Log.d (debug), Log.i (information), Log.w (warning) ו-Log.e (error).MainActivity). השני הוא ההודעה עצמה.Log.i ב-onCreate עם הודעה שאנחנו שם, Log.d בתחילת ה-onClick, ו-Log.d בתוך הלולאה עם הערך של i.catch של Exception כותבים Log.e עם ex.getMessage(). נהוג להשתמש ב-e לחריגות, כדי שיהיה קל למצוא אותן.Info מציגה רק אותה, אבל Debug מציג גם Info, ו-Verbose מציג הכל.MainActivity, ואז רואים רק את ההודעות שלנו.הטקסט המלא של הדקות הראשונות בהרצאה «חלונית LogCat» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
בפיתוח באנדרואיד סטודיו קיים עוד כלי שימושי מאוד שעוזר לנו לדבק את האפליקציה. הכלי הזה נקרא LogCat. LogCat זה בעצם חלונית שרושמת בתוכה כל מיני דברים שמתרחשים במהלך חיי האפליקציה, כולל אקספשנים שהתרחשו, כולל מתי ה-garbage collector מופעל, כולל הודעות מערכת וכדומה.
אנחנו יכולים, תוך כדי ריצת האפליקציה, כן לרשום מידע לתוך חלונית ה-LogCat ואז לצפות במידע הזה.
בואו נראה איך עושים את זה. בואו נניח שאנחנו נמצאים פה ב-OnCreate. בכדי לרשום לתוך חלונית ה-LogCat ובעצם לבצע לוגינג של מה שקורה באפליקציה, אז אנחנו משתמשים במחלקה לוג ויש לנו סדרת פונקציות שמאפשרות לכתוב מידע לתוך חלונית ה-LogCat.
הפונקציות האלה הן בעצם פונקציות באורך של אות אחת, ולכל אחד יש משמעות אחרת. אז אנחנו רואים פה את הפונקציה d ו-e ו-v ואנחנו רואים גם את i, יש לנו את w, כל מיני פונקציות עם אות אחת.
אז מה זה בעצם הפונקציות האלה? הפונקציות האלה מאפשרות לכתוב מידע לתוך החלונית עם רמת severity שונה, כלומר רמת חומרה שונה של ההודעה שאנחנו רושמים.
לדוגמה, d זה אומר שאנחנו רק רוצים to debug something. לדוגמה E זה אומר שיש לנו ממש Error והתרחשה חריגה שכנראה תפסנו אותה ואנחנו רוצים לרשום מידע.
V זה קיצור של Verbose, כלומר להכביר במילים. תכף אנחנו נראה איפה אנחנו משתמשים עם זה. E, דיברנו על זה, Error. I זה Information, אם אנחנו רוצים לכתוב רק Information.
ו-W זה Warning, אם יש איזה מצב שהוא לא אופטימלי אבל הוא לא באמת איזושהי שגיאה אנחנו יכולים לכתוב את זה לחלונית הלוג-גאט. אז בואו ניקח דוגמה שנתחיל עם איי אינפורמיישן הפונקציה מקבלת מינימום שני פרמטרים הפרמטר הראשון זה איזשהו טאג שמאפשר לנו אחר כך לזהות את ההודעה הזאת מבין כל ההודעות שמופיעות
בחלון בדרך כלל נהוג לרשום או את השם של האפליקציה או את השם של המחלקה או של האקטיביטי שבה אנחנו נמצאים כרגע אז בואו כרגע נרשום כאן שאנחנו נמצאים במיין activity והדבר הבא ומה בעצם ההודעה שאנחנו רוצים לכתוב בואו נכתוב I'm in the on create event בואו נבצע את אותו הדבר גם כאן נגדיר פה לוג הפעם נשתמש ב-d אנחנו מבצעים פה איזשהו דיבאגינג
מסוים אנחנו עדיין ב-main activity וstarting the show even numbers on click בואו בתוך הלולאה נרשום גם כן אנחנו במיין אקטיביטי ונגדיר מה פירוש i או מהו הערך הנוכחי של המשתנה עכשיו בדרך כלל יהיה לנו איזשהו try catch שעוטף הכל כמובן שכעת התוכנית לא אמורה לקרוס מהקוד שכתוב בו אבל בוא נניח שיש לנו איזשהו drycatch עם איזושהי exception כללית ובמידה והייתה חריגה אז
אנחנו רוצים to log error אנחנו ב-main activity ו-error-message יהיה כמובן ex-get-message. במידה ויש לנו אקספצ'נים אז נהוג לבצע את זה עם e כדי שאחר כך ניתן יהיה למצוא את זה בקלות.
קודם כל איפה בדיוק רואים את כל הסיפור הזה בואו נריץ את האפליקציה ונראה שהחלונית מאחורה נפתחת לנו מיידית על חלונית לוג קאט. זאת החלונית שתמיד אנחנו רואים שיש בה את כל ההודעות שרצות מאחורי הקלעים.
עכשיו אם אנחנו מתחילים ללחוץ על הלחצן ולראות את כל הפעולות אז אנחנו כמובן רואים מאחורה הרבה הרבה הודעות שמתרחשות הנה חלק מההודעות זה בעצם ההודעות שלנו ואנחנו יכולים לבצע פילטרינג.
סוג הפילטרינג הראשון שיש לנו זה פילטר לפי רמת החומרה של ההודעה שאנחנו הצגנו ואנחנו כבר יכולים לראות שיש פה את כל האותיות שקודם ראינו הנה אנחנו רואים את ה-verbos הנה אנחנו רואים את ה-debug info warning ו-error זאת אומרת אם לדוגמה אנחנו שמים את זה על ה-i אז אנחנו יכולים לראות רק הודעות
שבעצם נכתבו על ידי i ואנחנו יכולים לראות לדוגמה את ההודעה כאן אם אנחנו רוצים לראות עוד פחות הודעות מזה לדוגמה רק הודעות שקשורות למיין אקטיביטי שלנו או