הנדסת תוכנה (אנדרואיד/Java) דרך משחקים

כל יחידה בתוכנית הלימודים נלמדת דרך משחק אחד שנבנה שלב אחר שלב: מדריך מקוון ופרויקט Android Studio מלא.

נבנו 2 מתוך 12 אפליקציות

נושאי הלימוד

  1. סקירה: מה זה אנדרואיד, סביבת העבודה (3 ש"ש)
  2. תכנות מונחה עצמים: הורשה, פולימורפיזם, מחלקות, עצמים, ממשקים (36 ש"ש)
  3. אוספים גנריים והתאמתם לשפת המימוש (6 ש"ש)
  4. טיפול בחריגות (3 ש"ש)
  5. מבוא לאפליקציה: Activity, מבנה הפרויקט, קובץ ההגדרות, מעגל חיי הפעילות (9 ש"ש)
  6. ממשק משתמש: רכיבים ותבניות XML מקוד, סידור בתבניות, שמירת מצב בשינוי תצורה (30 ש"ש)
  7. טיפול באירועים: מאזינים ב-XML, פעילות מממשת, מחלקה פנימית, מאזין בשורה (9 ש"ש)
  8. Intents: סוגי מסרים, מסנני מסרים, פעילות למטרת תוצאה (12 ש"ש)
  9. תפריטים, תיבות דו-שיח, הודעות Status bar (15 ש"ש)
  10. משאבי האפליקציה: מבנה תיקיית המשאבים, יצירה וארגון (9 ש"ש)
  11. אחסון נתונים: SharedPreferences, אחסון פנימי וחיצוני, SQLite (36 ש"ש)
  12. תכנון וניתוח אפליקציות: UML, תיאור מסכים, תרשימי זרימה, שרטוט ישויות (12 ש"ש)
  13. ספקי תוכן: Content Providers, URI, שאילתות (24 ש"ש)
  14. תהליכים והליכונים: Thread, Processes, Handler, AsyncTask (45 ש"ש)
  15. שירותים: סוגי Service, מעגל חיים, IntentService, שירות חזית, תזמון (24 ש"ש)
  16. BroadcastReceiver, שירותי מערכת, הרשאות ואבטחה, App Widgets (21 ש"ש)
  17. טלפוניה: TelephonyManager, PhoneStateListener, SMS (24 ש"ש)
  18. רכיבים מתקדמים: מולטימדיה, מצלמה, חיישנים, GPS, מפות (36 ש"ש)
  19. גרפיקה ואנימציה: View, SurfaceView, AnimationDrawable (24 ש"ש)
  20. הנחיה והגשת עבודת גמר (72 ש"ש)

יחידות הלימוד והאפליקציות

יחידהאפליקציהנושאים בתכ"לדרישות הליבהמצב
1 קרב דמויות
כל שחקן בוחר דמות (לוחם, קוסם, רובוט) עם כוחות שונים; תורות של התקפה והגנה עד שאחת הדמויות נופלת.
תכנות מונחה עצמים; אוספים גנריים; טיפול בחריגות היררכיית Character ← Warrior / Mage / Robot; ממשק Attacker; פולימורפיזם בחישוב נזק; ArrayList של מהלכים ו-HashMap לניקוד; Comparator למיון; חריגה מותאמת אישית OutOfEnergyException עם try/catch מוכן
11.10.2026
המדריך נבנה על ידי המורה מחוץ לפרויקט; קישור יתווסף בהמשך
2 ווֹרדל בעברית
ניחוש מילה בת 5 אותיות ב-6 ניסיונות; האותיות נצבעות ירוק / צהוב / אפור לפי הדיוק.
מבוא לאפליקציה; ממשק משתמש; טיפול באירועים; משאבי האפליקציה Activity ומעגל החיים עם Log בכל שלב; ConstraintLayout; לוח 6×5 של TextViews שנבנה בקוד; מקלדת עברית על המסך (מאזינים ב-4 הדרכים: XML, פעילות מממשת, מחלקה פנימית, אנונימית); strings / colors / dimens / drawables; שמירת הלוח ב-onSaveInstanceState מוכן
11.10.2026
3 מי רוצה להיות מיליונר
סולם של 15 שאלות, 3 עזרים (50:50, שאלת הקהל, טלפון לחבר), מסך פתיחה, שאלה וסיכום, שיתוף התוצאה.
Intents מספר Activities; Intent מפורש עם Bundle; startActivityForResult לבחירת עזר; Intent מרומז לשיתוף; מסנני Intent; מחסנית המסכים מתוכנן
4 ארבע בשורה נגד המחשב
שלוש רמות קושי; ברמה הקשה המחשב לא מפסיד.
תפריטים, תיבות דו-שיח, הודעות Options Menu לבחירת רמה; AlertDialog מותאם להזנת שמות; Toast ו-Snackbar למשוב; Notification "תורך"; אלגוריתם Minimax מתוכנן
5 שולחן שיאים
מודול רוחבי שמתווסף לכל משחק: הגדרות, יומן משחקים ושיאים לכל שחקן.
אחסון נתונים SharedPreferences להגדרות; קובץ פנימי ליומן; SQLite עם SQLiteOpenHelper; CRUD מלא; שאילתות ORDER BY ו-WHERE מתוכנן
6 תכנון וניתוח אפליקציות
לא אפליקציה. שלב "תכנון" קבוע בפתיחת כל יחידה.
תכנון וניתוח אפליקציות UML של המחלקות; שרטוט מסכים; תרשים זרימה; שרטוט ישויות משולב בכל יחידה
7 מי בתמונה
המשחק שולף תמונות מהגלריה ומבקש לנחש מתי ואיפה צולמו, או בונה מהן לוח זיכרון. אפליקציה שנייה קוראת את שולחן השיאים.
ספקי תוכן ContentResolver מול MediaStore; Cursor; הרשאות קריאה; ContentProvider משלנו שחושף את ה-SQLite מיחידה 5; URI ו-UriMatcher מתוכנן
8 סנייק
הנחש גדל, המהירות עולה, מכשולים מתווספים.
תהליכים והליכונים לולאת משחק ב-Thread; Handler ו-postDelayed; Runnable; איסור נגיעה ב-UI מ-Thread; סנכרון; ExecutorService; השוואה ל-AsyncTask מתוכנן
9 שעון ויכוחים
לכל דובר זמן מוגבל; השעון ממשיך לרוץ ברקע עם Notification חיה וצליל כשהזמן נגמר.
שירותים Service; Foreground Service עם Notification מתעדכנת; Bound Service; IntentService; תזמון עם AlarmManager מתוכנן
10 מצב ריכוז
אתגר "אל תיגע בטלפון" בזמן לימוד; שיחה או SMS נכנסים נרשמים כהפרעה ומורידים ניקוד; Widget מציג רצף ימים.
BroadcastReceiver, הרשאות, App Widgets; טלפוניה BroadcastReceiver ברישום סטטי ודינמי; הרשאות בזמן ריצה; TelephonyManager ו-PhoneStateListener; קריאת SMS; App Widget מתוכנן
11 ציד אוצרות
אוצרות פזורים במפה; השחקן מנווט אליהם עם מצפן, מקבל התראה בהגעה ומצלם הוכחה.
מולטימדיה, מצלמה, חיישנים, GPS, מפות SensorManager (מצפן); GPS ו-Geofence; Google Maps עם סמנים; מצלמה; MediaPlayer לצלילים מתוכנן
12 פלאפי בירד
ציפור, צינורות, ניקוד.
גרפיקה ואנימציה Custom View ו-Canvas; SurfaceView ו-SurfaceHolder; זיהוי התנגשויות; AnimationDrawable; ObjectAnimator מתוכנן
13 עבודת גמר
דף הנחיות.
עבודת גמר רמות, לוח זמנים, תיק פרויקט מתוכנן

יחידות 5 ו-7 בנויות זו על זו (שולחן השיאים נחשף כ-ContentProvider). שאר היחידות עצמאיות. יחידה 6 (תכנון) פותחת כל יחידה.