
http://finance.google.com/finance/info עם הפרמטר q, בפורמט בורסה, נקודותיים וסימול המניה, למשל NASDAQ:FB לפייסבוק. התשובה מתחילה בסוגריים מרובעים, כלומר מערך, ובתוכו אובייקט.t הוא סימול המניה, l המחיר הנוכחי ו-elt זמן העדכון האחרון. ישנם שדות נוספים כמו l_fix, שלא נעשה בהם שימוש.EditText לסימול המניה, כפתור ו-TextView להצגה. משתמשים שוב ב-TextDownloader מהסרטונים הקודמים, יחד עם ProgressDialog. יש הרשאת אינטרנט ב-manifest, וה-Activity מממשת את ה-Callbacks. בלחיצה על הכפתור בונים את הקישור, מחברים לסוף את הסימול שהוקלד וקוראים ל-execute. ב-onAboutToBegin מנקים את התצוגה הקודמת.Stock: מכילה symbol, value ו-time, עם getters ו-setters ו-toString שמחזיר את הנתונים בשורות נפרדות.JSONObject ממנה. מוציאים getString של t לסימול, של l כ-Double לערך ושל elt לזמן. הוא זורק חריגה, ולכן מוסיפים אותה לחתימה, והקורא מטפל בה.onSuccess: בונים new Stock(result) ומציגים stock.toString(). בחריגה מציגים ex.getMessage() ב-TextView.onError מתבצעת ומוצגת הודעת שגיאה, והאפליקציה לא קורסת. אפשר להציג למשתמש הודעה ברורה יותר, ולהחליף את ה-EditText ב-Spinner עם רשימת מניות, כדי שלא יצטרך להכיר את הסימולים.הטקסט המלא של הדקות הראשונות בהרצאה «Google Finance API» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
בקטון הקודם השתמשנו באסינג טאפק שבנינו בטקסט דאונלודר בכדי לבצע גלישה לאי-פי-איי של האתר של אנדרואיד ולהחזיר מידע לגבי פילוסופים המידע שהבנו היה מידע טקסטואלי טהור כלומר פליין טקסט אבל רוב הפעמים שאנחנו נביא מידע מאי-פי-איי הם לא יחזירו פליין טקסט הם יחזירו מידע בג'ייסון
כי ראינו כשלמדנו על קבצים שJSON זה פורמט שמאפשר להגדיר מידע הוא בעצם משמש הרבה יותר מפורמט XML לשליחת מידע וקבלת מידע בעולם האינטרנט API משתמשים בקבלה של JSON ובהחזרה של JSON הרבה פעמים ולכן חשוב שנראה דוגמה אחת איך אנחנו יכולים לקבל מידע מ-API מרוחק שנמצא בפורמט JSON ואיך אנחנו שולפים ממנו את המידע הפנימי ומציגים אותו
אנחנו הולכים להשתמש עם API של Google Finance בכדי לקבל מידע לגבי מניות בזמן real time כלומר מה המנייה שווה עכשיו או לפחות ב-24 שעות האחרונות ה-API שלנו הוא http financegoogle.com slash finance slash info ואז אנחנו צריכים לתת לו פרמטר, הפרמטר שאנחנו נותנים לו קודם כל
זה Q שווה וזה בעצם איזה בורסה אנחנו רוצים וזה יהיה בוא נניח לדוגמה NASDAQ ואז איזה מנייה אנחנו רוצים להביא אז זה יהיה נקודותיים ואת המנייה שאנחנו רוצים לדוגמה FB זה פייסבוק אז בואו נלחץ על Enter ואנחנו מקבלים בחזרה מידע ג'ייסוני ושימו לב שבגלל שאנחנו מקבלים קודם כל סוגריים מרובעים זה אומר שאנחנו מקבלים מערך
בתוכו יש לנו סוגריים מסולסלות אז זה אומר שיש בו אובייקטים ובתוך האובייקט כמובן יש מידע, כאן אנחנו רואים שיש איזשהו קוד מסוים, יש את השם של המנייה, fb לדוגמה, זה בפרמטר t, ואנחנו רואים שיש גם את המחיר שלה, את המחיר הנוכחי, וזה פרמטר l.
יש פה כל מיני סוגים שונים, L-Fix ו-L-Current, נסתפק כרגע ב-L, ובעצם אנחנו רוצים לדעת מה השם של המניה ומה המחיר שלה. ואפילו בואו ניקח גם את הזמן שבו המניה עודקנה לאחרונה.
הנה אנחנו רואים את הזמן הזה. אז אנחנו רוצים להתעסק עם שלושת הדברים האלה באפליקציה שלנו ולהביא את כל ה-JSON ולשלוף ממנו את מה שאנחנו רוצים ולהציג. אז בואו נראה איך אנחנו יכולים לבצע את זה אז יש לנו פה אפליקציה שיש בה כבר ממשק מוכן ובממשק יש לנו את תיבת Edit Text בכדי להכניס את ה-stock symbol זה הקוד של המנייה והיה לדוגמה ה-FB שמקודם הכנסנו עבור פייסבוק
יש לנו כאן לחצן שמאפשר ללחוץ עליו ולהביא את המנייה ו-Text View בכדי להציג את הפרטים שלה מה יש לנו בג'אבה קוד? בג'אבה קוד יש לנו כאן את המשתנים של ה-edit text וה-text view, פה איתרנו אותם ב-on create, יש לנו כאן progress dialogue, כמו שהיינו מקודם בסרטונים הקודמים, כבר אנחנו ירשנו את
callbacks שנמצא בטקסט דאונלורדר, טקסט דאונלורדר מצורף לפרויקט, יש לנו כמובן במאניפסט גם הרשאת אינטרנט, אז הכל מוכן ובשלושת הפונקציות כבר יש לנו כאן את הפרוגרס דיאלוג שפשוט ב-on about to begin רק מוצגת ב-on success אנחנו מורידים אותה את הדיאלוג ב-on error מורידים אותה ומציגים הודעת שגיאה
את כל הקוד הזה עשינו כבר בסרטונים קודמים אנחנו כאן רוצים רק לראות איך אנחנו מטפלים בכל הנושא של ה-JSON אז דבר ראשון, אנחנו משתמשים בטקסט דאנלודר בצורה רגילה מפני שבעצם הבאנו טקסט, הטקסט הזה הוא בפורמט ג'ייסוני אבל עדיין הבאנו מידע טקסטואלי הדבר הבא שאנחנו רוצים לעשות זה לגשת ללחצן ולקרוא לטקסט דאנלודר ולהפעיל אותו אז כאן אנחנו צריכים קודם כל שיהיה לנו את
הסימבול של הסטוק, הסמל של המנייה עצמה, וזה כמובן מתקבל מהedit text symbol, בואו ניגש לגט text to string, והנה היוזר מכניס לנו פייסבוק או גוגל או כל סמל שהוא רוצה, טקסט downloader נבנה אובייקט חדש, נגיד לו שהmain activity מממשת את האינטרפייס שלו, ואנחנו רוצים לקרוא לאקסקיוט ולשלוח לינק, אז בואו נבנה פה string link, והלינק ניקח אותו כבר מהטר הזה, ctrl c, ונשים אותו פה, ctrl v, ובמקום fb נשרשר את הסימבול,
ועכשיו אנחנו יכולים לגשת ולשלוח את הלינק המלא שמכיל גם את הבורסה וגם את המנייה בבורסה שאנחנו רוצים. כאן אנחנו כבר יכולים לגשת ולבנות את ה-on success.
on success, מה שאנחנו רוצים לעשות זה להציג את המידע. דרך אגב בואו ב-on about to begin נעשה set text לסימבול. לא בעצם לסימבול, אנחנו רוצים לעשות לטקסט view value ולנקות אותו מהמנייה הקודמת שהייתה בו.
ובגלל שאנחנו מתעסקים פה עם JSON, מה שאנחנו רוצים לעשות זה לשלוף מהJSON את המידע ולהציב אותו בUI. זה כדאי לבצע על ידי מחלקה יהודית שמתארת את המידע.
ובגלל שהמידע שאנחנו מביאים כרגע זה מידע של מניות ואנחנו מביאים מידע של מניה אחת אז בואו נבנה מחלקה שפשוט נקראת stock ומתארת את הדאטה של מניה אחת ויש לנו כאן את הסימבול של המניה, את הסמל שלה, את המספרותיות שמתארות את המניה יש לנו כאן את הvalue שלה ובואו נגדיר עוד איזשהו string של הדאטה שהמניה לאחרונה עודכנה בואו נבנה כאן גתרים וסטרים,
Alt-Insert, בואו ניקח Geters and Setters ונבנה לכולם, ובואו ניגש פה למטה, Alt-Enter, אני