1 of 18

Menu

(למיניהם...)

2 of 18

כלי נוח ומועיל במיוחד,

שימושי מאוד,

ברב המקרים לא קשה לתכנות.

קיימות אפשרויות שונות

לצור תפריט,

לכן עבור פרויקט לבגרות

אין שום בעיה לבחור

מה שמתאים.

3 of 18

אפשר להגיד ששימוש בתפריט

דורש 3 מרכיבים:

  1. קובץ xml המכיל תיאור סעיפי התפריט

  • רכיב שבעזרתו תפריט מופיע

  • קודים להצגת תפריט ומימוש פעולות

4 of 18

בגלל שרב סעיפי התפריט שימושיים

במקומות שונים של אפליקציה,

נוח לצור תיקיה (תיקיית המערכת) menu

ואחר כך לצור בה קובץ xml

המכיל תיאור סעיפי התפרית

5 of 18

לסעיפי תפריט יש הרבה תכונות,

חלק מהן חובה (id, title)

וחלק רשות.

6 of 18

עוד מקורות מידע

7 of 18

מאוד כדאי להציג לתלמידים

אפשרויות דו-שיח עם AI

בנושא "תפריט ואפשרויות שלו"

8 of 18

תפריט "קלסי": options menu

שידוע גם כ"תפריט המבורגר".

דורש שימוש ב-2 פעולות:

    • ליצירה/תצוגה של תפריט
    • לרישום תגובות על בחירת סעיף

9 of 18

10 of 18

אפשר להוסיף סעיפים

או להסתיר סעיפים

או להפוך סעיפים לבלתי פעילים

...

דרך פקודות/פעולות Java

11 of 18

קיימות גם אפשרויות נוספות

ששימוש בהם נוח ללמוד

בדו-שיח עם AI,

או ללמוד ממסמכי פיתוח,

או מדוגמאות ברשת,

או ממורה,

או מחברים...

12 of 18

בגרסאות אחרונות של Android

באופן אוטומטי מסתירים

ActionBar

וקיימות כמה דרכים להחזירו

13 of 18

14 of 18

בכל אקטיביטי שבה רוצים

להשתמש ב-options menu

צריכים לחזור על אותן 2 פעולות.

כמובן שזה יותר "שכפול קוד"

שזה לא רצוי מבחינת התכנות המקצועית,

אבל "לא ממש חשוב"

בפרויקט לבגרות.

15 of 18

אפשר להראות לתלמידים

אפשרות לצור "מחלקת אב"

עבור תפריט

ושימוש בה במחלקות אחרות

כדי להימנע מ"שכפול קוד"

16 of 18

שכפול הקוד

לעבודה עםOptionsMenu

בכל פעילות אינו רק לא נוח,

אלא גם סותר את העקרונות של

DRY (Don't Repeat Yourself).

דרך מצוינת לתקן זאת

היא ליצור מחלקת פעילות בסיסית

המגדירה שיטות נפוצות.

17 of 18

סוג נוסף נוח ושימוש לתפריט

הוא "תפריט קופץ"

(popup menu)

לכל אחד משתי סוגים האלה

יש יתרונות וחסרונות

וגם "התאמות" שונות:

שווה לבקש מ-AI

"טבלת השוואות"

18 of 18

בשנים אחרונות התווספו

ל"משפחת תפריטים"

מספר אפשרויות,

שקבלו שימוש רב באפליקציות מקצועיות.

גם תלמידים בפרויקטים

די הרבה משתמשים באפשרויות האלה.