PracticU

Device Shake

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

Device Shake
עוד דוגמה ללוגיקה על ערכי ה-Accelerometer: זיהוי של ניעור המכשיר. מוחקים את הקוד של הטיית המכשיר מהשיעור הקודם ומחליפים אותו בנוסחה אחרת.
איך מזהים ניעור
1. הנוסחה: מחשבים accelerationSquareRoot כסכום x בריבוע, y בריבוע ו-z בריבוע, ומחלקים בריבוע של הכבידה (SensorManager.GRAVITY_EARTH כפול עצמו). יש גם קבועי כבידה של כוכבי לכת אחרים, למשל Jupiter ו-Mars. המרצה חיפש נוסחה כזאת באינטרנט.
2. הצגה: מציגים את הערך ב-TextView.
3. תנאי: אם הערך גדול או שווה ל-3, המכשיר מנוער.
4. פעולה: משנים את צבע הרקע של ה-layout (setBackgroundColor) לצבע אקראי מהפונקציה getRandomColor.
5. צבע אקראי: מייצרים אדום, ירוק וכחול, כל אחד כ-(int) (Math.random() * 256), כלומר מ-0 עד 255, ומחזירים Color.rgb.
בדיקה
כשהמכשיר נח, הערך נשאר קבוע והצבע לא משתנה. כשמנערים אותו, הצבע מתחלף לצבע אקראי בכל ניעור.
אפשר לשלב את הערכים בכל לוגיקה, כולל משחקים, או לשנות גרפיקה בתגובה לתנועה, וגם להשתמש בחיישנים אחרים.

פרקי ההרצאה: Device Shake

  1. 00:00

    זיהוי ניעור המכשיר עם Accelerometer

  2. 00:40

    חישוב עוצמת התאוצה ביחס לגרביטציה

  3. 01:43

    הצגת הערך ובדיקת סף הניעור

  4. 02:25

    שינוי צבע רקע אקראי בניעור

תמלול ההרצאה: Device Shake

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

  1. 00:02

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

  2. 00:28

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

  3. 00:38

    וזה מתבצע בצורה הבאה, יש לנו פה משתנה float, נקרא לו AccelerationSquareRoot וניתן לו את x בריבוע ועוד y בריבוע ועוד z בריבוע ונחלק את כל זה ב-SensorManager, נקודה גראביטי ושימו לב שיש כאן גראביטי של כל מיני כוכבי לכת אנחנו מחפשים את גראביטי earth כי אנחנו נמצאים בכדור הארץ כרגע ויש לנו את ג'ופיטר ומרס

  4. 01:19

    אולי בשביל כל מיני משחקים שנמצאים שם ויש שם את הגראביטי שלהם ושימו לב אפילו שיש את גראביטי death star 1 של מלחמת הכוכבים מעניין טוב אנחנו עדיין בארץ אז בואו ניקח את גראביטי earth כפול עוד פעם גרוויטי ארת' כלומר הגרוויטי שלנו בריבוע.

  5. 01:43

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

  6. 02:11

    במידה וזה נכון, אז זה אומר שמנערים את המכשיר. מה נעשה במקרה הזה? בואו נייצר צבע רנדומלי. היה לנו כאן למעלה, בדוגמה הקודמת, את ה-content frame layout.

  7. 02:25

    אז בואו ניקח את ה-content frame layout, ונגדיר set background color, ונקרא לאיזה פונקציה get random color שאנחנו כמובן צריכים לבנות.

  8. 02:42

    בואו ניגש לכאן private int get random color, ניקח גוון אדום, ניקח את math.random, ניקח מספר רנדומלי בין 0 ל-1 ונכפיל אותו ב-256 ואת כל זה אנחנו רוצים להפוך ל-integer.

  9. 03:03

    נשכפל את זה גם לגרין

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

ההרצאה הקודמת: Device Inclination

ההרצאה הבאה: הסבר על הרשאות על אנדרואיד

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

  • Device Events
  • בדיקות בענן Amazon AWS Device Farm - חלק 1

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

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