תכנון ותכנות מערכות טלפונים חכמים
תחת מערכת ההפעלה אנדרואיד
תאריך.20219.1:
1
תוכן עניינים
הקדמה4 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 :
מטרות ביצועיות4 22222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 :
דרישות קדם5 22222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 :
חלוקה השעות ושעות הפרויקט5 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 :
כיתה י"א ,פרקים6 2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 :
פרק : .סקירה ,מה זה ה"אנדרואיד" 7 22222222222222222222222222222222222222222222222222222222222222222222222222222?Android
פרק : 1תכנות מונחה עצמים בשפת JAVAחלק :.הורשה ,מחלקות מופשטת ,ממשקים ,פולימורפיזם0 2 2
פרק : 3אוספים .1 22222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
פרק : 4חריגות .3 2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
פרק : 5מבוא ליישום/אפליקציה :פעילות.5 22222222222222222222222222222222222222222222222222222222222222222222222 Activity /
פרק : 6ממשק משתמש :UI-User Interfaceרכיבים ותבניות .7 2222222222222222222222222222222222222222222222222222222
פרק : 7תכנות מונחה אירועים ושימוש במחלקה פנימית 19 222222222222222222222222222222222222222222222222222222222222222222
פרק : 8מסרים 11 22222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 Intents
פרק : 0רכיבים מתקדמים :תפריט ,תיבת דו-שיח ,הודעות Status barוטיפול באירועים 15 222222222222222222
פרק : .9משאבי האפליקציה 17 222222222222222222222222222222222222222222222222222222222222222 Application Resources
פרק : ..אחסון ניתונים 10 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 Data Storage
פרק : .1תכנון וניתוח אפליקציות ,ניתוח בשיטת ,UMLתאור מסכים ,תרשים זרימה 3. 222222222222222222222222
כיתה י"ב ,פרקים33 22222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 :
פרק .3ספקי תוכן 34 22222222222222222222222222222222222222222222222222222222222222222222222222222222222222 Content Providers
פרק : .4תהליכים ותהליכונים (36 2222222222222222222222222222222222222222222222222222222222222 )Threads & Processes
פרק .5שירות 30 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 Service
פרק : .6מקלט שידורים BroadCast Recieverו 4. 22222222222222222222222222222222222222222222222222222 2App Widget
פרק : .7טלפוניה 43 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
פרק : .8רכיבים מתקדמים:מולטימדיה ומצלמה ,חיישנים ,GPS ,מפות45 22222222222222222222222222222222222222222 2
פרק : .0גרפיקה ואנימציה 47 22222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
פרק : 19הנחיה והגשת עבודת גמר 59 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
ההבדלים בין רמת העבודה 5,3,.יח"ל53 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 :
פרויקט גמר ברמה של .יח"ל53 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 ,
פרויקט גמר ברמה של 3יח"ל53 22222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 ,
עבודת גמר של 5יח"ל53 2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 ,
משימות ולוח זמנים 55 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
משימות ולוח זמנים לביצוע הפרויקט (י"ב) 55 222222222222222222222222222222222222222222222222222222222222222222222222222222222
גיליונות ההערכה בתכנון ותכנות מערכות טלפונים חכמים תחת מערכת ההפעלה אנדרואיד 56 2222222222222222
דברי הסבר 56 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
גיליון הערכה לעבודת גמר 5יח"ל ,בתכנון ותכנות מערכות טלפונים חכמים תחת מערכת ההפעלה
אנדרואיד 57 22222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
2
גיליון הערכה לפרויקט/עבודת גמר 3יח"ל ,בתכנון ותכנות מערכות טלפונים חכמים תחת מערכת
ההפעלה אנדרואיד 69 2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
גיליון הערכה לפרויקט/עבודת גמר .יח"ל ,בתכנון ותכנות מערכות טלפונים חכמים תחת מערכת
ההפעלה אנדרואיד 63 2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
מפרט הגשת פרויקט/עבודת גמר ,תכנון ותכנות מערכות טלפונים חכמים תחת מערכת ההפעלה
אנדרואיד66 2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 2
3
הקדמה:
החלופה תכנות תחת מערכת ההפעלה אנדרואיד באה לתת מענה במערכת החינוך הבית ספרית
לחידושים ולהתקדמות בעולם בתחום הטלפונים החכמים ,ולחשוף תחום זה בפני התלמידים
מגיל צעיר ,במדינה שכלכלתה נשענת על תעשיית ההי-טק2
הטלפון החכם היום נחשב לתחום הגדול ביותר בעולם ,טלפון חכם שנחשב למחשב לכל דבר ,עם
יכולות ומאפיינים העולים על המחשב הרגיל כמו התוספות הקשורות לטכנולוגית התקשורת
( ,)GSM, WIFI, GPS,BTחיישנים ,מסך מגע ועוד2
מערכת ההפעלה אנדרואיד נבחרה להיות מערכת ההפעלה של מכשירים חכמים ע"י עשרות
חברות הי-טק ,ומהן ענקיות הטכנולוגיה והתקשורת כמו Google, HTC, Intel, LG, Motorla,
,Toshipa,Vodafone, T-Mobile Nvidia, Samsung, Sony Ericssonשמאוגדים תחת ברית
2Open Handset Alliance -OHAבהובלת חברת 2Google
אנדרואיד הינה מערכת הפעלה עם קוד פתוח שהליבה שלה הינה ליבת לינוקס 2המכונה
הוירטואלית הייחודית שלה שנקראת ה DALVIK -הינה האחראית על ריצת יישומים שלה,
אותם יישומים נכתבים בשפת JAVAעם החבילות הייחודיות למערכת האנדרואיד 2יישומים אלו
מאופיינים כ" -חבילת אנדרואיד" ( )Android Packageבקיצור 2APKחברת גולל בחרה בסביבת
הפיתוח ECLIPSEלסביבת פיתוח היישומים בשפת ,JAVAכך שמפתחת כלים ותוספים
המיוחדים לסביבת פיתוח זו כגון ה 2ADT Pluginגם כן ניתן לתכנת גם בסביבת NETBEANS
עם התוסף המתאים לאנדרואיד2
מטרות ביצועיות:
מטרת ההתמחות :להקנות לתלמידים כלים לפתח יישום בממשק משתמש גראפי בשפת ,Javaעל
פי עקרונות הנדסת תוכנה ,הרצות על מכשירים חכמים וטאבליטים ,תחת מערכת ההפעלה
"אנדרואיד" של "גוגל"2
התלמיד יסביר את העקרונות המתקדמים בפיתוח תוכנה בשפת תכנות מונחת עצמים2
התלמיד יפתח תכניות הכוללות תכנות מונחת אירועים2
התלמיד יסביר ולהשתמש בתהליכים בתכנות מקבילי2
התלמיד יסביר את מאפייני התוכנה שרצה על מכשירים חכמים2
התלמיד יסביר ויפרש את הייחודיות של מערכת ההפעלה "אנדרואיד של "גוגל" והמבנה
שלה2
התלמיד יסביר את עקרונות המכונה הוירטואלית ותפקידה וה DAVLIK -כדוגמא2
התלמיד יכתוב ממשק משתמש הגרפי מתקדם בהיקשר של ה"אנדרואיד" 2
התלמיד יפתח תכניות הכוללות שימוש בתכנות מונחה אירועים2
4
התלמיד יזהה ויאפיין את הרכיבים המתקדמים כגון :מצלמה ,מיקריפוןGPS, BT ,
וחיישנים2
התלמיד יכתוב אפליקציה בשפת ג'אווה למכשירים המופעלים ע"י מערכת ההפעלה
"אנדרואיד" של "גוגל"2
דרישות קדם:
התלמיד סיים את שלוש יח"ל הלימוד במדעי המחשב "יסודות מדעי המחשב" בהצלחה (שאלון
2)800399כלומר את הבחינה בכתב +בחינת המעבדה2800111+800.17 2
חלוקה השעות ושעות הפרויקט:
מעצם טבעה של תוכנית לימודים זו ,נדרשת התנסות רבה של התלמיד בעבודה מעשית 2חלקה
המעשי של התוכנית הינה 67%מסך השעות הנלמדות בכיתות יא-יב 2חלקה העיוני של התוכנית
הינו 33%מסך השעות הנלמדות בכיתות יא-יב2
שעות הלימוד העיוניות ושעות ההתנסות צריכות להיות משולבות זו בזו2
שימו לב ,כי הנושא "הנחיית פרויקט" נכלל בשעות ההתנסות2
הערכה לביצוע פרויקט צריכה להיעשות ע"י מורה תוך כדי למידה של נושאי הלימוד השונים
במסגרת שעות התנסות
חלוקה מומלצת:
כיתה י"א – .89שעות ( 6ש"ש )
כיתה י"ב – 179שעות ( 0ש"ש )
אנו מאפשרים חלוקה פנימית של ביה"ס
5
כיתה י"א,
פרקים:
פרק
מס'
1
2
3
4
5
6
7
8
9
10
11
12
שעות
עיוני
.
שעות
מעשי
1
סה"כ
3
תכנות מונחה עצמים בשפת JAVAחלק :.הורשה ,מחלקות
מופשטת ,ממשקים ,פולימורפיזם2
אוספים
חריגות
מבוא ליישום/אפליקציה :פעילותActivity /
ממשק משתמש :UI-User Interfaceרכיבים ותבניות
טיפול אירועים ושימוש במחלקה פנימית
מסרים Intents
תפריט ,תיבת דו-שיח,הודעות Status barוטיפול באירועים
משאבי האפליקציה Application Resources
אחסון נתונים Data Storage
.1
1
.
3
.9
3
4
5
3
.1
14
4
1
6
19
6
8
.9
6
14
36
6
3
0
39
0
.1
.5
0
36
תכנון וניתוח אפליקציות ,ניתוח בשיטת ,UMLתאור מסכים,
תרשים זרימה2
סך הכול שעות לימוד
4
06
8
026
.1
086
נושא לימוד
סקירה :מה זה ה"אנדרואיד" ?Android
6
פרק : 0סקירה ,מה זה ה"אנדרואיד" ?Android
יעדים :היכרות וסקירה כללית למערכת ההפעלה אנדרואיד2
תכנים:
משמעות המילה אנדרואיד :הוא יצור מלאכותי (בדרך כלל רובוט) הדומה בצורתו
ובהתנהגותו לבן אדם 2מקור המונח ביוונית" :אנדרו" = גבר" ,איד" = דמוי)
היסטוריה:
אנדרואיד הינה מערכת הפעלה מבוססת לינוקס המיועדת לטלפונים ניידים שפותחה ע"י
חברה סטארט-אפ קטנה ( ,)Android incשמיקומה בפלורידה 2נרכשה בשנת 1995ע"י
חברת גוגל ,ב 5/../1997הוקמה ברית Open Handset Alliance -OHAשכללה
חברות גדולות בעולם בתחום האלקטרוניקה ,התקשורת והסילולר בהובלת חברת גוגל,
אפשר למנות חלק מהן ( Google, HTC, Intel, LG, Motorla, Nvidia, Samsung,
)Toshipa,Vodafone, T-Mobile Sony Ericssonועוד עשרות אחרות2
ארכיטקטורת אנדרואיד:
האפליקציות ,Applicationsמסגרת העבודה ,Frameworkהספריות ,Libraries
מכונה וירטואלית ,Runtime-Core Library, Davlik VMליבת לינוקס Linux
2Kernel
ג'אווה והאנדרואיד2
היישום באנדרואיד :קובץ ה 2APK
גרסאות וההבדלים המהותיים2
אנדרואיד מרקט (2)Android Market
היכרות בהתקנה ושימוש ב 2Android SDK
התנסות במערכת ע"י הסימולאטור של אנדרואיד ה ,AVD-Android Virtual Device
ומערכת הניהול שלהם 2AVD Manager
מטרות ביצועיות:
התלמיד יתאר מידע כללי על מערכת האנדרואיד2
התלמיד יסביר את מרכיבי מערכת האנדרואיד2
התלמיד יתקין את SDK Managerלהתקנת מערכת האנדרואיד הגרסאות שונות2
התלמיד יתנסה ביצירת סימולטור אנדרואיד ע"י 2AVD Manager
יתנסה במערכת האנדרואיד ע"י ה 2AVD
התלמיד יזהה את שוק היישומים של מערכת האנדרואיד 2
7
דרכי הוראה:
מטרת הפרק לתת סקירה כללית ואינפורמציה על מערכת ההפעלה אנדרואיד ,אפשר
להעבירה במצגת ובאתר האינטרנט הרשמי של אנדרואיד2
דרכי הערכה:
בחינת בכתב -ידע כללי2
חלוקת שעות:
נושא
סקירה כללית היסטוריה ,ארכיטקטורת
אנדרואיד וכו'
שעות
שעות
עיוני
מעשי
.
.
1
התנסות ב SDK Managerו AVD
סה"כ
1
Manager
.
סה"כ שעות:
8
1
3
פרק : 2תכנות מונחה עצמים בשפת JAVAחלק :0הורשה ,מחלקות
מופשטת ,ממשקים ,פולימורפיזם.
יעדים :הכרת מושגי יסוד של תכנות מונחה עצמים מתקדם ,הורשה ,פולימורפיזם ,ממשקים,
מחלקה מופשטת ,המרה כלפי מעלה וכלפי מטה ,דריסת פעולות ,זימון פולימורפי2
תכנים:
הורשה:
הורשה – מייצגת חלוקה היררכית טבעית-אנושית :תהליך של מיון וסיווג היררכי 2ייצוג
היחס "סוג של" (2 )is a
הורשה בג`אווה ( –)single inheritanceהתוספת extendsבכותרת המחלקה,
מחלקת-על ( )super classותת-מחלקה ( ,)sub classהרשאת הגישה מוגן –
2protected
הורשה – מה עובר? שיטות בונות ,השימוש ב super-לגבי שיטה רגילה ולגבי
קונסטרוקטור2
דריסה (הגדרה מחדש) של שיטות – 2overriding
הורשה מהמחלקה הראשונה – 2Object
הורשה כתומכת ברעיון הסתרת מידע ,שימוש חוזר בקוד2
פולימורפיזם – רב צורתיות :היתרון ,העוצמה של הרעיון והשימוש בו2
זימון פולימורפי של שיטות ,המרה למעלה ( ,)up castingהמרה למטה ( down
2)casting
האופרטור ,instanceofתוך הדגשת צמצום השימוש בו לטובת רעיון הפולימורפיזם2
מחלקות עוטפות – הדרך להפוך טיפוסים בסיסיים לאובייקטים2
ממשק :interface
ממשק כמגדיר התנהגות ומייצג את היחס "מתפקד כ( 2"-לעומת "סוג של" בהורשה)2
ממשק אינו מחלקה :הוא מגדיר טיפוס אך אינו משמש כתבנית ליצירת עצמים2
הממשק כמגדיר חוזה 2כל מחלקה המעוניינת לממש את הממשק – חייבת לממש את כל
המפורט בחוזה 2חובות וזכויות המחלקות המממשות2
הממשק בג`אווה :תוספת ה implements-לכותרת מחלקה המממשת את הממשק2
הורשה בין ממשקים 2מימוש מרובה של ממשקים2
ממשקים בשירות הפולימורפיזם2
מחלקות מופשטות:
9
הגדרת הצורך בהגדרת מחלקות מופשטות :המחלקה המופשטת כמגדירה רעיון שאינו
ניתן למימוש וליצירת עצמים בשלב נתון2
המחלקה המופשטת בג`אווה :כותרת המחלקה 2מימושים חלקיים 2הגדרת שיטות
מופשטות 2שיטות בונות2
המחלקה המופשטת כמגדירה חוזה 2כל מחלקה המעוניינת לממש את המחלקה – חייבת
לממש את כל המפורט בחוזה 2חובות וזכויות המחלקות המממשות 2הגדרה מחדש
במחלקות היורשות 2ש במחלקות היורשות2
מחלקות מופשטות בשירות הפולימורפיזם2
תרשים UMLלתיאור מחלקות ,מחלקות מופשטות וממשקים והקשרים האפשריים
ביניהם2
מטרות ביצועיות:
התלמיד יזהה ולהבדיל בין ירושה להרכבה בין נחלקות2
התלמיד ייתנסה בביוצע ירושה ממחלקה קיימת2
התלמיד ייתנסה בביצוע ירושה2
התלמיד יסביר את מהות ותפקיד הממשקים (מאזיונים לדוגמא)2
התלמיד ייתנסה ביצירת ממשקים ושימוש בהם2
התלמיד ישתמש ויסביר במחלקה המופשטת והשיטות המופשטות2
התלמיד יתאר ע"י תרשים UMLאת היחסים האפשריים בין המחלקות ובין המחלקות
והממשקים2
התלמיד יי תנסה בשימוש בפולימורפיזם וזימון פולימורפי :בשימוש בירושה ,או במימוש
ממשק2
דרכי הוראה:
בהוראת הורשה מומלץ להתחיל את זה ע"י דוגמאות קרובות לתפיסת התלמידים כמו
היחס בין בעלי חיים ,בעלי חוליות ,חסרי חוליות ,יונקים ,עופות ,דגים וכו' 2מומלץ
להשתמש במצגות היחידה החמישית תכנות מונחה עצמים של האוניברסיטה העברית2
לתרגל עם התלמידים זיהוי היחס בין מחקלות ע"י שימוש "סוג של" ו "מורכב מ",
ולתאר את היחס ב 2UML
לתרגל עם התלמיד את התחביר לכתיבת ההורשה לפחות פעם אחת ,ולתת עבורו תרשים
UMLהמכיל יחסי הורשה והרכבה 2לתת לתלמיד לממש את התרשים במחברת ובמחשב2
אחרי המימוש במחשב התמידים ייצרו מחלקה עם פעולה ראשית לביצוע בדיקה למה
שנכתב ,ולהתנסות מעשית בהמרה כלפי מעלה (פולימורפיזם) והמרה כלפי מטה
ומשמעותה2
11
לחזור על הדברים תוך שימוש במחלקה מופשטת 2כגון שימוש במחלקה "צורה" והפעולה
המופשטת כדי לחשב שטח 2יש לבקש מהתלמיד ליצור מחלקות מלבן ,ריבוע ומעגל
כהרחבה של המחלקה "צורה" ולבצע דריסה לפעולת חישוב השטח2
בשלב זה אפשר להתנסות באופן מעשי ומוחשי את הזימון הפולימורפי על מערך של
צורות2
לגבי ממשקים ניתן לייצר ממשק בשם AreaAbleשמכיל פעולת ממשק לחישוב שטח
לבקש מהתלמיד לצור מחלקות מלבן ,ריבוע ומעגל שממששים ממשק זה ולבצע דריסה
לפעולת חישוב השטח2
בשלב זה אפשר להתנסות באופן מעשי ומוחשי את הזימון הפולימורפי על מערך מטיפוס
2AreaAble
דרכי הערכה:
בחינת מעבדה בה יתבקש התלמיד לממש על המחשב תרשים UMLוממשק מחלקות
נתון ,ומחלקה בדיקה תוך רישום דרישות ברורות 2המבחן יכיל שאלות הבנה שיכול
לבדוק את הטיעונים מעשית מול המחשב2
חלוקת שעות:
שעות
עיוני
נושא
שעות
מעשי
סה"כ
הורשה
6
.1
.8
ממשקים
4
8
.4
מחלקה מופשטת
1
4
6
סה"כ שעות:
.1
14
36
11
פרק : 3אוספים
יעדים :היכרות עם מבני נתונים ואוספים המובנים במערכת האנדרואיד וההבדלים ביניהם2
תכנים:
אנדרואיד תומכת במגוון אוספים גנריים ,שכולל מחלקות ,מחלקות מופשטות וממשקים
למימוש אוספים לפי הצורך2
> 2ArrayList<Eאוסף שממש את Listומתנהג כמערך 2מבנה דומה >,Vector<E
כמו ArrayListשמוגן גישה ע"י 2 synchronized
> :HashMap<K, Vמחלקה המממשת את הממשק מפה ,משחזיקה את הנתונים
בשיטת מפתח/ערך2
מטרות ביצועיות:
התלמיד יסביר את תפקיד ויזהה את ההבדל בין האוספים2
התלמיד יתנסה בשימוש באוספים הגנריים2
התלמיד יכתוב קוד שיבצע :הוספה ,חיפוש ,עדכון ומחיקה מכל סוג של האוספים2
דרכי הוראה:
לבנות מחלקה שמנהלת נתונים ,כגון :ניהול ספר טלפונים2
ליישם את הדוגמא ב > ArrayList<Eאו > Vector<Eו > HashMap<K, Vולעמוד על
יתרונות וחסרונות כל יישום2
דרכי הערכה:
מטלת ביצוע ,לניהול ניתונים לפי בחירת התלמיד כגון :ניהול עבודות בית ,ציוני תלמיד
(תעודה) ,נוכחות תלמידים ,ציוני תלמידים (כיתה) ועוד'2
חלוקת שעות:
שעות
עיוני
נושא
שעות
מעשי
סה"כ
>Vector<E> ,ArrayList<E
.
1
3
>HashMap<K, V
.
1
3
סה"כ שעות:
1
4
6
12
פרק : 4חריגות
יעדים :שגיאת זמן ריצה או החריגה ,סוגי החריגות ,הטיפול בחריגות2
תכנים:
חריגות Exceptionמה היא חריגה :שגיאה מול חריגה2
חריגה היא עצם,המחלקה 2Exception
טיפול בחריגות בגאווה2throw, try.. catch.. finally 2
חריגות מוגדרות מראש ,כל החריגות הן סוג של 2Exception
מטרות ביצועיות:
התלמיד יתנסה בקיום ויסביר את משמעות החריגה2
התלמיד יטפל בחריגה ע"י תפיסתה באמצעות הבלוקים של try.. catch.. finally
ויסביר את משמעות מילות שמורות אלו2
התלמיד יטפל בחריגה ע"י זריקה של חריגה באמצעות 2throw
התלמיד יבחין בכדאיות או הכרחיות של טיפל בחריגה ע"י try.. catch.. finallyאו
זריקתה ע"י 2throw
התלמיד יזהה את הפעולות הקיימות ב APIשזורקות חריגות2
דרכי הוראה:
לבצע חריגות מכוונות כמו :גלישה מתחום מערך ,חלוקה באפס ,גישה להפניה שהינה
2null
לזהות איך המערכת והיישום מגיבים ללא טיפול בחריגות ,ואחר כך להוסיף טיפול ע"י
,try.. catch.. finallyולעמוד על ההבדלים והתוצאות2
לבצע טיפול באחת החריגות ע"י זריקה לפחות 1רמות עד להגעה למחלקה שיכולה
להשתמש בממשק משתמש גרפי כדי להודיע על החריגה ואופן הטיפול בה2
דרכי הערכה:
בחינה עיונית/מעשית הכוללת קוד עם סיכוי של חריגות ,ושימוש בפעולות שזורקות
חריגות ,על התלמיד לכתוב ולטפל בחריגות האפשריות ובחריגות שנזרקות ע"י הפעולות
הנתונות 2התלמיד יכין עבודה בבית ויגן בכיתה2
13
חלוקת שעות:
שעות
עיוני
נושא
המחלקהthrow, try.. ,Exception ,
.
שעות
מעשי
1
סה"כ
3
2catch.. finally
.
סה"כ שעות:
14
1
3
פרק : 5מבוא ליישום/אפליקציה :פעילותActivity /
האפליקציה באנדרואיד נכתבת בשפת ג'אווה ועוברת הידור ע"י 2Android SDKוהתוצר מכיל
את כל הקוד המהודר כולל קבצי הנתונים והמשאבים בחבילה אחת בקובץ דחוס בסיומת apk
שהינה קיצור ל 2Android package
הפעילות או ה Activityמהרכיבים החשובים של היישום 2הפעילות מייצגת מסך ממשק משתמש
גרפי יחיד מהאפליקציה 2אפליקציה יכולה להכיל מספר של פעילויות 2לכתיבת פעילות צריך לבצע
הרחבה (ירושה) למחלקה Activity
יעדים :מבוא למהות היישום ,מבנה ,אבני היסוד ,משאבים ,קובץ
המניפיסט 2AndroidManifest.xmlמעגל חיי הפעילות ,המתודות המופעלות המעגל חיי
הפעילות2
תכנים:
אבני יסוד האפליקציה:
2Intent,Content provider , Broadcast receiver , Activity , Service
הרכיבים המרכזים שדרכן כותבים את האפליקציה 2נחשבים לנושאים המרכזיים
ויוסברו בהרחבה בהמשך 2האפליקציה שחיים בה רכיבים אלו נקראת הקשר היישום
( ,)Application Contextכך מאפשרת שיתוף נתונים ביניהם2
הגדרות האפליקציה2
מבוא למבנה קובץ המניפיסט 2 AndroidManifest.xmlהמכיל הגדרות עבור הפעלת
האפליקציה המציינים את היכולות ,דרישות והרשאות2
מבוא משאבי האפליקציה2Resources 2
הם צרכים חיצונים שנצטרך להם ביישום שלנו ,כגון תמונות ,מחרוזות ,צבעים ,סגנונות
ועוד 2כל אלה אמורים להימצא בתיקה המתאימה תחת תיקיית המשאבים בפרויקט "
"2res/
מעגל חיי הפעילות2
לכל פעילות מעגל חיים ,ומספר מצבים שעוברת דרכם במהלך חייה ,מרגע היצירה עד
הסיום 2מתחילה ממצב האתחול Startingומסתיימת במצב מושמד ,Destroyed
וביניהם יכולה להיות במצב ריצה ( Runningגם נקרא ,)Resumedמושהה Paused
או מופסק 2Stopped
מתודות/פעולות מעגל חיי הפעילות2
) )(( onCreate(), onStart(),onResume(),onPause(), onStop(),onDestroy
מתודות שתפקידן להעביר את הפעילות ממצב למצב ,הפעלת מתודות אלו במהלך ריצת
15
היישום מתבצע כתוצאה מצורכי המערכת ומהאינטראקציה עם המשתמש 2כדי לממשן
צריך לדרוס אותן בהרחבת המחלקה 2Activity
מטרות ביצועיות:
התלמיד יסביר את אבני היסוד של היישום ,קיום קובץ הגדרות חיוני ומשאבי היישום2
התלמיד ייצור פרויקט אנדרואיד בסביבת הפיתוח 2eclipse
התלמיד ייבחין ויזהה את מבנה היישום בסביבת הפיתוח 2eclipse
התלמיד יזהה וינמק את תפקיד הפעילות והבנת מעגל חייה כולל המעבר ממצב למצב,
ותפקיד המתודות המופעלות בכל מעבר2
התלמיד יתנסה בזיהו הפעולות המופעלות המעבר ממצב למצב2
דרכי הוראה:
לדון באבני היסוד ותפקידם תוך מתן דוגמאות 2לבקש מהתלמיד לצור פרויקט ולעקוב
אחרי מבנה הפרויקט ב 2eclipse
יועבר לתלמיד תרשים מעגל החיים של הפעילות שכולל את המצבים ושמות המתודות
המופעלות בכל מעבר ממצב למצב 2חשוב שתתבצע דוגמא מעשית תוך שימוש בפלט של ה
Logcatלזיהוי זימון פעולה מסוימת במעגל חיי הפעילות2
דרכי הערכה:
בחינה מעשית שתכלול יכולת של התלמיד ליצור פרויקט ולזהות את מרכיביו2
בחינה בכתב בנושא מעגל חייה הפעילות והיתכנות כל מצב2
בחינת המעבדה בה מתבקש התלמיד לבצע דרישות הדפסה מסוימת במעבר ממצב למצב
ולהבחין שהינו יכול לזהות מתי פועלת כל פעולה2
חלוקת שעות:
שעות
עיוני
נושא
שעות
מעשי
סה"כ
אבני יסוד האפליקציה ,וקובץ ההגדרות
.
1
3
מבנה הפרויקט ,קובץ ההגדרות והמשאבים
.
.
1
מעגל חיי הפעילות2
.
3
4
סה"כ שעות:
3
6
0
16
פרק : 0ממשק משתמש :UI-User Interfaceרכיבים ותבניות
ממשק משתמש גרפי באנדרואיד מורכב מרכיבים גרפיים שנקראים Viewו 2ViewGroup -כל
הרכיבים הגרפיים הם תתי מחלקה של Viewשנקראים גם וידג'טים ( 2)widgetsלשימוש
ברכיבי ה UIבאנדרואיד ניתן בשתי אפשריות 2הראשונה "תכנותית " ע"י קוד ג'אווה כמו
שניעשה ב Java AWTוהשנייה הצהרתי ע"י קובץ 2XML
יעדים :שימוש ברכיבי ,UIשמירת מצב הפעילות ו טיפול בשינוי תצורה 2תבניות UIב XML
לסידור רכיבים ,קישור עם הפעילות ,רכיבי UIשימושיים והפלטה של 2Eclipse
תכנים:
ממשק משתמש ( )UIע"י קובץ תבניות XMLה2XML Layouts -
שימוש במשאב תבנית XMLמקוד 2JAVA
מאפיינים ופרמטרים בקובץ תבניות 2 XML
:Form Widgetsשכוללת רכיבים של הצגת טקסט ,מקשים לסוגיהם ,ציר התקדמות,
סרגל דירוג וכו'
שדה טקסט :קיימים כמה סוגים ואופציות של שדות טקסט לפי גודל ויעוד שדה
הטקסט2
לחצנים למיניהם2
תמונה ומידיה :רכיב תמונה ImageViewוכפתור תמונה ,ImageButtonרכיב וידאו
2VideoView
סידור ממשק המשתמש ע"י תבניות2
קיימות מספר אופציות לסידור ממשק המשתמש שמספקת אותם אנדרואיד ע"י
המחלקות שמגדירות סוגי התבניות:
AbsoluteLayout,FrameLayout,LinearLayout,
2RelativeLayout,TableLayout
מיקום הפריסה ,גודל ,ריפוד ושוליים2
שמירת מצב הפעילות2
במעבר מפעילות לפעילות אחרת שגורם למעבר ממצב למצב ,לפעמים יש צורך בשמירת
מצב הפעילות הנעלמת מהמסך 2מהכלים והפעולות שעוזרים בשמירת המצב:
2onSaveInstanceState(), setSaveEnabled() ,android:saveEnabled
טיפול בשינוי תצורה2
חלק מהמכשירים עוברים שינוי תצורה בזמן ריצת פעילות מסוימת ,כגון שינוי כוון
המסך או הצגת/הסתרת מקלדת ,שינוי שפה וכו' 2תגובת המערכת בדרך כלל לשינויים
17
כאלה ע"י השמדה ויצירה מחדש של הפעילות (ע"י זימון () onDestroyומיד
זימון () 2)onCreateלהשפעיה על שינויים כאלה צריכים לממש את
הפעולות ()2onRestoreInstanceState(),onSaveInstanceState
מטרות ביצועיות:
התלמיד יבנה ממשק משתמש גרפי ע"י תבנית 2 XML
התלמיד יבצע שימוש בתבנית ה UIמקוד גאווה כמו הצגת התבנית קבלת הפניות על
רכיבי הממשק ,ועוד2
התלמיד ישתמש בלפחות שלוש מהרכיבים הגרפיים ל 2UI
התלמיד יאתר רכיבים שלא למד וילמד איך להשתמש בהם ע"י ממשק כל רכיבי2
התלמיד ישתמש ברכיבי ממשק משתמש גרפי פשוטים שיוצר אותם ע"י קוד 2JAVA
התלמיד ישתמש ויסביר שיטות לשמירת מצב (נתוני) הפעילות אחרי ביצוע שינוי על הצגת
כגון סיבוב המכשיר ,הצגת והעלמת מקלדת וכו'2
דרכי הוראה:
להתנסות עם התלמידים בכתיבת ממשק פשוט בשתי השיטות התכנותית בשפת JAVA
וההצהרתית ב תבנית ,XMLולימוד על ההבדל בין בשתי האופציות בפרט כשאר רוצים
לבצע סידור לרכיבים ומתן ערכים לתכונות של כל רכיב והיתרון של כתיבה בתבנית
XMLשני מקרים אלו ,אבל אי אפשר לוותר על הקוד ב JAVAלצורך טעינת והצגת
התבנית וטיפול באירועים ובתכני רכיבי ה UIהאמורים להשתנות כתוצאה
מהאינטראקציה עם המשתמש2
לצורך התנסות מעמיקה צריך לבצע דוגמא מעשית שכוללת בניית ממשק בעזרת תבנית
XMLשכוללת לפחות שדה קלט ,שדה טקסט לדוגמא ,וכפתור 2אפשר לקחת דומא
לחישוב ה BMIשכוללת שני שדות טקסט לקלט הגובה והמשקל ,כפתור לצורך ביצוע
החישוב וטקסט להצגת התוצאה 2אפשר לשדרג את הדוגמא ע"י הוספת תמונות
המתאימות לתוצאות או צבעים וכו'2
דוגמאות נוספות כמו מחשבון והמרת מטבעות 2התלמיד יתנסה בבניית אותו ממשק
בסידורים (תבניות שונות)2
לתרגל עם התלמידים איתור רכיב גרפי באמצעות הפלטה ( )Paletteשל רכיבי ה UI
שמספקת אותם eclipseבזמן עריכת תבנית 2XMLומשם לאתר את התיעוד והממשק
או לחפש את ממשק הרכיבים באתר הרשמי של האנדרואיד
2http://developer.android.com
18
כדי לזהות שמירת/איש שמירת מצב צריך לבצע תרגיל של פעילות שמכילה לפחות שדה
טקסט אחד ,במהלך הניסוי תתבצע כתיבה לתוך הדשה ,ביצוע שינוי תצורה כמו סיבוב
מסך2
דרכי הערכה:
בחינה מעשית לבניית ממשק משתמש שהמורה מצייר או מראה אותו (עבודת בית עם
הגנה בכיתה)2
להוסיף שורות קוד המאפשרות שמירת הנתונים שכבר הוכנסו לממשק המשתמש בזמן
שינוי מצב המסך מאנכי לאופקי2
חלוקת שעות:
נושא
תבניות XMLשימוש במשאב תבנית
שעות
עיוני
שעות
מעשי
סה"כ
5
.9
.5
XMLמקוד JAVAורכיבי ממשק
סידור הממשק ע"י תבניות2
4
8
.1
שמירת מצב הפעילות בשינוי תצורה2
.
1
3
סה"כ שעות:
.9
19
39
19
פרק : 7תכנות מונחה אירועים ושימוש במחלקה פנימית
האינטראקציה בין המשתמש ליישום מתבצעת דרך מנגנון האירועים ,מערכת האנדרואיד מדווחת
ליישומים ולרכיבים הגרפיים על אירועים ששמתרחשים והקשורים לאותו רכיב2
יעדים :טיפול באירוע לחיצה ע"י ,XMLאירועים ומאזינים2
תכנים:
אירועים : Events
כאשר מתרחש אירוע בממשק המשתמש ,הפריט ( ) Viewהקשור לאירוע הוא האחראי
ללכוד ולטפל באותו אירוע ,ומערכת האנדרואיד והרכיבים בנויים לכך2
מאזינים:
הינם ממשקים המהווים חלק מה ,) View( -כדי לבצע טיפול באירוע צריך לממש את
המאזין המתאים ודריסת שיטת התגובה ומהם:
View.OnClickListener,View.OnLongClickListener,
,View.OnFocusChangeListener, View.OnKeyListener
View.OnTouchListener, View.OnCreateContextMenuListener
מחלקות פנימיות( )Inner Classesוהרשאות גישה2
מימוש מאזין כמחלקה פנימית2
מטרות ביצועיות:
התלמיד יתכנת תגובה לאירוע לחיצה בשיטת 2XML
התלמיד יסברי את תהליך הטיפול באירוע :אירוע מאזין תגובה2
התלמיד יתכנת תגובה לאירועים המטופלים ע"י מאזינים ( 1מאזינים לפחות) 2על פי
השלבים :יצירת המאזין רישום/הצמדת המאזין לרכיבכתיבת התגובה2
התלמיד יתנסה ביצירת אובייקט מאזין :ה Activityמממשת מאזין ,מחלקה פנימית
כמאזין ,יצירת עצם מאזין בשורה (2)Inline
דרכי הוראה:
להמשיך את הדוגמאות והתרגילים הקודמים מפרק ממשק משתמש גרפי (,BMI
מחשבון ,ממיר מטבעות וכו') להוסיף אירועים שונים בשיטות שונות2
21
דרכי הערכה:
מטלה ביצועית במעבדה או בבית לפעילות עם ממשק משתמש שמגיב לאירועים :כמו
מחשבון ,הגרלות ,אלבום תמונות וכו'2
חלוקת שעות:
שעות
עיוני
שעות
מעשי
סה"כ
טיפול באירוע לחיצה בשיטת XML
.
.
1
בניית מאזינים :פעילות ממשת ,מחלקה
1
5
7
נושא
פנימית ויצירת מאזין בשורה2
3
סה"כ שעות:
21
6
0
פרק : 8מסרים Intents
הרכיבים העיקריים של האפליקציה ,activities, servicesו broadcast receivers -מופעלים
ע"י מסרים שנקראים 2intentsה intentנחשב לכלי קשירה בזמן ריצה בין רכיבים אלו ששיכים
לאותו יישום או ליישומים שונים ,ומהווה מנגנון משלוח מסרים/נתונים 2מהשימוש הנפוצים שלו
מעבר מפעילות (מסך) לפעילות אחרת ,הפעלת שירותים servicesועוד אחרים הקשורים
לרכיבים שנלמד בהמשך ואז יפורט ויודגש השימוש ב 2intent-לדוגמא על ידי מסר ,פעילות יכולה
לבקש להפעיל פעילות אחרת2
יעדים :תפקיד העצם ,Intentסוגים , Implicit, Explicit:ומסנני מסרים ,Intent filtersפעילות
מחזירה תוצאה 2Activity for Result
תכנים:
העצם :Intentהינו עצם משייצג מבנה נתונים מופשט ,ונראה כחבילה של מידע
שמעניינת את מקבל המסר ,ובנוסף מידע שמעניין את מערכת האנדרויד 2מהם :שם
הרכיב Component nameשמטפל ב ,Intentהפעולה Actionועוד2
מרכיבי ה , Category , Data ,Action Name , Component Name:Intent
.Flags ,Extra
Explicit Intentאו מסר מפורש ,בסוג זה מציינים במפורש את הרכיב שאמור להיקרא
על ידי מערכת האנדרואיד ,באמצעות המחלקה ב JAVAכמזהה2
אפשר להוסיף נתונים למסר ע"י הפעולה ;)putExtra(key,value
זימון פעילות ע"י מסר מפורש ,מתבצע ע"י זימון פעולות ההקשר המזמין (פעילות ,שירות
וכו') ) startActivity(Intentו )2startActivityForResult(Intent
Implicit Intentמסר המרומז ,לא מציינים את המחלקה ב JAVAשאמורה להיקרא
אלא מציינים את הפעולה שאמורה להתבצע 2ייתכן עוד URIשישמש את הפעולה2
העברת וקבלת נתונים ב Implicit Intentמסר המרומז ,הרכיב שמקבל את המסר יכול
לקבל את הנתונים מהמסר ע"י פעולות אחזור
()gettersלדוגמא )( getExtars() getAction() ,getDataועוד2
מסנני המסרים :Intent filtersתפקידם ליידע את המערכת על איזו מסרים ()intents
מרומזים צריך לטפל 2כל מסנן מתאר יכולת של הרכיב ,איזו קבוצת מסרים
( )intentsמוכן לקבל2
מחסנית המשימות 2
פעילות מחזירה תוצאה ()Activity for result
22
מטרות ביצועיות:
התלמיד יסביר את משמעות המסרים ותפקידיהם2
התלמיד יסביר משמעות כל רכיב מרכיבי המסר2
התלמיד יתנסה בשני סוגי המסרים ויבחין ביניהם2
התלמיד יתנסה לנווט ממפעילות לפעילות אחרת באותו יישום בעזרת ( )intentsשני
הסוגים2
התלמיד יתנסה בשימוש במסנני המסרים 2שימוש במסנני מסרים קיימים או יצירת
מסננים מסרים משלו2
התלמיד יתנסה בזימון פעילות מחוץ ליישום כמו דפדפן ,בוחר תמונות ,בוחר איש קשר
וכו'2
התלמיד יתנסה בהעברת נתונים בין פעילויות2
התלמיד יתנסה בקבלת תוצאה מפעילות קיימת (לדוגמא בוחר תמונות)2
התלמיד יתנסה בניית פעילות שמחזירה תוצאה ,ובניית פעילות מפעילה את הפעילות
ומטפלת בתוצאה המוחזרת2)ActivityForResult( 2
התלמיד יתאר את מחסנית המשימות ואת התהליך המתבצע על כל פעילות בזמן הצגה
או העלמה מהמסך( 2אין צורך בשינוי או השפעה על מצב מחסנית המשימות)
דרכי הוראה:
ליצור שתי פעילויות ולבצע ניווט הדדי תוך שימוש במסרים והעברת נתונים וקריאתם2
כדי להמחיש את אחד מתפקידי המסרים2
ליצור דוגמאות בהן המסרים מזמינים פעילויות מחוץ ליישום2
לבצע דוגמא המשמשת מסנני מסרים קיימים ו/או יצירת מסנני מסר מלשו ולבצע שימוש
בהם2
לבצע הדגמה להעברת נתונים ע"י מסרים2
דרכי הערכה:
מטלת ביצוע מסכמת שמבצע אותה התלמיד בכיתה או בבית ,לדוגמא:
יישום שמכיל שתי פעילויות הראשונה עם ממשק של מספר שמייצג סכום כסף ושני שדות
ומציינים מהיכן היכן לבצע המרה2
הפעילות השנייה מופעלת למטרת תוצאה שמקבלת את הערכים מהפעילות הראשונה
שמבצעת המרה ומחזירה את התוצאה לפעילות המבקשת2
במעבר מפעילות הראשונה לשניה אפשר להדגים שני סוגי המסרים2
23
חלוקת שעות:
שעות
עיוני
שעות
מעשי
סה"כ
משמעות המסרים וסוגיהם וביצוע הדגמה
לכל סוג2
.
1
3
מסנני מסרים
.
1
3
פעילות למטרת תוצאה
1
4
6
סה"כ שעות:
4
8
.1
נושא
24
פרק : 9רכיבים מתקדמים :תפריט ,תיבת דו-שיח ,הודעות Status
barוטיפול באירועים
יעדים :תפריטים ,תיבות דו שיח ,הודעות Toatsושורת מצב2
תכנים:
תפריטים 2Context menu ,Options menu :Menus
טיפול באירועי התפריטים :דריסת ,onOptionsItemSelectedודריסת
onContextItemSelectedשל המחלקה 2Activity
תיבות דו שיח ,Custom Dialog ,ProgressDialog ,AlertDialog :Dialogs
2TimePickerDialog ,DatePickerDialog
טיפול באירועי תיבות הדו-שיח, DialogInterface.OnClickListener:
,OnTimeSetListener ,DialogInterface.OnMultiChoiceClickListener
2OnDateSetListener
הודעות :Notificationsהודעות טוסט ,Toast Notificationsהודעות שורת מצב
2Status Bar Notifications
טיפול באירוע בחירת הודעת שורת המצבsetLatestEventInfo :
מטרות ביצועיות:
התלמיד יתנסה ביצירת תפריטים לסוגיהם2
התלמיד יתנסה ביצירת תיבות דו שיח לסוגיהן2
התלמיד יתנסה ביצירת הודעות טוסט 2Toast Notifications
התלמיד יתנסה ביצירת הודעות שורת מצב ומימוש התגובה הקשורה בבחירת ההודעה2
דרכי הוראה:
בתפריטים :לצור פעילות המדגימה את שני סוגי התפריטים2
בתיבות דו שיח :לצור פעילות המדגימה את כל סוגי תיבות הדו שיח שנלמדו 2ומימוש
הטיפול באירועים הקשורים בתיבת הדו-שיח:
בהודעות שורת המצב ,לצור ממשק של שני כפתורים אחד מציג את ההודעה והשני מבטל2
ולצור תגובה לבחירת ההודעה שמעבירה אותנו למסך אחר2
25
דרכי הערכה:
מטלת ביצוע במעבדה או בבית המדגימה את כל מה שנלמד ,לנסות לשלב את החידושים
בדוגמאות ופרויקטים שנוצרו בפרקים קודמים ( פרק ממשק משתמש גרפי ופרק טיפול
באירועים)2
לדוגמא תוספת תפריטים ותיבות דו שיחשב ,BMIבמחשבון או ממיר המטבעות (ערך
ממטבע למטבע)2
חלוקת שעות:
שעות
עיוני
נושא
שעות
מעשי
סה"כ
תפריטים
.
1
3
תיבות דו שיח
1
4
6
הודעות
1
4
6
סה"כ שעות:
5
.9
.5
26
פרק : 06משאבי האפליקציה Application Resources
משאבי אפליקציה הם צרכים חיצונים שנצטרך להם ביישום שלנו ,כגון תמונות,
מחרוזות ,צבעים ,סגנונות ועוד 2כל אלה אמורים להימצא בתיקה המתאימה תחת תיקיית
המשאבים בפרויקט " 2" res/השיטה הזאת מאפשרת לנו להתאים את היישום שלנו לפי סוג
המכשיר ,שפה ,מצב מסך המכשיר (לפני או אחרי סיבוב)2
יעדים :היכרות סוגי המשאבים ,ארגונם בפרויקט תחת " ," res/שימוש בהם (במחלקה ,)R
יצירת סוגים שונים מהמשאבים2
תכנים:
אספקת המשאבים :Providing Resourcesסוגי המשאבים ,איפה לשמור אותם,
התאמת המשאבים לתצורות המכשיר2
גישה למשאבים :Accessing Resourcesאיך לגשת למשאבים ולהשתמש בהם ,אם
זה מקוד הג'אווה או ממשאב XMLאחר2
טיפול בשינויים בזמן ריצה :Handling Runtime Changesאיך לנהל ולהשתמש
במשאבים כאשר מתרחש שינוי תצורה בזמן שיישום שלנו בפעולה2
תבניות שפות :Localizationהצורך בהתאמת היישום ליותר משפה2
סוגי משאבים :Resource Typesאיך לכתוב ולהשתמש בסוגים השונים של
המשאבים ע"י רכיבי 2XMLמהסוגים הקיימים :מחרוזת ,Stringצבעי מצב Color
,State Listוכאלו הניתנים לאפשר לציור (תמונות או XMLוכו') ,Drawableפריסה
,Layoutתפריט ,Menuסגנון ,Styleהנפשה ,Animationוסוגים אחרים ידועים כמו
27Booleans,
arrays ,integers, dimensions, colorsוכו'2
מטרות ביצועיות:
התלמיד יתאר את המבנה של תיקיית המשאבים "2" res/
התלמיד יתאר את הקשר בין המשאבים ואת המחלקה Rשנוצרת באופן אוטומטי2
התלמיד ייצור ערכי טקסט כמשאב ,XMLואת הזיקה עם תבניות למספר שפות2
התלמיד ייצור תפריט ,צבעים ,מערכים ,ממדים 2dimensions
התלמיד ייצור הנפשה ב 2XML
27
דרכי הוראה:
פרק זה מרכז את סוגי המשאבים שהתלמיד השתמש בהם ולמד אותם בפרקים קודמים
או שילמד אותם בהמשך 2לכן אפשר ללמד פרק זה באופן נפרד או כתוספים לפרקים
המתאימים לסוג המשאב 2לדוגמא כשיוצרים פעילות אזי רצוי להרגיל את התלמידים
בשימוש בערכים של משאב המחרוזות Stringלארגן את ערכי הטקסט החזותיים
המשומשים במפעילות ,כשלומדים על התפריטים אז נלמד את המשאב של התפריטים,
כשלומדים יישומונים ( )App Widgetsאזי רוצוי ללמד את המשאב של ממדים
,dimensionsבפרק ההנפשות (אנימציות) נלמד את משאב ההנפשה 2את שאר הנושאים
יש ללמד באופן נפרד2
דרכי הערכה:
בחינה עיונית שבה יסביר התלמיד סוגים של המשאבים2
בחינת מעבדה שבה התלמיד מתבקש לצור מספר משאבים מסוגים שונים שבהם יצטרך
לשייך אותם לתיקיה המתאימה בתיקיית המשאבים "2" res/
חלוקת שעות:
שעות
עיוני
שעות
מעשי
סה"כ
מבנה תיקיית המשאבים וסוגיהם
1
1
4
יצירת וארגון סוגים שונים מהמשאבים
.
4
5
סה"כ שעות:
3
6
0
נושא
28
פרק : 00אחסון ניתונים Data Storage
מערכת האנדרואיד מספקת מספר אפשרויות לאחסון נתונים ,בחירת אופציית האחסון תלוי
בדרישות שלך ובצרכים של היישום ,כגון כמות הנתונים הנשמרים ,האם הנתונים הנשמרים
פרטיים ליישום או משותפים עם יישומים אחרים וכו'2
יעדים:שמירת העדפות/הגדרות ,אחסון פנימי ,אחסון חיצוני2 SQLite Database,
תכנים:
אחסון העדפות משותפות 2Shared Preferencesליישום בזיכרון המכשיר ע"י יצירת
ממשק משתמש מסך העדפות 2PreferenceActivity
אחסון העדפות משותפות באופן ידני ע"י ממשק כלשהו2
אחסון פנימי ( Internal Storageזכרון המכשיר) קריאה/כתיבה קבצים בזיכרון
הפנימי2
קריאת קובץ שנמצא במשאבי היישום 2Resource File
אחסון חיצוני ,External Storageכתיבה\ קריאה בהתקן אחסון חיצוני (SDCARD
לדוגמה)2
השימוש בהרשאות android.permission.WRITE_EXTERNAL_STORAGE :
אחסון בבסיסי נתונים :SQLite Databases
SQLiteהוא מסד נתונים קוד פתוח אשר מוטבע באנדרואיד2מאפשר אחסון וניהול
נתונים בעזרת שאלתות SQLשמספקת 2SQLite
המחלקות השימושיות ב ,SQLiteDatabase , SQLiteOpenHelper: SQLite
2ContentValues ,Cursor
הצגת נתונית בעזרת רשימה ,SimpleCursorAdapter ,: ListView
,ListViewפעילות רשימה 2ListActivity
טיפול באירועי לחיצה על פריט ברשימה ,OnItemClickListener
2OnItemLongClickListener
מטרות:
התלמיד יתנסה בבנית ממשק משתמש לשמירת הגדרות/העדפות 2Preferences
התלמיד יתנסה בשמירה ושחזר קבצים בזיכרון המכשיר ויתאר את מאפיינים שלם
שמירה זו2
29
התלמיד יבדוק קיום מדיה חיצונית במכשיר לשמירה נתונים בקצים ויתנסה בשמירת
ושחזור קבצים בזיכרון החיצוני ויתאר את מאפייני שמירה זו2
התלמיד יבנה טבלה במסד הנתונים SQLite Databaseולבצע :שליפה ,הוספה ,עדכון
ומחיקה 2שזה מתאפשר בשפת SQLאו במחלקות המקלות על השימוש במסד ניתונים
זה2
התלמיד יציג תוכן מסד ניתונים ע"י , ListViewבשימוש במתאם
2SimpleCursorAdapter
התלמיד יטפל באירוע לחיצה רגילה ו/או ארוכה על פריט ברשימה : ListView
2OnItemLongClickListener ,OnItemClickListener
דרכי הוראה:
לסקור בפני התלמידים את תכונות כל שמירה שכולל רמת הפרטיות והאבטחה 2את
הצורך לשימוש בכל שיטה2
לבצע דוגמא של שמירת שני נתונים "משתמש" ו"סיסמא" 2שמירת הנתונים נבצע במספר
שיטות כך התלמידים יחשפו לדרכי השימוש בכל שיטה2
דרכי הערכה:
מטלת ביצוע שדרכה מתבקש התלמיד לצור ממשק משתמש לטיפול במסד נתונים כולל
שמירה ,שליפה ,מחיקה ועדכון 2והצגת הנתונים ע"י רשימה 2 ListView
חלוקת שעות:
נושא
אחסון העדפות משותפות Shared
שעות
עיוני
שעות
מעשי
סה"כ
.
1
3
Preferences
אחסון פנימי
.
1
3
אחסון חיצוני
.
1
3
SQLite Database
7
.4
1.
SimpleCursorAdapter , ListView
1
4
6
סה"כ שעות:
.1
14
36
31
פרק : 02תכנון וניתוח אפליקציות ,ניתוח בשיטת ,UMLתאור מסכים,
תרשים זרימה
יעדים :אפיון וניתוח יישום ,ניתוח מחלקות ע"י תרשימי ,UMLתרשים זרימה ותיאור מסכים,
זיהוי מרכיבים ייחודיים ,תיאו הנתונים הנשמרים ואופן שצירתם
תכנים:
אפיון האפליקציה2
תאור הצורך והשימוש באפליקציה2
זיהוי משימות ראשיות באפליקציה (פעילויות ,שירותים ,מקלטים ,מסרים ,ספקי תוכן )2
שרטוט סקיצות למשימות2
תכנון תרשים זרימה לאפליקציה2
יצירת תבניות או מסכים2
קביעת הנתונים שרוצים לשמור ואו לבצע גיבוי ,מבנה ושיטת השמירה לצורך זה2
ניתוח מחלקות ע"י תרשים 2UML
מטרות ביצועיות:
התלמיד יגדיר את מטרת היישום2
התלמיד יאפיין עצמים ומרכיבים חיוניים ביישום2
התלמיד יתאר את המראה הגרפי של היישום2
התלמיד יתאר את תרשים הזרימה של המסכים2
התלמיד יקשר בין המסכים ובין הרכיבים והמשימות הייחודיות של היישום2
התלמיד יתאר ב UMLאת המחלקות החיוניות והקשרים ביניהם2
התלמיד ינהל לוח זמנים וסידור בניית היישום בשלבים2
התלמיד ימדוד את התקדמותו בפיתוח היישום בהתאם לניתוח שביצע2
דרכי הוראה:
לבחור יישום מייצג לבצע את כל האפיונים ,ניתוחים ,התרשימים ,צרכים ,מסכים וכו'2
אותו ישום צריך לבצע אותו כולו עד סופו כדוגמא לפרויקט מלווה2
31
דרכי הערכה:
בשלב זה התלמיד ייתכן שהתלמיד יבחר לעצמו יישום שירצה לפתח ולבצע את ניתוח
והאפיון המתאים לקראת פרוייקט הגמר2
חלוקת שעות:
שעות
עיוני
שעות
מעשי
סה"כ
מטרת היישום והצרכים
.
1
3
עצמים ורכיבים חיוניים ליישום
.
1
3
שרטוט הישויות ביישום והקשרים ביניהם
כולל מסכים ,שירותים ,מקלטים ,ספקי
תוכן ,נתונים הנשמרים2
1
4
6
סה"כ שעות:
4
8
.1
נושא
32
כיתה י"ב,
פרקים:
שעות
עיוני
שעות
מעשי
סה"כ
פרק
מס'
ספקי תוכן Content Providers
8
.6
14
תהליכים וההליכונים ()Threads & Processes
.5
39
45
שירות Service
8
.6
14
נושא לימוד
.3
14
15
מקלט שידורים BroadCast Reciever
7
.4
1.
16
8
טלפוניה
.6
14
17
רכיבים מתקדמים:מולטימדיה ומצלמה ,חיישנים ,GPS ,מפות2
.1
14
36
גרפיקה ואנימציה2
8
.6
14
הנחיה והגשת עבודת גמר
14
48
71
18
19
20
סך הכול שעות לימוד
33
96
086
276
פרק : 03ספקי תוכן Content Providers
מאחר ואין שטח אחסון משותף לכל האפליקציות באנדרואיד ,ספקי התוכן היא סוג מיוחד של
מאגר הנתונים שחושף דרכים סטנדרטיים כדי לאחזר ולטפל נתונים המאוחסנים 2אנדרואיד מגיע
עם מספר ספקי תוכן שימושיים2
יעדים :מטרת ספקי התוכן ,שימוש בספקי התוכן הקיימים של אנדרואיד ,וביצוע שאלתות2
תכנים:
משמעות ספקי התוכן והסוגים שמספקת אותם המערכת ע"י השימוש ב URIהמתאים2
שימוש בספק נתונים :לאנשי קשר ,יומן השיחות ,תכני דפדפן ,הגדרות ההתקן ,קבצי
מדיה ,יומן2
ביצוע שאלתות על ספק תוכן :אחזור ,הוספה ,עדכון ומחיקת נתוניםquery(), ( 2
)()insert(),update() ,delete() ,getType() ,onCreate
מטרות ביצועיות:
התלמיד יתנסה בשימוש לפחות באחד מספקי התוכן הקיימים :לאנשי קשר ,יומן
השיחות ,תכני דפדפן ,הגדרות ההתקן ,קבצי מדיה ,יומן2
התלמיד יתנסה לפחות בביצוע שאלתת אחזור )(2query
דרכי הוראה:
להבהיר את משמעות ספקי התוכן וחשיבותם ,לצור טבלה שמכילת את ה URIהמתאים
לכל סוג מהספקים 2ולבצע שימוש ספק נתונים אחד לפחות עם התלמידים תוך שימוש
בכל סוגי השאלתות האפשריות2
דרכי הערכה:
מטלת ביצוע בה התלמיד יתבקש לשהתמש בספק תוכן אחר ממה שיצרו בכיתה ,ויקבל
הנחיות חיוניות לביצוע השאלתות שעליו לבצע2
34
חלוקת שעות:
שעות
עיוני
נושא
שעות
מעשי
סה"כ
משמעות ספקי התוכן וה 2URI
1
.
3
שימוש בספקי תוכן2
1
7
0
ביצוע שאלתות2
4
8
.1
סה"כ שעות:
8
.6
14
35
פרק : 04תהליכים ותהליכונים ()Threads & Processes
תהליכון או Threadהוא רצף של פעולות שמתבצעות באופן עצמאי במטרה לבצע משימה
מסוימת ,וזאת במקביל לתהליכונים אחרים2
במערכת האנדרואיד מקצה תהליך יחיד ותהליכון עבור כל יישום שמבקש לרוץ 2פרק זה דן איך
התהליכים Processesוהתהליכונים Threadsממומשים ועובדים ביישומי האנדרואיד2
יעדים "main" thread ,Processes ,Thread :או 2Handler ,AsyncTask ,“UI" thread
תכנים:
מה זה תכנות מקבילי? עיקרון מימוש המקביליות בעולם המחשב והצורך שלו וה-
Threadכדוגמה למימוש תכונה זו בעולם המחשבים 2תכונות ומרכיבי התהליכון בשפת
2JAVA
יצירת תהליכון באמצעות הורשה מהמחלקה 2Thread
תהליכון בתוך אפליקציה ,מימוש הממשק 2Runnable
תהליכונים מרובים :תזמון בין רצפי פעולה ,threads scheduling -סיום חייו של
,threadהמתודה isAliveו 2join
שמירת שלמות הנתונים Synchronization 2ובעיית ה2Deadlock
מתודות () waitו2notify)( -
תהליכים :Processesכל רכיבי אותו יישום רצים על אותו תהליך () Process
שמקצה מערכת הלינוקס לכל יישום2
מעגל חיי התהליך :מערכת האנדרואיד מנסה לתת לתהליך לרוץ זמן ארוך ככל האפשר,
בסופו של דבר צריך לסיים חלק מהתהליכים לצורך התייעלות בניצול וניהול הזיכרון2
בחירת התהליך המיועד לסיום מסתמכת על רמת עדיפות של 5רמות:
Foreground process o
Visible process o
Service process o
Background process o
Empty process o
תהליכונים Threadsוהיישומים באנדרואיד2
המערכת מקצה לפחות תהליכון אחד עבור כל יישום המבקש לרוץ 2תהליכון זה נקרא
ה"תהליכון הראשי" (" )"main threadתהליכון זה אחראי על שיגור אירועי ממשק
המשתמש הגרפי 2גם כן הינו התהליכון שבו מתבצעת האינטראקציה בין היישום לרכיבי
36
ערכת הכלים של ממשק המשתמש הגרפי של אנדרויד ( 2)Android UI toolkitלכן
תהליכון זה נקרא גם "תהליכון ממשק משתמש" או "2"UI thread
התהליכונים הפועלים ( :)Worker threadsתהליכון לביצוע משימה מקבילה לתהליכון
הראשי בלי לחסום את ריצתו או לשבש את ריצתו 2נעזרים בדרך כלל בפעולות הבאות
(Activity.runOnUiThread(Runnable),View.post(Runnable),View.postDel
))ayed(Runnable, long
שינוי ממשק המשתמש מתוך Threadע"י Handlerבשיטת שליחת ההודעות2
שינוי ממשק המשתמש מתוך Threadע"י משימה אסינכרונית :AsyncTaskמאפשרת
לבצע משימה אסנכרונית על ממשק המשתמש 2כך שמבצעת את הפעולות החוסמות ב
"תהליכון הפועל" ואז מעדכנת את התוצאות על תהליכון ממשק המשתמש " UI
,"threadבלי לטפל בתהליכונים2
מטרות ביצועיות:
התלמיד יתאר את משמעות התהליכים והתהליכונים באופן כללי ותיאורטי2
התלמיד יתאר את הצורך המערכת בסיום תהליכים ואיך עושה זאת מערכת האנדרואיד
לפי עדיפויות2
התלמיד יבנה תהליכון ע"י 2Thread, Runnable
התלמיד יתנסה בעדכון ממשק המשתמש ע"י Threadאחר בעזרת Handlerאו ע"י
המשימה האסינכרונית 2AsyncTask
דרכי הוראה:
להסביר את משמעות התכנות המקבילי ואת הגדרת התהליכון 2לבנות דוגמא פשוטה
שמדגימה שני תהליכונים 2לדגומא לבנות מחלקה שמרחיבה Threadשמכילה תכונה
אחת של מחרוזת שערכה מאותחל בשיטה הבונה ,לבצע קטע קוד מקבילי שמדפיס את
תוכן התכונה 2אחרי שמסיימים בונים שני עצמים עם שני ערכים שונים ולבצע הפעלה של
שני ההליכונים ולצפות בתוצאות2
לחזור על הדוגמא בעזרת מימוש המחלקה 2Runnable
כדי להמחיש את הצורך ב Handlerו 2AsyncTaskלבנות פעילות עם Threadשמשנה
משהו בתוכן ה UIלדוגמא מציג מספר אקראי בעזרת TextViewאו 2Toastאז נדגיש
את הבעיה שזה לא מתאפשר לכן משתמש ב Handlerאו AsyncTaskכפתרון לבעיה2
37
דרכי הערכה:
בחינה עיונית על משמעות התכנות המקבילי שכולל כתיבה קוד2
בחינת מעבדה או מטלת ביצוע לכתיבת קטע קוד שירוץ המקביל ולתת לתלמידים לבחור
את השיטה שנוחה להם2
חלוקת שעות:
שעות
עיוני
שעות
מעשי
סה"כ
התכנות המקבילי Thread
1
4
6
Runnable
3
6
0
תהליכים Processes
1
נושא
1
Handlerאו AsyncTask
8
19
18
סה"כ שעות:
.5
39
45
38
פרק 05שירות Service
לשירות יש שני סוגים לפי היעוד שלהם הראשון " "startedהרגיל ושני " "boundשקשור לרכיב
אפליקציה אחר (כגון פעילות אחרת) 2השירות מתחיל כ " "startedאחרי זימון רכיב אחר את
הפעולה () startServiceומסתיים אחרי שהוא מסיים את עצמו ע"י הפעולה () stopSelfאו רכיב
אחר מסיים אותו ע"י הפעולה ()2stopService
ומתחיל כ " "boundאחרי זימון רכיב אחר (הלקוח) את הפעולה () bindServiceומסתיים
בזימון הלקוח את הפעולה ()2unbindService
בפרק זה נתמקד רק בסוג הראשון 2started
יעדים :משמעות ותפקיד השירות ,בניית שירות ,startedמעגל החיים ,ה ,IntentService
שירותים קיימים המערכת2
תכנים:
מעגל חיי השרות :לשירות יש 3מצבים במהלך חיו Starting, Running,
)2Destroyed(Shut-down
מתודות/פעולות מעגל חיי השירות :במעבר ממצב למצב מופעלות הפעולות הבאות:
)(onCreate() ,onStartCommand(),onBind(), onUnbind(),onUnbind
)( 2 ,onRebind() ,onDestroyלהתערב ולהשפיע במעבר ממצב למצב צריך לדרוס את
פעולות אלו (שהן חלק מהמחלקה 2)Serviceסדר הקריאה לפעולות שונה משני סוגי
השרות " "startedו 2 "bound" -
בניית 2Started Serviceכהרחבה של Serviceו IntentServiceוההבדל ביניהם( 2ה
IntentServiceהינו שירות שרץ ב threadנפרד מהפעילות ,לדוגמא שירות שמוריד
קובץ מהאינטנט)2
שירות חזית :Foreground Servicesשירות חזית הוא שירות שאמור להיות משהו
ידוע למשתמש כפעיל 2השירות הופך להיות שירות חזית אחרי זימונו לפעולה
startForegroundעם הודעת שורת המצב2
השימוש AlarmManagerלצורך תזמון תחילת שירות ותזמון שירות מחזורית2
מטרות ביצועיות:
התלמיד יתאר את משמעות השירות ועל קיום שני סוגים " "startedהרגיל
ושני " "boundשקשור לרכיב אפליקציה אחר2
התלמיד יתנסה בבניית השרות "2"started
39
התלמיד יפעיל ולעצור שירות2
התלמיד יתאר את מעגל חיי השירות והיכולת לדרוס את פעולות שבמעבר ממצב למצב
לפי הצורך2
התלמיד יתכנת שירות חזית2
התלמיד יבצע תזמון לתחילת שרות בעזרת AlarmManagerולבצע שירות מחזורי כל
פרק זמן2
דרכי הוראה:
רצוי להתחיל בהוראה פרונטאלית שמסבירה את משמעות השירות ותפקידה תוך כדי
הדגמות של שעון מעורר ועדכון דוא"ל ,עדכון מזג האוויר וכו'2
לצור שירות מסוג " "startedולדרוס את פעולותיו ,בתוך כל פעילות הציג את שם
הפעילות בעזרת "התראת טוסט" לבנות פעילות עם שני כפתורים כך שאחד מפעיל והשני
עוצר את השירות מסוג " ,"startedולבצע את תגובת כל כפתור לפי התפקיד שלו2
אפשר לשדרג את הדוגמא הקודמת לשירות חזית ע"י זימון השירות ל
2startForeground
בשלב המתקדם לבצע אותה משימה לתזמון עירור השירות בעזרת AlarmManager
ושימוש ב ( )PendingIntentולשדרג לגרסה נוספת החוזרת על הפעלת השירות כל פרק
זמן קצוב2
נושא השירות יחזור בנושאים מתקדמים כגון תהליכונים ( )threadושירותי מערכת2
דרכי הערכה:
מטלת ביצוע שצריכה לצור שירות והפעלתו( 2עבודת בית והגנה בכיתה)
חלוקת שעות:
שעות
עיוני
נושא
שעות
מעשי
סה"כ
סוגי השירות ,ומעגל החיים 2
1
1
4
בניית שירות כהרחבה של Serviceו
3
7
.9
IntentService
תזמון שירות ושירות מחזורי
1
5
7
שירות חזית
.
1
3
סה"כ שעות:
8
.6
14
41
פרק : 00מקלט שידורים BroadCast Recieverו .App Widget
Broadcast Receiverמקלט שידורים הוא מחלקה של היישום ,שתפקידו להאזין למסרים
) (intentsשמשודרים 2הינו מחלקה שמרחיבה את המחלקה BroadcastReceiverורשומה
ביישום 2AndroidManifest.xmlכל מקלט כזה נרשם לקליטת מסר או קבוצת מסרים ,והינו
מיודע ע"י מערכת האנדרואיד והיישום ששיך לו במסרים שמשודרים ,כלומר מתפקד כמאזין
למסרי היישום והמערכת לפי הרשאות ויעוד 2לדוגמא המערכת משדרת ליישומים שסיימה
העלאה לכן יופעל המקלט עם מסנן ,android.intent.action.BOOT_COMPLETEDכמו כן
לזיהוי שיחה נכנסת או SMSשהתקבל עם מסנן
android.provider.Telephony.SMS_RECEIVEDוכדומה2
ביצוע תגובה למסר זה ע"י המתודה )(2onReceive
יעדים:בניית ,BroadcastReceiverשימוש והפעלתו -שידור מסרים למקלט ,קליטת שידורי
מסרים משירותי המערכת2
תכנים:
בניית מקלט 2BroadcastReceiver
שידור מסרים Broadcast Intentsע"י )2void sendBroadcast(Intent intent
קליטת מסרי מערכת האנדרואיד :המסרים המסופקים ע"י שירותי המערכת ו
2BroadcastReceiver
הרשאות ואבטחה :שימוש בהרשאות קיימות והגדרת הרשאות אבטחה2
שימוש בהרשאות:
יישום בסיסי אינו מכיל הרשאות לכל דבר במערכת ,כדי לתת הרשאה מסוימת צריך
לציין אותה בקובץ המניפסט של היישום ע"י המרכיב 2uses-permissionלדוגמא רוצה
היישום יקבל גם את מסרונים ( )SMSהנכנסים ,או לתת לא גישה למצלמה או GPS
וכדומה2
הגדרת ודרישת הרשאות:
אפשר להגדיר הרשאות לפי דרישות המתכנת בקובץ המניפסט ע"י
הרכיב <>permission
:App Widgetsיישומון הינו יישום קטן ,שמהווה תצוגה מצומצמת או זעירה
של יישום מסוים שניתן להטמיע אותה באפליקציות אחרות כמו מסך הבית של מערכת
האנדרואיד 2יישומון זה יכול להתעדכן באופן תקופתי( 2לדוגמא :יישומון המציג מזג
האוויר ,יישומון המציג את סדר היום של לוח שנה וכו')2
ליצירת יישום יש צורך ב AppWidgetProviderInfoשמספק תיאור ומאפיינים
ליישומון ,ו AppWidgetProviderשהינו סוג של broadcast receiversאו מקבלי
41
מסרים ,עצם כזה מקנה לאפליקציה יכולת קבלת מסרים ( )Intentsששודרו ע"י
המערכת או אפליקציה אחרת 2אפילו כאשר רכיבים אחרים של היישום אינם פעילים2
מטרות ביצועיות:
התלמיד יתאר את מנגנון מקלט המסרים2
התלמיד יתנסה בתהליך הבנייה :בניית מקלט ,רישום ,שליחת מסרת קבלת המסר
והתגובה2
התלמיד יסביר את הצורך בהרשאות אבטחה והשימוש בהן2
התלמיד יצור הרשאה משלו למקלט שהוא בנה2
התלמיד ישתמש לפחות במסר של שירות מערכת אחד כמו :סיום עליית המערכת ,שיחה
נכנסת SMS ,התקבל וכו'2
דרכי הוראה:
להבליט את חשיבות מנגנון זה תוך מתן דוגמאות ממסרי המערכת 2לצור דוגמא של
הפעלת שירות או הצגת פעילות כתגובה לקליטת מסר שנשלח ע"י יישום התלמיד או מסר
של המערכת2
דרכי הערכה:
מטלת ביצוע לצור דוגמא של הפעלת שירות או הצגת פעילות כתגובה לקליטת מסר
שנשלח ע"י יישום התלמיד או מסר של המערכת2
חלוקת שעות:
נושא
המחלקה ,BroadcastReceiverבניית
שעות
עיוני
שעות
מעשי
סה"כ
3
6
0
מקלט ,רישום ,שליחה וקליטת מסר2
שירותי מערכת ,הרשאות ואבטחה2
1
4
6
App Widgets
3
6
0
סה"כ שעות:
8
.6
14
42
פרק : 07טלפוניה
telephoneביוונית פירושה ""speech over a distance.
"tele, “distant" , phone "speech
יעדים :בירור מצב הטלפון ,שיחות חיוג קבלת שיחה נכנסת ,הודעות טקסט SMSשליחה וקבלת
הודעה 2אנדרואיד מספקת חבילה עם מחלקות שמטפלות בכל נושא הטלפוניה2
תכנים:
מנהל הטלפוניה 2TelephonyManager
מאזין מצב הטלפון 2PhoneStateListener
קבלת תכונות ומצב הטלפוניה של הטלפון2
שימוש במסרים ( )Intentלבקשת חיוג עם 2Intent.ACTION_CALLוביצוע חיוג ע"י
2Intent.ACTION_DIAL
זיהוי שיחה נכנסת2
שליחת SMSע"י Intentאו ע"י מנהל המסרונים 2SmsManager
הרשאות הנחוצות לחיוג ,קבלת שיחה ,שליחת SMSוקבלת 2SMS
מטרות ביצועיות:
התלמיד יסביר כיצד לקבל את תכונות הטלפון2
התלמיד יתנסה בביצוע בקשת חיוג או ביצוע חיוג2
התלמיד ישתמש במאזין מצב הטלפון לזיהוי מצב הטלפון וזיהוי שיחה נכנסת2
התלמיד יזהה שיחה יוצאת2
התלמיד יבצע שליחת וקבלת מסרון 2SMS
התלמיד יתנסה בשימוש מקלטי שידור BroadcastReceiverלצורך זיהוי שיחה
יוצאת2
התלמיד יתנסה בשימוש מקלטי שידור BroadcastReceiverלצורך זיהוי קבלת
2SMS
דרכי הוראה:
הדגמת השימוש במאזין מצב הטלפון PhoneStateListenerושימוש
2BroadcastReceiverההדגמה תכלול ביצוע שיחות זיהוי שיחה יוצאת זיהו שיחה
נכנסת ,שליחת SMSוקבלתו2
43
תרגיל שימוש בשירות קיים במערכת שבה מתנהל הטלפון 2או תרגיל ל
BroadcastReceiverושימוש בהרשאות2
דרכי הערכה:
בחינה מעשית או מטלת ביצוע על פי המטרות הביצועיות2
חלוקת שעות:
שעות
עיוני
נושא
3
TelephonyManagerו
שעות
מעשי
6
סה"כ
0
PhoneStateListener
זיהוי שיחה יוצאת2
1
4
6
קבלת ושליחת SMS
3
6
0
סה"כ שעות:
8
.6
14
44
פרק : 08רכיבים מתקדמים:מולטימדיה ומצלמה ,חיישנים,GPS ,
מפות.
רוב המכשירים המופעלים ע"י אנדרואיד מכילים רכיבי חישה ומקלט מערכת מיקום
גלובלית 2נלמד השימוש ברכיבי ) GPS- (Global Positioning Systemבאופן שטחי2
אנדרואיד מספקת מרחב אפשריות לנגינה קבצי קול ,והפעלת וידאו הצגת תמונות ,הקלטה קול,
לכידת תמונה ווידאו2
יעדים :שימוש במנהל החיישנים ,SensorEventListener ,SensorManager ,חיישני תנועה,
חיישני מיקום ,חיישני סביבה ,מיקום ומפות ,נגינה אודיו וידאו ,הקלטת קול ,לכידת תמונה,
צילום וידאו2
תכנים:
מנהל החיישנים 2SensorManager
המאזין לחיישנים 2SensorEventListener
חיישני תנועה:
משתמשים בהם לזיהו תנועת המכשיר ,כגון ,להטות לנער ,להניף סיבוב2
חיישנים אלו מורכבים מ-מד התאוצה " ," accelerometerומד כוון ""gyroscope
שניהם צריכים להיות חלק מהחומרה 2ועוד שלוש שיכולים ממושים בחומרה או בתוכנה
(חיישן משיכה ,תאוצה לינארית ,וחיישני ויקטור הסיבוב)2
חיישני מיקום:
מערכת האנדרויד מספקת שני חיישנים כדי לאבחן מיקום המכשיר "חישן השדה
המגנטי של כדור הארץ" וחישן כיוון שבנויים בחומרה2
חיישני סביבה:
מערכת האנדרויד מספקת 4סוגים לחישת סביבה :לחות ,אור ,לחץ אוויר וטמפרטורה2
מיקום ומפות:
אנטנת GPSמאפשרת מערכת האנדרואיד לקבל את הקואורדינאטות העולמיות של
מיקום והמכשיר 2אנדאוריד מאפשרת גישה למפות שמאפשר מראה ויזואלי אמיתי
למיקום LocationManager 2הינה המחלקה האחראית לשימוש וניהול כלי זה2
:MediaPlayerהמחלקה האחראית להפעלת קבצי מוזיקה ווידאו2
:AudioManagerמנהל מקורות וכלי השמעת והקול2
הקלטת קול ע"י 2 MediaRecorder
המצלמה :מערכת האנדרואיד מספקת כלים לשליטה במצלמה כך שניתן לצלם תמונות
או וידאו ע"י 2MediaRecorder
45
מטרות ביצועיות:
התלמיד יתאר את סוגי החיישנים האפשריים2
התלמיד יתנסה בשימוש בחיישן אחד לפחות (מקבוצת החיישנים וה , )GPS -והשימוש
המאזין החיישנים2
התלמיד יציג מפה ע"י 2Mapview
התלמיד יפעיל קבצי מידיה (קול ,תמונה ,ווידאו)2
התלמד יסביר אפשרות ללכידת :קול ,תמונה ווידאו ,ואת המחלקות האחראיות על זה2
דרכי הוראה:
לסקור את סוגי החיישנים האפשריים2
לתרגל עם התלמידים שימוש בחיישן אחד לפחות (מקבוצת החיישנים וה2)GPS -
מפני שהסימולאטור לא מספק אופציות לכל החיישנים אבל מספק אופציה לשימוש ב
( GPSע"י ה ,)DDMSלכן אפשר לתרגל רק את השימוש ב 2GPS
אם יש בכיתה מכשיר אז עדיף לבצע עוד שימוש בחיישן ,ההדגמה תהיה על המכשיר
עצמו2
לתרגל הפעלת קבצי קול ווידאו והפסקתם וגם על אופציות החזרה בהפעלת כל סוג2
דרכי הערכה:
מטלת ביצוע במעבדה או בבית לשימוש במקלט ה GPSכמו חישובי מרחק וחישובי
מהירות וכו' 2ניתן להוסיף הפעלת קול כתגובה לאירועים דוגמת לחיצה על כפתור2
חלוקת שעות:
שעות
עיוני
שעות
מעשי
סה"כ
סקירת סוגי החיישנים2
1
4
6
אופן השימוש בחיישנים ע"י מנהל
החיישנים וההאזנה להם2
3
6
0
ה GPSכדוגמא ומפות2
4
8
.1
מדיה
3
6
0
סה"כ שעות:
.1
14
36
נושא
46
פרק : 09גרפיקה ואנימציה
בפרק זה נלמד לעצב רכיבי תצוגה ( )Viewעל ידי ציור דו -ממדי ( ,)2Dשנבצע באמצעות כלים
העומדים במחלקה Canvasאו יצירת רכיבים חדשים הניתנים לציור 2Drawableבנוסף נבצע
אנימציה ואינטראקציה עם המשתמש2
יעדים :ציור וגרפיקה בעזרת XMLו ,Canvasביצוע אנימציות ב XMLועל גבי 2SurfaceView
תכנים:
ציור בעזרת 2XML
ציור על :Viewמתבצע ע"י דריסת הפעולה () 2View.onDrawמשתמשים בשיטה זו
כאשר הרכיבי לא צריך לבצע אנימציה מהירה או מורכבת ,יותר מתאים לגרפיקה יותר
סטטית וקבועה2
: Canvasזאת המחלקה שמהווה את הממשק הויזואלי של הרכיבי הגרפי 2מחלקה זו
מכילה את הפעולות האחראיות על ציור צורות גרפיות שונות2
:Paintמחלקה המחזיקה במידע על צבע וסגנון כדי לתאר איך מצירים צורות
גיאומטריות ,טקטס ומפת סיביות 2Bitmap
BitmapFactoryלטעינת תמונות לתוך עצמם מטיפוס מפת סיביות 2Bitmap
ציור על :SurfaceViewמחלקה המתאימה לביצוע אנימציות 2הייחודיות שלה בזה
שמציעה תהליכון ( )Threadעצמאי לביצוע הצביעה כך שהרכיב לא ממתין בתורו עד
שהמערכת מציירת אותו2
SurfaceHolderלפתרון בעיית העדכון (השנוי) הגרפי על 2SurfaceView
:Drawablesאנדרואיד מציעה חבילת מחלקות הניתנים לציור בדו-מימד
2android.graphics.drawableבחבילה זו ניתן למצוא BitmapDrawable,
PictureDrawable,ShapeDrawable,LayerDrawableועוד אחרות 2רכיבים
אלו אפשר להישתמש ב משאבים קיימים כמו תמונות ,ולצור אותם ע"י 2XML
חבילה זו מאפשר אנימציה frame-by-frameשניתן לכתוב אותה בשיטה ,XML
בעזרת המחלקה 2AnimationDrawable
אנימציה ע"י 2AnimationDrawable
אנימציה בשיטת 2View Animation
אנימציה בעזרת תהליכון רגיל ( )Thread, Timerעל SurfaceViewשבאחריות
2SurfaceHolder
47
מטרות ביצועיות:
התלמיד ישתמש בכלים הגרפיים העומדים לרשותו2
התלמיד יבצע ציור וצביעה ויצירת רכיבים גרפיים :אם זה בשיטת XMLאו שימוש ב
2Canvas
התלמיד יבצוע סוג אחד של אנימציה ViewAnimation ,AnimationDrawable :או
ע"י ציור על Viewע"י הרחבה של Viewאו 2SurfaceView
דרכי הוראה:
התלמידים יתרגלו את שיטות הצביעה והציור ב ,XMLבאופן מעשי2
לבצע דוגמת אנימציה ע"י 2AnimationDrawableואנימציה בשיטת View
2Animation
לבצע הרחבה למחלקה Viewולבצע דריסה לפעולה )2onDraw(Canvas canvas
ולהשתמש לב Canvasלבצע צביעה וציור ,לדוגמא צביעת רקע ,ציור צורות (קו ,מלבן,
מעגל וכו) תוך שימוש מחלקה ,Paintציור תמונת 2 Bitmap
בשלב שני לשנות את הירושה בדוגמא הקודמת מ Viewל ,SurfaceViewולזהות שלא
התבצע ציור 2וכאן בא הצורך והתפקיד של ה 2SurfaceHolder
לבצע אנימציה כתגובה לאירוע מגע במסך 2לדוגמא הזזת תמונה או עיגול על המסך
בהתאם לאירוע המגע2
לבצע אנימציה שמשתמשת ביותר מרכיב אנימציה על המסך 2לדוגמא שני עיגולים או
תמונות שזזות באופן שרירותי על המסך2
דרכי הערכה:
מטלת ביצוע מודרכת ליצירת רכיב מעוצב 2או ממשק עם רכיבים שמבצעים אנימציות
בעזרת 2AnimationDrawableו 2View Animation
מטלת ביצוע לצור אנימציה ותגובה לאירוע המגע כהרחבה 2SurfaceView
48
:חלוקת שעות
סה"כ
שעות
מעשי
שעות
עיוני
3
1
.
XML ציור בעזרת
6
4
1
,Paint ,Canvas ,View ציור על
נושא
BitmapFactory
6
4
1
SurfaceHolder ,SurfaceView ציור על
3
1
.
2AnimationDrawable אנימציה ע"י
View Animation אנימציה בשיטת
6
4
,SurfaceViewאנימציה ב
1
2SurfaceHolder
14
.6
:סה"כ שעות
8
49
פרק : 26הנחיה והגשת עבודת גמר
יעדים :ביצוע פרויקט הגמר ,קביעת את הדרישות ורמה של עבודת הגמר2
בשלב זה מבצעים ניתוח פרויקט ע"י תרשימים (תרשים מסכים ו מחלקות ע"י , )UMLובצוע
מעשי של הפרויקט 2התלמידים מתחילים בביצוע של הפרויקט שלהם2
תכנים:
ההבדל בין הרמות של עבודות הגמר2
בחירת נושא לפרויקט מלווה2
ביצוע ניתוח לפרויקט שכולל את הרמות הבאות:
oרמת הממשק :הגרפי מסכים ותרשים זרימה בין המסכים2
oרמת התכנות :זיהוי ישויות ,עצמם ורכיבים ייחודיים של אנדרואיד 2קביעת
המחלקות שצריכים (כולל המחלקות של ממשק המשתמש הגרפי) ,ולזהות את
אלה שקיימות וניתן להשתמש בהן ואלה שצריך לצור 2ולצור תרשים UML
לתיאור את המחלקות והקשרים ביניהם2
oרמת הלוגיקה :זרימת פעילות היישום ,חוקים וכדומא בפרט כשמדובר
במשחקים2
oרמת הנתונים :תיאור הנתונים שצריכים להישמר על המכשיר ,דרך האחסון
שנבחרה (הגדרות ,קבצים2)SQLITE ,
oרמת השירותים והתכנות המקבילי :תיאור את הצורך ברכיבים או קטעי בקוד
שצריכים לרוץ ברקע (שירותים לדוגמא) והצורך בתכנות מקבילי2
קביעת לוח זמנים שמתאר את סדר ביצוע הפרויקט החל מההצעה עד תיק הפרויקט2
ביצוע הפרויקט שנבחר עד תומו2
כתיבת תיעוד של הקוד בשיטת ה Javadocבוזמנית עם כתיבת הקוד2
ביצוע כתיבת תיק פרויקט2
מטרות ביצועיות:
התלמיד יתאר את ההבדל בין הרמות של עבודות הגמר2
התלמד יתאר את דרישות וצרכי הרמה של עבודת הגמר שבחר לבצע2
התלמיד יתנסה ביחד עם המורה בביצוע ניתוח לפרויקט המלווה לרמות במפורטות
בתכנים2
התלמיד יבצע את הניתוח לפרויקט שלו בעבודת הגמר על פי הרמות שמפורטות בתכנים2
התלמיד יתנסה בקביעת לו"ז וסדר לביצוע הרכיבים של הפרויקט2
51
התלמיד יתנסה בביצוע הפרויקט המלווה ביחד עם המורה2
התלמיד יתרגל לתעד את כל המחלקות והשיטות והתכונות בשיטת ה Javadoc
התלמיד יצור תיק פרויקט לפרויקט המלווה2
דרכי הוראה:
על המורה לבחור הצעת פרויקט כדי לבצע אותו עם התלמידים משלב הניתוח עד הביצוע2
הפרויקט יכול לעמוד בדרישות המינימאליות של רמת עבודת הגמר2
על המורה להכין באופן כתוב את הצעת הפרויקט המלווה שתהיי דוגמא מייצגת
לתלמידים לאופן הגשת ההצעה2
המורה יבצע ניתוח לפרויקט ביחד עם התלמידים תוך כדי רישום וציור 2המטרה לתוצר
של מסמך שכולל תרשים זרימת מסכים ,תרשים ,UMLרכיבים ייחודיים של אנדרואיד
ותיאור הנתונים הנשמרים2
ליצור תרשים שמקשר את כל הרכיבים והתרשימים שבוצעו2
לדרוש מהתלמידים להגיש הצעה לעבודות גמר שלהם בשלב ראשון ומאחר האישור של
המורה לדרוש ביצוע ניתוח התרגול2
אפשר לבצע את שלב הניתוח של הצעות התלמידים בקבוצות ,כך שכל קבוצה תבצע
ניתוח של כל חברי הקבוצה2
להתחיל בביצוע של הפרויקט המלווה ביחד עם התלמידים ומומלץ לאמץ את "מודל
הקליפות" על פי השלבים:
oשלב :.בכל שלב מגדירים יעד שניתן להשיג בזמן קצר באופן סביר ומתחילים
ביישומו2
oשלב :1כשמסיימים בודקים שהיעד הושג על ידי ביצוע סדרת בדיקות2
oשלב :3יוצרים גרסה חדשה (עוזבים את הישנה) ומתחילים משלב 2.
בשיטה זו הפרויקט יגדל שלב אחרי שלב "קלפיה אחרי קליפה" ,ותמיד תהיה גרסה
אחרונה יציבה ותקינה כך שאם מאבדים או מקלקלים את הגרסה האחרונה תמיד יהיה
פרויקט בגרסה של שלב אחד לפני2
מומלץ להחזיק מחברת ביצוע פרויקט שכוללת את הניתוח והתרשימים ,מחברת זו עוזרת
בתכנון הזמן ואת השלב הבא ומה נשאר לבצע 2במחברת זו מציינים בכל פעם שניגשים
להמשך ביצוע הפרויקט את מספר הגרסה והיעד ,ובסוף מציינים אם הושג כן או לא,
ומתכננים ומציינים את הצעד הבא בגרסה הבאה2
מומלץ שהמורה יקבל את כל המידע לפני ביצוע הפרוייקט על ידי התלמידים2
51
דרכי הערכה:
להעריך את עבודת התלמידים לפי השלבים שצריך להגיש :הצעת פרויקט ,ניתוח וכו'2
לתת לתלמידים משימה בה יצטרכו לבצע שלב בפרויקט המלווה2
לתת לכל תלמיד בנפרד ביצוע שלב מינימאלי בפרויקט העצמי שלו ולהעריך2
לתת לו"ז ביצוע הפרויקט האישי לכל תלמיד ולהעריך אותו על מידת העמידה בלו"ז2
חלוקת שעות:
שעות
עיוני
נושא
שעות
מעשי
סה"כ
הבדל בין הרמות
.
9
.
ניתוח פרויקט מלווה2
.9
.8
18
קביעת לוז
1
9
1
ביצוע הפרויקט2
8
15
33
תיק פרויקט
3
5
8
סה"כ שעות:
14
48
71
52
ההבדלים בין רמת העבודה 5,3,0יח"ל:
היקף הפרויקט יקבע על פי גודלו ומורכבותו כלומר:
שימוש בעקרונות הנדסת תוכנה ותכנות מונחה עצמים :הורשה ,פולימורפיזם ,ממשקים,
מחלקות מופשטות ,יחס הכלה והורשה ומספר המחלקות2
שימוש באבני היסוד של יישום באנדרואיד,Intent ,Service ,Activity:
2BroadcastReceiver ,ContenteProvider
אחסון נתונים הקשורים ליישום2
נושאים מתקדמים :טלפוניה ,גרפיקה ,אנימציה ,חיישנים ,GPS ,מפות ,מצלמה,
מיקרופון2
פרויקט גמר ברמה של 0יח"ל,
מערכת תהווה יישום משתמש ותכלול את המרכיבים הבאים:
לפחות שתי מחלקות ושימוש בהורשה פשוטה (מחלקת הבסיס והמחלקה הנגזרת)
ושימוש במימוש ממשק ( )interfaceמהקיימים כמו מאזינים וכו'2
ממשק משתמש גרפי לפחות ,שני ממשקים/מסכים2
טיפול באירועים2
אבני הייסוד2Intent ,Activity :
אחסון נתונים (שמירה ושליפה) ,לפחות בדרך אחת2
פרויקט גמר ברמה של 3יח"ל,
מערכת תהווה יישום משתמש ותכלול את המרכיבים הבאים:
לפחות 3מחלקות ושימוש בהורשה פשוטה (מחלקת הבסיס והמחלקה הנגזרת) ושימוש
במימוש ממשק ( )interfaceמהקיימים כמו מאזינים וכו'2
ממשק משתמש גרפי לפחות ,שני ממשקים/מסכים2
שימוש בתפריטים או תיבות דו-שיח2
טיפול באירועים2
אבני הייסוד Intent ,Activity :ו ( Serviceניתן לצור שירות ולהפעילו ,או להשתמש
בשירות קיים)2
אחסון נתונים (שמירה ושליפה) ,לפחות בדרך אחת2
עבודת גמר של 5יח"ל,
מערכת תהווה יישום משתמש ותכלול את המרכיבים הבאים:
לפחות 5מחלקות ושימוש בהורשה פשוטה (מחלקת הבסיס והמחלקה הנגזרת) ושימוש
במימוש ממשק ( )interfaceמהקיימים כמו מאזינים או יצירת חדש וכו'2
ממשק משתמש גרפי לפחות ,שני ממשקים/מסכים2
שימוש בתפריטים וב תיבות דו-שיח2
טיפול באירועים2
53
אבני הייסוד( Service ,Intent ,Activity :ניתן לצור שירות ולהפעילו ,או להשתמש
בשירות קיים) ואחד מהשניים( ContenteProvider:שימוש בקיים או יצירת חדש) או
( BroadcastReceiverשימוש בקיים או יצירת חדש)2
אחד מהנושאים המתקדמים :טלפוניה ,גרפיקה ,אנימציה ,חיישנים ,GPS ,מפות,
מצלמה ,מיקרופון2
אחסון נתונים (שמירה ושליפה) ,לפחות בדרך אחת2
מומלץ להתחיל את עבודת הגמר בתקופת חופשת הפסח בכיתה י"א 2בתקופה זו ייבחר התלמיד
את נושא עבודת/פרוייקט הגמר ,בהנחיית המורים ובעזרתם2
העבודה תתבצע במסגרת השעות המוקצבות ,בהנחיית מורי בית הספר או בהנחיית מומחים
שמחוץ לבית הספר2
מרכז המגמה לטכנולוגיות מידע ומורים בחלופה ,ינהלו את העבודות ,יקבעו את לוחות הזמנים
לביצוע העבודות ,יתאמו את ההנחיה ויעריכו את העבודות והכנתן כחלק מקביעת הציון השנתי2
הציון השנתי יקבע ע"י המורה המנחה את עבודות הגמר וישקף את רמת עבודת הגמר ,צורת
ביצועה ע"י המורה ועמידה בלוח זמנים שנקבע להשלמת כל המשימות הכרוכות בעבודת הגמר2
54
משימות ולוח זמנים
משימות ולוח זמנים לביצוע הפרויקט (י"ב)
בתחילת כיתה י"ב יקבל כל תלמיד דף הדרכה המכיל משימות ולוח זמנים2
מועד הביצוע
משימה
כתיבת הצעת פרויקט :בחירת נושא ,כתיבת תסריט
ספטמבר -אוקטובר
ניתוח הבעיה ,זיהוי עצמים ,מחלקות וקשרים ,תיאור מסכי ממשק המשתמש אוקטובר -נובמבר
הגרפי ותיאור הנתונים שצריך לשמור 2התוצר של שלב זה:
2.תרשים UMLהמתאר את כל המחלקות והקשים ביניהם( 2ירושה,
הכלה וכו')
21תאור מבנה כל מסך ותרשים זרימה של המסכים למעגל חיים
מושלם2
23תאור מבנה הנתונים שצריך לאחסן ואת שיטת האחסון2
24זיהוי את אבני היסוד שצריכים בביצוע היישום( ,Service , Activity
2)BroadcastReceiver ,ContenteProvider ,Intent
תחילת פיתוח :הפרדה בין עצמים ומחלקות הממשק הגרפי ושאר המחלקות2
בחירת סדר מימוש המחלקות ,מימוש הדרגתי של מחלקות ,תוך כדי ביצוע
בדיקות ביניים2
מומלץ לבצע את שלב בניית הפרויקט כמודל הקליפות:
גרסה חדשה ,ביצוע השינוי ובסוף בדיקה2
נובמבר – פברואר
השלמת פיתוח הפרויקט :השלמת מעגל חיי האפליקציה ,ובדיקת תקינות2
פברואר -מרץ
כתיבת ספר הפרויקט
פברואר -מרץ
55
גיליונות ההערכה בתכנון ותכנות מערכות טלפונים חכמים תחת מערכת
ההפעלה אנדרואיד
דברי הסבר
בגיליון שני חלקים עיקריים :בדיקת רמת הפרויקט והערכת הפרויקט 2מטרת החלק הראשון היא
לבדוק האם הפרויקט עונה לדרישות פרויקט ברמה המוגדרת 2אם הפרויקט לא עונה לדרישות
החובה ( ).-3הוא אינו מתקבל כפרויקט גמר וציונו נקבע 29אם הפרויקט עונה לדרישות .-3ולא
עונה לדרישות האחרות ,אז הוא זכאי לבדיקת התאמתו לרמת פרויקט נמוכה יותר (עבור
הפרויקטים 5ו 3-יחידות)2
החלק השני -הערכת הפרויקט 2ניתן להעריך את הפרויקט בתנאי שהוא עבר דרישות בדיקת רמת
הפרויקט2
סעיף ד' של גיליון הערכה מאפשר להוסיף עד .9נקודות בונוס עבור תוספות בפרויקט מעבר
לתוכנית הלימודים המותאמת לרמה העבודה :שימוש בידע מחוץ למדעי המחשב ,שימוש
באלגוריתמים מתקדמים או יישום מבנה נתונים מורכבים ,בינה מלאכותית ,מעבר בין מספר
רמות בפרויקט וכדומה 2הציון הכולל כמובן אינו יכול לעבור 2.99
56
גיליון הערכה לעבודת גמר 5יח"ל ,בתכנון ותכנות מערכות טלפונים חכמים תחת מערכת
ההפעלה אנדרואיד
פרטי התלמיד
שם בית הספר
שם התלמיד
נושא העבודה
בדיקת רמת הפרויקט
הדרישות 3 – .חייבים להתבצע 2אם לא ,ציון הפרויקט יהיה 9
הפרויקט נחשב ברמה של 5יח"ל אם כל הדרישות 4-8מתקיימות 2אחרת הפרויקט אמור
להיבדק להתאמתו לרמה 3יח"ל2
נוכחות
בפרויקט
דרישות
0
בזמן ההצגה על התכניות להיות במצב עבודה
2
התוכנה מהווה אפליקציה לטלפונים חכמים שרצים במערכת הפעלה
אנדרואיד.
3
הפרויקט מהווה תכנית אינטראקטיבית ,המנוהלת ע"י ממשק גרפי
למשתמש.
4
שימוש מתקדם בתכנות מונחה עצמים (ירושה ,פולימורפיזם וכו')
5
שימוש בתפריטים ובתיבות דו-שיח
6
שימוש באבני הייסוד Service ,Intent ,Activity :ואחד מהשניים:
ContenteProviderאו 2BroadcastReceiver
7
8
אחד מהנושאים המתקדמים :טלפוניה ,גרפיקה ,אנימציה ,חיישנים,
,GPSמפות ,מצלמה ,מיקרופון2
אחסון נתונים (שמירה ושליפה) ,לפחות בדרך אחת
57
הערכת פרויקט
חלק א` – תיק עבודת הגמר
ניקוד
מרבי
מתוך 066
()25
מטרת התוכנה2
2
תיאור מטרות והאופציות שנותנת תוכנה זו
למשתמש2
3
תיאור מסכים כל מסך ,תכולת ותפקיד2
תרשים זרימה של המסכים2
4
דרישות/מוגבלויות להפעלת התוכנה2
3
הרשאות שצריכה התוכנה2
חומרה מיוחדת :חיישנים GPS ,וכו'2
תיאור המחלקות תוך שימוש ב uml-ותיעוד
2JAVADOC
4
תיאור ארגון הנתונים המאוחסנים ואת
שיטת השמירה הנבחרת לצורך זה2
4
מדריך משתמש ליישום
5
()55
3
חלק ב` -תכנות
קריאות התכנית ,תיעוד וארגון הקבצים
תכנות מונחה עצמים :חלוקה למחלקות,
ירושה הכלה וכו,
סגנון התכנות :בחירת משתנים ,תיעוד,
חלוקה לפעולות וכו'2
שימוש בתפריטים ובתיבות דו-שיח2
8
שימוש באירועים (שימוש בפקדים
ומאזינים ,אירועי מקשים ,אירועי מצביע)
6
שימוש באבני הייסוד,Intent ,Activity :
Serviceואחד מהשניים:
ContenteProviderאו
2BroadcastReceiver
8
.5
58
ניקוד
בפועל
נימוקים והערות
שימוש באחסון נתונים 2
5
מקוריות ,יצירתיות ,תחכום התוכניות
4
ממשקים והתאמתם לדרישות היישום2
מוצגות (הנדסת אנוש ,אסתטיקה ,נוחות
שימוש ,שימושיות ,ממשק ברור)
6
()26
5
.5
()06
חלק ג` -הצגה והגנה
הצגת עבודת הגמר
שליטה בחומר עיוני :תשובות לשאלות הבוחן
חלק ד' – בונוס (הנושאים מעבר לתוכנית
הלימודים המותאמת לרמה העבודה,שימוש
בידע מחוץ למדעי המחשב ,שימוש
באלגוריתמים מתקדמים או יישום מבנה
נתונים מורכבים וכו')
מעבר ל-
066
ציון סופי*
תאריך
חתימה
שם הבוחן
59
גיליון הערכה לפרויקט/עבודת גמר 3יח"ל ,בתכנון ותכנות מערכות טלפונים חכמים
תחת מערכת ההפעלה אנדרואיד
פרטי התלמיד
שם בית הספר
שם התלמיד
נושא העבודה
בדיקת רמת הפרויקט
הדרישות 3 – .חייבים להתבצע 2אם לא ,ציון הפרויקט יהיה 9
הפרויקט נחשב ברמה של 3יח"ל אם כל הדרישות 4-7מתקיימות 2אחרת הפרויקט אמור
להיבדק להתאמתו לרמה .יח"ל2
נוכחות
בפרויקט
דרישות
.0בזמן ההצגה על התכניות להיות במצב עבודה
התוכנה מהווה אפליקציה לטלפונים חכמים שרצים במערכת הפעלה
.2אנדרואיד.
הפרויקט מהווה תכנית אינטראקטיבית ,המנוהלת ע"י ממשק גרפי
.3למשתמש.
.4שימוש מתקדם בתכנות מונחה עצמים (ירושה ,פולימורפיזם וכו')
.5שימוש בתפריטים או בתיבות דו-שיח
אבני הייסוד Intent ,Activity :ו ( Serviceניתן לצור שירות ולהפעילו,
.0
או להשתמש בשירות קיים)2
.7אחסון נתונים (שמירה ושליפה)2
61
הערכת פרויקט
חלק א` – תיק עבודת הגמר
ניקוד
מרבי
מתוך 066
()25
מטרת התוכנה2
2
תיאור מטרות והאופציות שנותנת תוכנה זו
למשתמש2
3
תיאור מסכים כל מסך ,תכולת ותפקיד2
תרשים זרימה של המסכים2
4
דרישות/מוגבלויות להפעלת התוכנה2
3
הרשאות שצריכה התוכנה2
חומרה מיוחדת :חיישנים GPS ,וכו'2
תיאור המחלקות תוך שימוש ב uml-ותיעוד
2JAVADOC
4
תיאור ארגון הנתונים המאוחסנים ואת
שיטת השמירה הנבחרת לצורך זה2
4
מדריך משתמש ליישום
5
()55
3
חלק ב` -תכנות
קריאות התכנית ,תיעוד וארגון הקבצים
תכנות מונחה עצמים :חלוקה למחלקות,
ירושה הכלה וכו,
סגנון התכנות :בחירת משתנים ,תיעוד,
חלוקה לפעולות וכו'2
שימוש בתפריטים ובתיבות דו-שיח2
8
שימוש באירועים (שימוש בפקדים
ומאזינים ,אירועי מקשים ,אירועי מצביע)
6
שימוש באבני הייסוד,Intent ,Activity :
2 Service
8
שימוש באחסון נתונים 2
5
.5
61
ניקוד
בפועל
נימוקים והערות
מקוריות ,יצירתיות ,תחכום התוכניות
4
ממשקים והתאמתם לדרישות היישום2
6
מוצגות (הנדסת אנוש ,אסתטיקה ,נוחות
שימוש ,שימושיות ,ממשק ברור)
()26
5
.5
()06
חלק ג` -הצגה והגנה
הצגת עבודת הגמר
שליטה בחומר עיוני :תשובות לשאלות הבוחן
חלק ד' – בונוס (הנושאים מעבר לתוכנית
הלימודים המותאמת לרמה העבודה,שימוש
בידע מחוץ למדעי המחשב ,שימוש
באלגוריתמים מתקדמים או יישום מבנה
נתונים מורכבים וכו')
מעבר ל-
066
ציון סופי*
תאריך
חתימה
שם הבוחן
62
גיליון הערכה לפרויקט/עבודת גמר 0יח"ל ,בתכנון ותכנות מערכות טלפונים חכמים
תחת מערכת ההפעלה אנדרואיד
פרטי התלמיד
שם בית הספר
שם התלמיד
נושא העבודה
בדיקת רמת הפרויקט
הדרישות 3 – .חייבים להתבצע 2אם לא ,ציון הפרויקט יהיה 9
הפרויקט נחשב ברמה של .יח"ל אם כל הדרישות 4-6מתקיימות 2אחרת הפרויקט אמור
להיפסל ציון הפרויקט יהיה 29
נוכחות
בפרויקט
דרישות
.0בזמן ההצגה על התכניות להיות במצב עבודה
התוכנה מהווה אפליקציה לטלפונים חכמים שרצים במערכת הפעלה
.2אנדרואיד.
הפרויקט מהווה תכנית אינטראקטיבית ,המנוהלת ע"י ממשק גרפי
.3למשתמש.
.4שימוש מתקדם בתכנות מונחה עצמים (ירושה ,פולימורפיזם וכו')
.5אבני הייסוד2Intent ,Activity :
.0אחסון נתונים (שמירה ושליפה)2
63
הערכת פרויקט
חלק א` – תיק עבודת הגמר
ניקוד
מרבי
מתוך 066
()25
מטרת התוכנה2
2
תיאור מטרות והאופציות שנותנת תוכנה זו
למשתמש2
3
תיאור מסכים כל מסך ,תכולת ותפקיד2
תרשים זרימה של המסכים2
4
דרישות/מוגבלויות להפעלת התוכנה2
3
הרשאות שצריכה התוכנה2
חומרה מיוחדת :חיישנים GPS ,וכו'2
תיאור המחלקות תוך שימוש ב uml-ותיעוד
2JAVADOC
4
תיאור ארגון הנתונים המאוחסנים ואת
שיטת השמירה הנבחרת לצורך זה2
4
מדריך משתמש ליישום
5
()55
3
חלק ב` -תכנות
קריאות התכנית ,תיעוד וארגון הקבצים
תכנות מונחה עצמים :חלוקה למחלקות,
ירושה הכלה וכו,
סגנון התכנות :בחירת משתנים ,תיעוד,
חלוקה לפעולות וכו'2
שימוש ברכיבי ממשק משתמש גרפי2
8
שימוש באירועים (שימוש בפקדים
ומאזינים ,אירועי מקשים ,אירועי מצביע)
6
שימוש באבני הייסוד2Intent ,Activity :
שימוש באחסון נתונים 2
.5
8
5
64
ניקוד
בפועל
נימוקים והערות
מקוריות ,יצירתיות ,תחכום התוכניות
4
ממשקים והתאמתם לדרישות היישום2
6
מוצגות (הנדסת אנוש ,אסתטיקה ,נוחות
שימוש ,שימושיות ,ממשק ברור)
()26
5
.5
()06
חלק ג` -הצגה והגנה
הצגת עבודת הגמר
שליטה בחומר עיוני :תשובות לשאלות הבוחן
חלק ד' – בונוס (הנושאים מעבר לתוכנית
הלימודים המותאמת לרמה העבודה,שימוש
בידע מחוץ למדעי המחשב ,שימוש
באלגוריתמים מתקדמים או יישום מבנה
נתונים מורכבים וכו')
מעבר ל-
066
ציון סופי*
תאריך
חתימה
שם הבוחן
65
מפרט הגשת פרויקט/עבודת גמר ,תכנון ותכנות מערכות טלפונים חכמים תחת מערכת
ההפעלה אנדרואיד2
א .ספר העבודה:
.0דף שער:
שם הפרויקט
שם המבצע
שם המנחה
שם בית הספר
תאריך ההגשה
21תוכן עניינים
.3הקדמה (מבוא)
תאור מילולי קצר של הפרויקט המסביר לקורא את מהות העבודה 2במקום כתיבת תיאור קצר
לפרויקט ניתן להציב את דף הצעת הפרויקט שנכתב בתחילת הפיתוח2
קהל היעד לשימוש בתוכנה (אם פרויקט מיועד לקהל ספציפי)
הרקע למשימה (אם זה משמעותי למהות הפרויקט)
.4תיאור התוכנה ומטרותיה :
מטרת התוכנה2
תיאור האופציות שנותנת תוכנה זו למשתמש2
תיאור מסכים כל מסך ,תכולה ותפקיד2
תרשים זרימה של המסכים2
דרישות/מוגבלויות להפעלת התוכנה :הרשאות ,חומרה (חיישנים ,רשת )GPS ,וכו'
.5נתונים:
הסבר/תיעוד חלוקת הקבצים השונים לספריות2
מבניות ,מדולריות וחלוקה למחלקות:
oתאור מבני נתונים2
O
O
O
תיאור קשרי המחלקות ע"י תרשים2UML
תיעוד המחלקות (ממשק המחלקה) ,ע"י שימוש בתוכנת JAVADOCשמייצרת קבצי תיעוד ב2HTML -
תיאור מבנה/מחלקות הנתונים המיועדים לאחסון( 2לדוגמא :מחלקת נתוני שחקן ,מחלקת הגדרות
66
התוכנה וכו') (אפשר להשתמש בתוצר של JAVADOCלמחלקה זו)
תיאור ארגון הנתונים הנשמרים ושיטת השמירה (מיקום ,שמות של קבצים ,תיאור טבלאות והשדות אם יש
שימוש ב 2)SQLITE
.0שימוש באבני הייסוד:
,Activityבפרט אם השתמש ב 2Activity for Result
,Intentסוגי ומטרות המסרים שהשתמש בהן 2לפרט איפה השתמש במסרים ולאיזו מטרה ,בפרט אם
יש שימוש בהעברת נתונים ע"י מסרים ,או הפעלת פעילות או שירות2
,Serviceהסבר מפורט על המטרה/הצורך בשירות ,האם השירות קיים או שנוצר ע"י התלמיד ,מתי
מופעל ומתי מופסק2
,ContenteProviderהמטרה/הצורך מהשימוש בספק תוכן ,האם השימוש בספק תוכן קיים או יצירת
ספק תוכן חדש ע"י התלמיד והשימוש בו2
,BroadcastReceiverהמטרה/הצורך מהשימוש במקלט שידורים 2תיאור השימוש במקלט קיים
במערכת או יצירת חדש2
הרשאות ,תיאור ההרשאות שצריך היישום כדי שיפעל ומשמעות כל הרשאה2
.7מדריך משתמשים:
מדריך זה מיועד למשתמש 2תפקידו להנחות משתמש כיצד להפעיל את התוכנה 2הוא אמור להיות
מנוסח בשפה הרגילה שאינה מכילה מושגים במדעי המחשב2
הסבר קצר על מהות התוכנה2
הסבר כיצד להתקין ולהריץ את התוכנה2
תיאור כיצד מפעילים ממשק המשתמש :פירוט משמעות ותוכן כל מסך כולל התפריטים(עץ תפריטי ,מפת
הפעולות וכדומה)( 2כדאי לעשות זאת בעזרת צילומי המסכים הרלוונטיים ומתן הסברים על פניהם)2
תיאור האופציות לשינוי הגדרות בתוכנה (רקע ,צבע ,כוון כתיבה ,הגדרות משתמש/שחקן וכו')2
.8רקע תיאורטי (מדעי)
אם בפרויקט נעשה שימוש בידע מדעי או אלגוריתם מיוחד במדעי המחשב ,יש לתאר אותו כאן :נוסחאות,
חוקים ,תיאוריות ,אלגוריתמים וכו'
.9סיכום אישי
בפרק הזה יופיע סיכום אישי של מבצע הפרויקט 2נקודות ההתייחסות האפשריות:
מהם הצדדים החזקים ומהם הצדדים החלשים של הפרויקט2
מה היה ניתן לשנות בפרויקט ומה היה ניתן להוסיף לפרויקט במידה והיה זמן נוסף לעבוד עליו2
מה למדת מהפרויקט :מבחינת ידע בתכונות של טלפונים ניידים ,מבחינת תכנות ,מבחינת התמודדות
67
עם פרויקט גדול ,מבחינת ארגון העבודה2
.06נספחים
תדפיסים ( )listingsשל כל הקודים בפרויקט2
מילון מושגים (אם יש מושגים מיוחדים)2
רשימת מקורות (רשימת כל המקורות שהתלמיד השתמש מעבר לתכנית הלימודים)2
ב .תכנות
התוצר של פרק זה הוא יישום שעובד התואם לאפיונים שנקבעו לפי רמת הפרויקט.
קריאות התכנית :שמות משמעותיים לשגרות ושדות ,תיעוד פנימי (המתאים לכללי ,)JAVADOCהערות
והסברים בגוף התכנית2
ממשקים והתאמתם לדרישות היישום ובהתאם למכשיר המיועד (לחצנים ,מסך מגע) :ממשקים נוחים ,עיצוב
מסכים והנדסת אנוש ,עיצוב היישום לנוחות המשתמש ,עיצוב הפלטים2
הנדסת תוכנה ופיתוח מונחה עצמים בשפת2JAVA-
ג .הצגה
התלמיד יריץ את עבודתו תוך מתן הסברים נלווים2
ההרצה תתבצע על האימיוליטור ועדיף גם על טלפון נייד שייבחר התלמיד2
הוכחת ידע והבנת החומר הינם תנאי הכרחי לקבלת ציון עובר2
68
© Copyright 2025