מפגשי אנדרואיד עם זאב

כאן מרוכזים חומרי המפגשים של זאב. שמות המפגשים נשמרים כפי שהם מופיעים בדרייב.

עמודת תקציר מובילה לסעיף המתאים בהמשך הדף. בכל סעיף אפשר להוסיף בהמשך תקציר מפורט, קישורים לדפי האתר, תרגילים והערות הוראה.

מצגות

מפגש מצגת תקציר
Meeting#1 פתיחה תקציר
Meeting#1 כלים תקציר
Meeting#1 AI תקציר
Meeting#1 למידה תקציר
Meeting#2 JobScheduler תקציר
Meeting#2 Sensors תקציר
Meeting#2 Service תקציר
Meeting#3 Custom Design תקציר
Meeting#3 DB תקציר
Meeting#3 Android Emulator — Genymotion תקציר
Meeting#4 AlarmManager תקציר
Meeting#4 Notification תקציר
Meeting#6 Fragments — בגרות 2023 תקציר
Meeting#6 Fragment תקציר
Meeting#6 מצגת Fragment תקציר
Meeting#6 Lifecycle of Activity תקציר
Meeting#8 Background Process תקציר
Meeting#8 Thread תקציר
Meeting#9 BroadcastReceiver 2 תקציר
Meeting#9 BroadcastReceiver — קורס 2025 תקציר
Meeting#9 BroadcastReceiver תקציר
Meeting#10 JSON API תקציר
Meeting#12 Menu — קורס 2025 תקציר
Meeting#12 Menu 1 תקציר
Meeting#12 Menu 2 תקציר
Meeting#12 אפשרויות Popup של Menu תקציר
Meeting#13 ActivityResultLauncher — קורס 2025 תקציר
Meeting#13 ActivityResultLauncher תקציר

הקלטות

מפגש הקלטה תקציר
לא נמצאו הקלטות בתיקיות המפגשים בדרייב.

תקצירי המצגות

Meeting#1 — פתיחה

מצגת פתיחה להשתלמות: מטרת ההוראה היא שליטה והבנה של התלמיד בפרויקט, ולא רק תוצר עובד. היא מדגישה למידה מכל מקור — כולל AI — לצד אחריות התלמיד להבין את הקוד שלו. ראו את תפקיד המורה, דרישות המינימום והמרחב למימוש ואת הכלל לשימוש ב־AI בפרויקט.

Meeting#1 — כלים

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

Meeting#1 — AI

המצגת מציבה את ה־AI ככלי עבודה לימודי: המטרה היא לשמר יצירתיות וידע אצל תלמידים, וללמד אותם לשאול שאלות מדויקות ולהבין את התשובות. ראו את המסגרת הפדגוגית ואת עקרונות העבודה המעשיים עם כלי AI.

Meeting#1 — למידה

מפת מקורות ללמידה עצמית: התיעוד הרשמי של Android, קהילת Stack Overflow, וסרטוני YouTube — עם מודעות לכך שרמת ההסבר ועדכניות החומר משתנות. ראו את התיעוד הרשמי ואת הדיון במקורות קהילתיים ובווידאו.

Meeting#2 — JobScheduler

היכרות עם JobScheduler להרצת עבודה מחזורית ברקע תוך התחשבות ברשת ובסוללה. המצגת גם מבדילה בינו לבין AlarmManager ומסבירה את תנאי ההפעלה שמגדירים למשימה. ראו את מתי לבחור בכל מנגנון, את הצורך ב־BroadcastReceiver לאחר אתחול המכשיר ואת תנאי הרשת.

Meeting#2 — Sensors

מבוא לחיישני Android: סוגי החיישנים, מגבלות השימוש בהם בפרויקט, הדמיה באמולטור ועבודה עם SensorManager ו־SensorEventListener. ראו את דוגמאות החיישנים המובנים, את Virtual sensors באמולטור ואת גישה לשירות החיישנים.

Meeting#2 — Service

Service הוא רכיב שמנוהל בידי מערכת Android ויכול להמשיך לפעול גם כאשר האפליקציה ממוזערת; אין לו גישה ישירה לממשק המשתמש. המצגת מתארת רישום ב־Manifest, פעולות מחזור החיים והפעלה/עצירה באמצעות Intent. ראו את ההבחנה מתהליך רקע ואת הפעלת השירות ועצירתו.

Meeting#3 — Custom Design

עיצוב מותאם אישית נועד בראש ובראשונה להתאים רכיבים לצורך הביצוע. המצגת מדגימה התאמה של Toast ו־AlertDialog בעזרת שילוב של XML ו־Java, ומשווה גם ל־Snackbar. ראו את תבנית העבודה XML → Java → זימון עבור Toast ואת ההתאמה האישית של AlertDialog.

Meeting#3 — DB

מבוא ל־SQLite בפרויקט Android: שדות ורשומות, שמירה ושליפה, סגירת בסיס הנתונים, ושימוש מומלץ ב־SQLiteOpenHelper ובמחלקות עזר. מוצגות גם רמות מורכבות אפשריות לפרויקט. ראו את כללי הבסיס, את המלצות התכנון ואת רמת המינימום לפרויקט.

Meeting#3 — Android Emulator — Genymotion

מדריך לבחירת סביבת הרצה כאשר האמולטור של Android Studio מתקשה לפעול: משאבי מחשב, עדכונים וחלופות — מכשיר פיזי או Genymotion. ראו את הגורמים האפשריים לקושי, את החלופות המומלצות ואת יכולות Genymotion.

Meeting#4 — AlarmManager

AlarmManager מאפשר לתזמן פעולה עתידית גם כשהאפליקציה אינה פעילה או כשהמכשיר נעול. המצגת מפרקת את המנגנון ל־AlarmManager, Intent ו־PendingIntent ומציגה הפעלות חד־פעמיות, חוזרות ומדויקות. ראו את מטרת השירות, את רכיבי ההפעלה ואת סוגי התזמון.

Meeting#4 — Notification

בניית התראות מערכת: רכיבי ההתראה, הרשאת Android 13+, ערוץ התראות ויצירה/פרסום של ההתראה. ראו את מרכיבי Notification ואת שלושת שלבי ההקמה.

Meeting#6 — Fragments — בגרות 2023

מבוא מדורג ל־Fragments כחלופה לשימוש במספר Activities: יצירה ועיצוב של Fragment, הקצאת מכולה באקטיביטי והצגה או החלפה דרך המנהל. ראו את ההבדל בין Activity ל־Fragment, את שלבי היצירה הראשונים ואת הוספת Fragment לאקטיביטי.

Meeting#6 — Fragment

מצגת מעמיקה על Fragments: אופן ההצגה, מחזור החיים, Context בטוח, FragmentManager ו־FragmentTransaction, והעברת מידע בעזרת Bundle. ראו את מחזור החיים של Fragment, את FragmentTransaction ואת העברת נתונים בעזרת Bundle.

Meeting#6 — מצגת Fragment

מדריך נוסף ומפורט ל־Fragments: הגדרת FragmentContainerView, ניהול Fragments מתחלפים, פעולות FragmentManager, ודוגמאות להעברת מידע בין Fragments. ראו את יצירת Fragment, את ניהול Fragment מתחלף ואת דוגמת העברת המידע.

Meeting#6 — Lifecycle of Activity

המצגת מסבירה את מחזור החיים של Activity ומה מתאים לבצע בכל שלב: יצירה, תצוגה, אינטראקציה, אובדן מיקוד, עצירה והשמדה. היא מדגישה גם שמירת מצב באמצעות Bundle והימנעות מעבודה ארוכה ב־onCreate. ראו את onCreate והסיכון לחסימת ה־UI, את שמירת מצב בעזרת Bundle ואת onPause ו־onStop.

Meeting#8 — Background Process

מבוא לעבודה ברקע: מדוע לא מבצעים עבודה ממושכת ב־UI thread, אילו מנגנונים קיימים ב־Android, ומה ההבדל בין תהליך רקע לבין גישה לממשק. ראו את הבעיה בזרם הראשי, את העברה לזרם רקע ואת מפת מנגנוני העבודה ברקע.

Meeting#8 — Thread

הסבר על Thread אסינכרוני: UI thread לעומת זרמי רקע, יצירת Thread עם Runnable, עדיפויות, בעיות תזמון, וחזרה בטוחה לממשק בעזרת runOnUiThread. ראו את ההבחנה בין הזרם הראשי לרקע, את יצירת Thread ואת הגישה ל־UI מזרם רקע.

Meeting#9 — BroadcastReceiver 2

מדריך קצר ליצירת BroadcastReceiver: יצירת המחלקה ב־Android Studio, הרישום האוטומטי ב־Manifest, השלמת הרשאות ומסנן אירועים, ומימוש onReceive. ראו את יצירת המקלט ב־Android Studio, את הרישום וה־Manifest ואת onReceive.

Meeting#9 — BroadcastReceiver — קורס 2025

מבוא פדגוגי ל־BroadcastReceiver: אילו אירועי מערכת אפשר לזהות, כיצד אפשר להגיב בלי גישה ישירה ל־UI, ומתי עדיף מנגנון חלופי — במיוחד לבדיקת חיבור לאינטרנט. ראו את דוגמאות אירועי המערכת, את דרכי התגובה האפשריות ואת המקרה המיוחד של רשת.

Meeting#9 — BroadcastReceiver

מצגת יסוד על BroadcastReceiver: Broadcast הוא Intent שאינו מכוון ל־Activity מסוים; המקלט יורש מהמחלקה המתאימה, נרשם ומבוטל לפי הצורך ומגיב ב־onReceive. ראו את מהו שידור במערכת, את דרישות בניית המקלט ואת רישום וביטול רישום לפי מחזור החיים.

Meeting#10 — JSON API

הורדת נתונים מהאינטרנט ו־parsing של XML, JSON ו־API: שיטות גישה לנתונים, מעבר הולך וגובר ל־API ומפתחות גישה, ודוגמאות לאפליקציות המשתמשות ב־AsyncTask או Thread. ראו את שתי גישות העבודה עם קובצי נתונים, את המעבר ל־API ואת דוגמת InfoJSON.

Meeting#12 — Menu — קורס 2025

סקירה של תפריטים בפרויקט Android: קובץ XML לסעיפים, רכיב שמציג אותו וקוד תגובה; Options menu, Popup menu ושימוש במחלקת בסיס כדי להימנע משכפול קוד. ראו את שלושת רכיבי התפריט, את Options menu ואת הימנעות משכפול קוד בעזרת מחלקת אב.

Meeting#12 — Menu 1

מדריך רחב לתפריטי Options, Popup ו־Context: היתרונות למשתמש, קובץ XML בתיקיית menu, פעולות ההצגה והתגובה, ושינוי תוכן דינמי דרך Java. ראו את סוגי התפריטים, את בניית Options menu ואת תפריט Context בלחיצה ארוכה.

Meeting#12 — Menu 2

מדריך מעשי ל־OptionsMenu ו־PopupMenu: הגדרת סעיפים ב־XML, ניפוח התפריט ותגובה לבחירה ב־Java, הוספה או הסתרה דינמית, וקישור Popup לרכיב בממשק. ראו את מבנה Options menu ב־XML, את ניפוח ותגובה לבחירה ואת בניית PopupMenu.

Meeting#12 — אפשרויות Popup של Menu

מצגת זו היא עותק של מצגת Menu 2, ומתמקדת באותם סוגי תפריטים ובפרט ב־PopupMenu: הגדרה ב־XML, בחירת רכיב עוגן, הצגה, וקוד תגובה לבחירת סעיף. ראו את מבנה Options menu ואת שלבי יצירת PopupMenu.

Meeting#13 — ActivityResultLauncher — קורס 2025

היכרות עם ActivityResultLauncher כתחליף המודרני ל־startActivityForResult: הכרזה על המשתנה, רישום עם ActivityResultContract והפעלה. מוצגים חוזים להרשאות, תוכן, צילום ופתיחת מסמכים. ראו את הסיבה למעבר למנגנון החדש, את בחירת חוזה ואת טבלת החוזים והשימושים.

Meeting#13 — ActivityResultLauncher

מצגת יסוד על קבלת תוצאה מ־Activity או מפעולה חיצונית, והמעבר מהשיטה המיושנת לשימוש ב־ActivityResultLauncher. התהליך בנוי מהכרזה, רישום עם חוזה ומימוש עיבוד התוצאה, ואז זימון. ראו את המעבר מהשיטה הישנה, את שלב הרישום והחוזה ואת שלב הזימון.