שינוי ראשון של האפליקציה - לכידת אירועים ונתונים. - טכנולוגיה
דלג לתוכן

שינוי ראשון של האפליקציה - לכידת אירועים ונתונים.

פרסומות

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

 

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

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

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

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

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

 

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

 

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

לוגיקה של יישומים.

 

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

 

הוספנו את אירוע ההקלקה של הכפתור ויצרנו פונקציה בשם onClick() (ניתן לקרוא בכל דרך)

 

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

 

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

 

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


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

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

 

מאוחר יותר אנו מפעילים את האפליקציה שוב ומקבלים את התוצאה הבאה.


 

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


חשוב להשתמש!! כדי למנוע ממך הפניות אפסיות.

 

תַצְפִּית:

 

בשורות 11 ו-12 נעשה שימוש ב-nullsafety, זוהי תכונת kotlin המאפשרת שליטה על ערכי null בתוך האפליקציה, ומונעת ממנה לטעון את NullPointerException הפופולרי, לא נוכל להקצות ערכי null באופן ישיר, אבל ככה כשאנו מציינים את EditText? אנחנו אומרים למהדר ששדה זה יכול לקבל הפניה אפסית ולאפשר את עיבודו.

 

בשורות 26 ו-27 השתמשו !! להגיד לקומפיילר לא לבדוק אם הערך הוא null ולכן הוא יכול לקמפל ללא בעיות, אבל אם הוא null, זורקים את החריגה בקונסולה, למקרה שנדע שיכול להגיע ערך null ועדיין נרצה לעבד

 

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

 

וזהו, עם זה יש לנו את האפליקציה הפונקציונלית הראשונה שלנו עם לכידת נתונים ואירועי כפתור.

 

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





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