PracticU

חיישנים של המכשיר

בלי כתוביותעם כתוביות
PracticU › קורס פיתוח אפליקציות - לאנדרואיד - Android - ב-JAVA › חיישנים של המכשיר
מילון מושגים:
שירות - תוכנה שרצה ברקע ומספקת פונקציונליות לרכיבים אחרים, לרוב ללא ממשק משתמש, ומופעלת אוטומטית עם המערכת.
מחלקה - תבנית בתכנות מונחה עצמים שמגדירה אילו נתונים ופעולות יהיו לאובייקטים שנוצרים ממנה.
אמולטור - תוכנה שמחקה מכשיר או סביבה אחרת, למשל כדי להריץ ולבדוק אפליקציית מובייל על המחשב.
ממשק - נקודת מגע בין רכיבים: ממשק משתמש שבו אדם מפעיל תוכנה, או ממשק תכנותי שמגדיר אילו פעולות רכיב אחד חושף לאחר.

חיישנים של המכשיר
למכשירים יש חיישנים (Sensors) שאפשר לקרוא מהם מידע ולהשתמש בו באפליקציה, למשל Accelerometer שמזהה תנועה וכיוון, חיישן מגנטי למצפן, חיישן אור, חיישן קרבה וחיישן טביעת אצבע בחלק מהמכשירים. הצעד הראשון הוא לברר אילו חיישנים קיימים במכשיר.
איך מקבלים את הרשימה
1. SensorManager: מקבלים אותו עם getSystemService (עם הקבוע של שירות החיישנים) ומבצעים cast ל-SensorManager.
2. רשימת חיישנים: קוראים ל-getSensorList(Sensor.TYPE_ALL) ומקבלים List<Sensor>, כאשר המחלקה Sensor מתארת חיישן אחד.
3. הצגה: עוברים בלולאת foreach ומוסיפים ל-TextView את השם של כל חיישן עם getName.
תוצאות בהרצה
באמולטור הופיעו Accelerometer, חיישן שדה מגנטי, חיישן אוריינטציה, חיישן טמפרטורה וחיישן קרבה. במכשיר האמיתי, טאבלט ישן ופשוט, היה רק Accelerometer.
שימו לב
קשה ולפעמים בלתי אפשרי להשתמש בחיישני האמולטור, כי אין בו ממשק להזנת נתונים, וב-DDMS ברוב המקרים אי אפשר לדמות אותם. לכן בשיעורים הבאים ההדגמות נעשות על המכשיר האמיתי עם ה-Accelerometer.
כעת אפשר לגלות באפליקציה אילו חיישנים קיימים במכשיר שעליו היא רצה.
השיעור הבא בקורס: חיישן Accelerometer

פרקי ההרצאה: חיישנים של המכשיר

  1. 00:00

    סוגי הסנסורים במכשירי Android

  2. 00:38

    הצגת רשימת הסנסורים בלחיצה

  3. 01:18

    קבלת Sensor Manager מ-getSystemService

  4. 01:59

    מעבר על רשימת הסנסורים בלולאה

  5. 02:58

    השוואת סנסורים באמולטור ובמכשיר

תמלול ההרצאה: חיישנים של המכשיר

הטקסט המלא של הדקות הראשונות בהרצאה «חיישנים של המכשיר» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

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

  2. 00:28

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

  3. 00:50

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

  4. 01:00

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

  5. 01:16

    ומה שאנחנו צריכים לעשות זה לבנות אובייקט מסוג Sensor Manager והאובייקט הזה יכול לתת לנו נתונים לגבי סנסורים בכלל וסנסורים שקיימים במכשיר.

  6. 01:29

    בואו נבצע קאסטינג לסנסור מנאג'ר ונקרא לפונקציה getSystemService של המכשיר שיכולה להביא לנו מידע לגבי כל מיני דברים ואנחנו רוצים מידע לגבי סנסור סרוויס בצורה כזאת.

  7. 01:50

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

  8. 02:03

    אנחנו רוצים להגדיר ליסט סנסור, נקרא לזה סנסורס שווה ולגשת לסנסור מנאג'ר שבנינו, גט סנסור ליסט ולקבל מידע לגבי סנסור נקודה אול כל הסנסורים.

  9. 02:30

    כעת אנחנו יכולים לרוץ ב-foreach סנסור, נגדיר אובייקט סנסור באוסף הסנסורס שקיבלנו, נשים את זה באותה שורה ואנחנו יכולים יכולים עכשיו לגשת לטקסט view sensors שלנו ו-to append sensor.get name ולראות את השם של אותו סנסור שקיים במכשיר שעליו האפליקציה רצה.

  10. 03:01

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

  11. 03:16

    בואו ניגש לאמולטור נלחץ ונראה שהאמולטור הזה תומך באקסלרומטר, מגנטיק פילד סנסור, יש לנו אוריינטיישן סנסור, יש לנו טמפרטור סנסור ופרוקסימיטי סנסור, חיישן קרבה, חיישן טמפרטורה, חיישן אוריינטציה, חיישן מגנטי שאפשר לגלות לגבי כיוון מגנטי של כדור הארץ,

לקורס המלא: קורס פיתוח אפליקציות לאנדרואיד

ההרצאה הקודמת: Media Controller

ההרצאה הבאה: חיישן Accelerometer

הרצאות קשורות מקורסים אחרים

  • מאפיינים של המכשיר

קורסים נוספים במסלול

  • קורס יסודות התכנות - שפת JAVA - קורס ג'אווה למתחילים
  • קורס פיתוח אפליקציות - לאייפון iPhone iOS - ב-Swift-Xcode
  • קורס פלאטר - Flutter - שפת DART של גוגל למובייל - פיתוח אפליקציות לאנדרואיד ואייפון
  • קורס PhoneGap - פיתוח אפליקציות לאנדרואיד ואייפון