פרויקט סיום קורס אנדרואיד
עליכם לבנות אפליקציה להצגת מזג אוויר נוכחי לפי עיר ולפי מיקום המשתמש.
האפליקציה תקבל את המידע אונליין מ-API המספק מידע עדכני לגבי מזג אויר שיתואר בהמשך.
מה על האפליקציה לבצע
1. קבלת עיר מהמשתמש ע"י תיבת טקסט והצגת המידע הבא עבור העיר שהמשתמש הזין:
תאריך ושעה נוכחיים: __________
מדינה: __________
עיר: __________
טמפרטורה במעלות צלסיוס: __________
טקסט תיאור מזג האוויר: __________
אייקון המייצג את מזג האוויר: __________
כל המידע הזה קיים ב-JSON המוחזר מה-API.
2. הצגת כל המידע הנ"ל, אך עבור המיקום הנוכחי של המשתמש.
יש לצורך כך להשיג את המיקום הנוכחי של המשתמש (Latitude and Longitude) ולשלוח ל-API במקום העיר.
3. כל בקשה של מידע (בין אם ע"י עיר ובין אם ע"י המיקום הנוכחי) יש לשמור בצד הלקוח במסד נתונים SQLite.
יש לשמור את כל הפרטים הנ"ל בטבלה, כולל id אותו מסד הנתונים יספק.
4. הוספת מסך להצגת היסטוריית הבקשות שנשמרה במסד הנתונים.
על המסך להכיל RecyclerView המציג את התאריך, את העיר ואת הטמפרטורה בלבד.
בלחיצה על פריט ברשימה – יש להציג מסך נוסף המציג את כלל המידע הנ"ל לגבי הפריט שנלחץ.
5. אפשרות למחיקת רשומה אחת ממסד הנתונים.
6. אפשרות למחיקת כל המידע ממסד הנתונים.
מהיכן אתם משיגים את המידע
עליכם להירשם לאתר https://www.apixu.com
לאחר הרישום אתם מקבלים Serial Number איתו אתם יכולים לקבל דיווחי מזג אויר.
לדוגמה, גלישה ללינק בפורמט הבא (לפי עיר), תחזיר לכם את נתוני מזג האוויר הנוכחיים של ת"א:
https://api.apixu.com/v1/current.json?key=2e214349911277091811&q=Tel
Aviv
לדוגמה, גלישה ללינק בפורמט הבא (לפי מיקום גאוגרפי), תחזיר לכם את נתוני מזג האוויר של ירושלים:
https://api.apixu.com/v1/current.json?key=2e214349911277091811&q=31.80,35.25
כמובן שבמקום ה-Serial Number הנ"ל, שהינו פיקטיבי, עליכם להכניס את ה-Serial Number שלכם שקיבלתם מהאתר.
דגשים נוספים לביצוע הפרויקט
· על האפליקציה לעבור קומפילציה
· על האפליקציה לרוץ ללא שגיאות או קריסות
· יש לבצע בדיקות מקיפות לאיתור באגים או קריסות
לדוגמה, מה קורה אם למשתמש אין אינטרנט והוא מנסה להשתמש באפליקציה
לדוגמה, מה קורה אם למשתמש יש אינטרנט אך הוא נמצא בתוך מבנה שבו אין קליטת GPS
· חשוב לתעד את הקוד שאתם כותבים. אין צורך לתעד כל שורה אך חשוב לתעד פונקציות מורכבות
· חשוב לשמור על Naming Conventions נכונים של שפת ג'אווה.
· יש לכתוב קוד עם נקודת מבט של DRY – Don't Repeat Yourself
· רצוי להשתמש ב-Fragments
· על האפליקציה להיות מעוצבת בצורה אסתטית (צבעים, רקעים, גופנים, Styles, אייקונים, תמונות וכדומה)
· על האפליקציה להיות מותאמת גם ל-Marshmallow ומעלה מבחינת נושא ההרשאות (Runtime Permissions)
· כדאי מאוד להעלות את האפליקציה ל-Google Play ולצרף לינק להורדה.
בהצלחה