1 of 15

השתלמות

"אנדרואיד – פרויקט לבגרות"

מנחה: זאב פריימן

2 of 15

Notification

הן הודעות מתאימות להפעלה מושהית

(מתבצעת או אחרי זמן מסוים, או בתאריך ושעה עתידיים)

אפשר להפעיל אותם גם בזמן שאפליקציה פעילה,

אבל ברב המקרים מפעילים אותם

אחרי שאפליקציה כבר נסגרה.

AlarmManager+Notification

3 of 15

כאשר רוצים להפעיל notification

אחרי סגירת האפליקציה,

צריך להעביר "טיפול" בה לידי

מערכת אנדרואיד שבמכשיר.

המנגנון ל"העברת טיפול" הזה

הוא AlarmManager

AlarmManager+Notification

4 of 15

אחד מהפרמטרים החשובים

ב-AlarmManager הוא "מתי להפעיל?"

ולכן כאן טבעי מאוד להשתמש בדברים

הקיימים ב-Java ובאנדרואיד

עבור "טיפול" בתאריך ובזמן:

Calendar

DatePickerDialog

TimePickerDialog

או באחרים שדומים להם

AlarmManager+Notification

5 of 15

Calendar

AlarmManager+Notification

עצם

עצם מקבל מידע על "הרגע העכשווי"

שנה נוכחית

חודש נוכחי

יום נוכחי בחודש

שעה של "הרגע"

דקה של "הרגע"

6 of 15

כאשר משתמשים ב-Calendar,

צריך לזכור:

  • חודשים השנה הוא ממספר החל מ-0!
  • יש לו המון תכונות נוספות!

AlarmManager+Notification

7 of 15

DatePickerDialog

AlarmManager+Notification

תיבת דו-שיח מיועדת לבחירת (קביעה) תאריך.

יש לה פרמטרים שונים שבעזרתם אפשר לשלוט על תכונות שונות של התיבה הזאת.

באמולטורים/מכשירים עם גרסאות שונות של מערכת אנדרואיד תיבה זאת נראית אחרת

8 of 15

DatePickerDialog

AlarmManager+Notification

9 of 15

TimePickerDialog

AlarmManager+Notification

תיבת דו-שיח מיועדת לבחירת (קביעה) זמן.

יש גם לה פרמטרים שונים שבעזרתם אפשר לשלוט על תכונות שונות של התיבה הזאת.

גם היא באמולטורים/מכשירים עם גרסאות שונות של מערכת אנדרואיד תיבה זאת נראית אחרת

10 of 15

TimePickerDialog

AlarmManager+Notification

11 of 15

TimePickerDialog

AlarmManager+Notification

12 of 15

אחרי ש:

  • בנינו כל מה נדרש עבור notification
  • אחרי שבחרנו "מתי" להפעיל את הnotification-

צריך להתחיל "לטפל" ב-AlarmManager

AlarmManager+Notification

13 of 15

שלבי עבודה:

  1. לבנות BroadcastReceiver אשר מכיל הפעלת notification
  2. לצור Intent אשר מופנה ל-BroadcasrReceiver שבנינו
  3. לצור PendingIntent אשר יפעל "אחר כך" (ובתוכו Intent)
  4. לצור AlarmManager אשר קשור לשירותי מערכת (SystemService)
  5. לקבוע פרמטרים דרושים ל-AlarmManager

AlarmManager+Notification

14 of 15

הנה קוד ל-AlarmManager

אשר מפעיל הודעה בזמן מסוים

AlarmManager+Notification

15 of 15

הנה קוד ל-AlarmManager

אשר מפעיל הודע אחרי פרק זמן מסוים

AlarmManager+Notification