PracticU

הרשאות רגילות על אנדרואיד

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

הרשאות רגילות על אנדרואיד
הדגמה של Normal Permission: אפליקציה שמחליפה את ה-wallpaper של המכשיר, ומה צריך לעשות כדי שזה יעבוד גם ב-Lollipop וגם ב-Marshmallow.
מה עושים בפועל
1. האפליקציה: יש כפתור change wallpaper ו-TextView להודעות. הקוד משתמש במחלקה WallpaperChanger, שבוחרת תמונה אקראית מתוך מערך של תמונות ומחליפה את ה-wallpaper. הפעולה עלולה לזרוק exception, ולכן הקריאה עטופה ב-try/catch.
2. הודעות: בהצלחה מוצג "Wallpaper has been successfully changed", ובכישלון מוצגת הודעת ה-exception.
3. גרסאות המכשירים: המכשיר האמיתי הוא Android 5.x, כלומר Lollipop, והאמולטור הוא 6.0, כלומר Marshmallow. הגרסה נבדקת ב-Settings תחת About Tablet או About Phone.
4. הרצה בלי הרשאה: בשני המכשירים מתקבל exception מסוג access denied, עם ההודעה שחסרה ההרשאה set wallpaper.
5. הוספה ל-manifest: מוסיפים uses-permission עבור SET_WALLPAPER.
6. הרצה חוזרת: ב-Lollipop וגם ב-Marshmallow ההודעה על הצלחה מופיעה, וה-wallpaper מתחלף בכל לחיצה.
שימו לב
ב-Normal Permission אין צורך בקוד מיוחד לזמן ריצה. מספיק להגדיר את ההרשאה ב-manifest, בכל גרסת אנדרואיד. ההרצאה הבאה עוסקת בטיפול ב-Dangerous Permission.
השיעור הבא בקורס: הרשאות מסוכנות על אנדרואיד

פרקי ההרצאה: הרשאות רגילות על אנדרואיד

  1. 00:00

    שינוי Wallpaper כדוגמה להרשאה רגילה

  2. 00:58

    מחלקת Wallpaper Changer והתמונות

  3. 02:08

    טיפול בחריגה והודעת הצלחה

  4. 03:07

    בדיקת גרסת Android במכשירים

  5. 04:07

    הרצה ללא הרשאה במניפסט

תמלול ההרצאה: הרשאות רגילות על אנדרואיד

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

  1. 00:02

    אז הדבר הראשון שאנחנו הולכים לראות זה מהו הטיפול עבור normal permissions, גם על לליפאפ וגם על מרשמלו. יש לנו כאן אפליקציה, יש לנו כאן לחצן ואיזשהו text view, ומה שאנחנו רוצים לעשות זה לשנות את ה-wallpaper של המכשיר.

  2. 00:23

    ושינוי ה-wallpaper של המכשיר מצריך permission, אבל normal permission. אז קודם כל בואו נגדיר כאן איזה שהוא טקסט, change wallpaper, נגדיר כאן on click, button change wallpaper, underline on click, ובואו נגדיר את האירוע בקוד, ומה שיש לנו כאן זה איזה שהוא wallpaper changer, שזאת איזה

  3. 00:58

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

  4. 01:27

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

  5. 01:51

    אם אנחנו רואים את זה על לליפאפ זה כמובן תקף לכל מה שהיה לפני ומרשמלו יתקף כנראה מעכשיו עד מה שיש אחרי אלא אם כן ישנו את הפרמישן וורקפלו אז בואו נגדיר כאן wallpaper change, changer נקודה change wallpaper ובגלל שהפונקציה הזאת זורקת חריגה אז אנחנו צריכים להגדיר פה איזשהו try

  6. 02:17

    catch ובתוך ה-catch אנחנו רוצים לתפוס את ה-exception ואנחנו רוצים להציג את ה-exception יש לנו פה text view message, set text ובואו נציג את ה-message של ה-exception ואם הכל בסדר, בואו נכתוב בתוך ה-TextView Message את המחרוזת Wallpaper has been successfully changed.

  7. 02:49

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

  8. 03:10

    בואו ניגש ל-Settings, נחפש כאן About Tablet, ואנחנו רוצים להיכנס ל-Version Information, ולראות שאנחנו גרסת 5, 5.0, 5.1 וכל ה-5.x האלה, זה גרסת לליפאפ, וזה בעצם המכשיר האמיתי שלנו.

  9. 03:33

    בואו נצא ונסתכל מה קורה באמולאטור, באמולאטור ניכנס ל-Settings, נחפש כאן ב-Settings גם כן את ה-Versioning Information, הנה זה, About Phone, ניכנס, והנה אנחנו רואים כאן Android Version 6.0 ו-6.משהו זה בעצם גרסת מרשמלו, גם כמובן 7, זה גרסה חדשה יותר ממרשמלו, מה נקרא נוגט.

  10. 04:07

    ואנחנו רוצים לנסות את זה גם על ה-workflow הזה וגם על ה-workflow הזה. אז בואו ניגש ונריץ את האפליקציה, והיא נהירצה על האמולטור וגם על המכשיר האמיתי, וכאמור אין לנו כרגע את ההרשאה הדורשה במניפסט, ואנחנו פשוט לוחצים על הלחצן קודם כל במכשיר האמיתי ב-Lollipop, ואנחנו רואים שיש לנו פה exception, access denied to process,

  11. 04:35

    זה ה-ID של הפרוסס, must have permission, android, permission, set wallpaper, בואו נבצע את זה גם על Marshmallow, ונקבל את אותו הדבר, ומה שקרה כאן זה פשוט exception, המערכת קרסה, ולכן הגענו לקאץ' ופשוט הצגנו את הודעת השגיעה.

  12. 04:53

    בואו ניגש עכשיו לאנדרויד מניפסט ופשוט נרשום Use as Permission ויש לנו Wallpaper,

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

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

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

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

  • הרשאות על קבצים - חלק 1
  • הרשאות NTFS
  • הרצת הטסטים האוטומטיים - אנדרואיד סטודיו
  • חיבור אייפון וסימולטור של אנדרואיד ל-Flutter

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

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