תכנון ותכנות מערכות טלפונים חכמים יד א תחת מערכת ההפעלה

Transcription

תכנון ותכנות מערכות טלפונים חכמים יד א תחת מערכת ההפעלה
‫תכנון ותכנות מערכות טלפונים חכמים‬
‫תחת מערכת ההפעלה אנדרואיד‬
‫תאריך‪.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‬‬