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