PracticU

Zen Wisdom

בלי כתוביותעם כתוביות
PracticU › קורס פיתוח אפליקציות - לאנדרואיד - Android - ב-JAVA › Zen Wisdom
מילון מושגים:
API - ממשק תכנותי שמגדיר כיצד תוכנה אחת פונה לאחרת ומחליפה איתה נתונים ופעולות.
כפתור - רכיב בממשק המשתמש שהמשתמש לוחץ עליו כדי להפעיל פעולה, כמו שליחת טופס או מעבר לדף אחר.
HTTP - פרוטוקול להעברת דפי אינטרנט ונתונים בין דפדפן לשרת. הגרסה המאובטחת שלו היא HTTPS.
Android - מערכת הפעלה מבוססת Linux לטלפונים ולמכשירים ניידים, שפותחה על ידי גוגל.
דפדפן - תוכנה שמציגה דפי אינטרנט ומריצה את הקוד שבהם, ומאפשרת לגלוש בין אתרים, למשל Chrome או Firefox.
קוד סטטוס - מספר שהשרת מחזיר בתגובת HTTP ומציין את תוצאת הבקשה, למשל 200 להצלחה או 404 לא נמצא.
פרמטר - ערך שמועבר לפונקציה או לפקודה כקלט, ומשפיע על אופן פעולתן ועל התוצאה שהן מחזירות.
אירוע - התרחשות שהמערכת מזהה ויכולה להגיב לה, כמו לחיצת עכבר, הקשה או סיום פעולה.

Zen Wisdom
בעזרת מחלקת AsyncTask שנבנתה בהרצאה קודמת, בונים אפליקציה שגולשת ל-API מרוחק ומציגה ציטוטים של פילוסופים, כולל אפשרות לבחור פילוסוף ספציפי בעזרת Radio Buttons.
איך זה עובד
1. הפעלת הגלישה: בלחיצת כפתור נבנה אובייקט מ-TextDownloader (מחלקה שיורשת מ-AsyncTask) ומבוצע עליו execute עם קישור ל-API, כמו http://android-demo-apis.appspot.com/simplezen.
2. בדיקת ה-API בדפדפן: אפשר לגלוש ישירות לקישור בדפדפן ולראות שבכל רפרש מתקבל ציטוט אחר מפילוסוף אחר - כך בודקים כל API לפני שמשתמשים בו מהאפליקציה.
3. דיאלוג התקדמות: ב-on-pre-execute מוצג ProgressDialog עם כותרת, הודעת "please wait" ואייקון, ונסגר ב-on-success וב-on-error.
4. הצגת התוצאה: בהצלחה מוצג הטקסט שהתקבל ב-TextView. בשגיאה מוצגים הודעת השגיאה וה-HTTP status code.
5. שליחת פרמטר ל-API: לפי התיעוד (דוקומנטציה) של ה-API, שולחים פרמטר בשם master עם סימן שאלה בתחילת הקישור (?master=buddha). כדי לשלוח יותר מפרמטר אחד מפרידים ביניהם ב-&.
6. בחירת פילוסוף ב-UI: בונים ארבעה Radio Button בתוך Radio Group (Buddha, Lao Tzu, Osho, All), ולכולם אירוע onClick משותף שמעדכן משתנה master באמצעות switch על ה-ID של הכפתור שנבחר. אפשרות "All" שולחת מחרוזת ריקה, שמחזירה ציטוט מכל פילוסוף באקראי.
7. שרשור הפרמטר לקישור: המשתנה master משורשר לקישור ה-API לפני ביצוע execute, כך שכל בחירה מביאה ציטוטים רק מהפילוסוף שנבחר.
פקודות והגדרות
- פרמטר master בקישור ה-API (למשל master=lao_zu, master=osho).
- הפרשה (&) בין כמה פרמטרים כמו country ו-city.
- uses-permission של INTERNET - חובה להגדיר אותו כדי לבצע גלישה ל-API מרוחק.
בסיום ההרצאה האפליקציה שולחת פרמטרים ל-API מרוחק ומציגה את התוצאה בהתאם לבחירת המשתמש.
השיעור הבא בקורס: Google Finance API

פרקי ההרצאה: Zen Wisdom

  1. 00:00

    אתר שמחזיר ביטויי פילוסופים

  2. 00:57

    סקירת מחלקת TextDownloader

  3. 01:39

    הפעלת ההורדה עם execute ולינק

  4. 02:45

    בדיקת ה-API בדפדפן

  5. 03:23

    הצגת ProgressDialog בזמן ההורדה

  6. 04:30

    הצגת הביטוי או הודעת שגיאה

  7. 05:38

    הרצה ובחירת פילוסוף מה-API

תמלול ההרצאה: Zen Wisdom

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

  1. 00:01

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

  2. 00:14

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

  3. 00:33

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

  4. 00:55

    יש לנו כאן את הטקסט דאונלודר שכבר בנינו בסרטון הקודם, יורש ASyncTask, יש לנו כאן את ה-on-pre-execute שרק מודיע שאנחנו הולכים להתחיל, יש לנו את ה-doing-background שמתבצע ברקע, גולש לאתר המרוחק ובאון-post-execute או שיש הצלחה ואז אנחנו נותנים את הטקסט שהורדנו או שיש איזושהי שגיאה ואז אנחנו מדווחים את השגיאה ואת הסטטוס קוד שלה.

  5. 01:24

    אז המחלקה הזאת כבר מוכנה, ומה שאנחנו רוצים לעשות זה לגשת לקוד של ה-Java, ויש לנו פה את ה-Text View Phrase, ואנחנו רוצים לבנות אובייקט מה-Text Downloader, New Text Downloader, נגיד לו שאנחנו כ-Main Activity ממשים את הפונקציות שלו, בואו נממש אותן, הנה הם פה, ומה שאנחנו רוצים זה Text Downloader וTo Execute ולשלוח איזשהו לינק.

  6. 02:11

    בואו ניקח כאן את הלינק והלינק והלינק הבא. HTTP, יש לנו את Android, מקף demo, מקף APIs.apppot.com simplezen. כל הלינק הזה זה לינק של אנדרואיד שאנחנו יכולים לגלוש אליו וזה דמו כזה של אתר אנדרואיד שאומר לנו תגלשו, תקבלו איזשהו פרייז, איזשהו ביטוי של אחד הפילוסופים הגדולים עכשיו מה שמעניין זה שאנחנו יכולים את כל הלינקים של ה-APIs באינדרנט פשוט לבדוק אותם

  7. 02:58

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

  8. 03:27

    ואנחנו רוצים ב-on about to begin להציג איזה דיאלוג כזה כמו שהיה לנו פרוגרס לא בר, פרוגרס דיאלוג הנה יש לנו פה את הפרוגרס דיאלוג ואז אנחנו פה יכולים להתחיל ולהציג את זה אז יש לנו את הפרוגרס דיאלוג שווה new אפליקציה בעצם האקטיביטי שלנו זה הקונטקסט שצריך לשלוח ומכאן אנחנו רוצים to set title downloading, ואנחנו רוצים

  9. 04:07

    to set message, please wait ואנחנו רוצים to set icon, והנה האיקון הקודם שהיה לנו ולבסוף, show, זה מציג את הדיילוג גם ב-on success וגם ב-on error, אנחנו רוצים to dismiss the dialogue וזה דברים שממש חוזרים על עצמם כל הזמן כאן אנחנו רוצים לגשת לטקסט view phrase ולנקות אותו כאן אנחנו רוצים לגשת לטקסט view

  10. 04:52

    phrase ולשים את הדאונלודד טקסט ובאבמן השגיאה אנחנו רוצים לגשת ולשים שם error ושוב פעם לציין בארור מהי הודעת השגיאה ומהי ה-HTTP status code נשרשר את זה ל-http-status-code ונשרשר את זה ל-error-message והנה יש לנו פה הצגה של שגיאה במידה ותתרחש ואנחנו כבר יכולים לגשת ולבדוק את זה ובואו נלחץ על הלחצן

  11. 05:41

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

  12. 06:24

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

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

ההרצאה הקודמת: הורדה פשוטה - Download

ההרצאה הבאה: Google Finance API

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

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