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