1 of 19

השתלמות

"אנדרואיד – פרויקט לבגרות"

מנחה: זאב פריימן

2 of 19

אקטיביטי LogRegCasual

קיימות די הרבה אפשרויות

ליצירת אחת או כמה אקטיביטי

עבור ביצוע פעילות

זיהוי/רישום/שימוש מזדמן

בסיס נתונים

3 of 19

אפליקציה שלי

אקטיביטי

פתיחה

(start)

אקטיביטי

תגובה

()feedback

אקטיביטי

רישום/זיהוי/מזדמן

(LogRegCasual)

4 of 19

למשל:

בסיס נתונים

5 of 19

למשל:

זיהוי/רישום/מזדמן

6 of 19

למשל:

זיהוי/רישום/מזדמן

7 of 19

למשל:

זיהוי/רישום/מזדמן

8 of 19

למשל:

זיהוי/רישום/מזדמן

9 of 19

מימוש של אפשרות

"הכל על אותו מסך":

  • מציבים 4 רכיבים מסוג EditText המתאימים גם עבור זיהוי וגם עבור רישום
  • מסתירים שניים – מסך נראה מתאים לזיהוי
  • מציבים RadioGroup ובתוכו 2 RadioButton, אחד מהם כבר מסומן
  • מציבים 2 לחצנים
    • כיתוב על ראשון משתנה כתלות בבחירת RadioButton ולחציצה עליו גורמת לביצוע בדיקות וכניסה לשימוש של ממש באפליקציה
    • לחיצה על שני – עבור משתמש מזדמן שלא מעוניין ברישום וזיהוי

זיהוי/רישום/מזדמן

10 of 19

מימוש של אפשרות

"הכל על אותו מסך":

  • בוחרים אפשרות (RadioButton) "זיהוי" = מסתירים 2 רכיבים (עבור מספר טלפון ועבור דוא"ל) ומציבים על הלחצן הראשון כיתוב Log in

  • בוחרים אפשרות (RadioButton) "רישום"=מציגים כל ארבע רכיבים ומציבים על הלחצן הראשון כיתוב Registry

זיהוי/רישום/מזדמן

11 of 19

זיהוי/רישום/מזדמן

12 of 19

בדיקות:

  • האם משתמש בכלל רשם משהו ברכיב מסוג EditText
  • עבור ערך של סיסמה: תלמיד יכול לקבוע דרישות משלו (גודל, תווי חובה...) ואז הוא חייב לדאוג שמשתמש אקבל בצורה ברורה הסבר על הדרישות לסיסמה
  • עבור דוא"ל קיימות הרבה בדיקות...
  • עבור מספר טלפון תלמיד גם יכול לשים הגבלות, אבל שאלה האם כדאי...

הבדיקה חשובה במיוחד היא בדיקה בבסיס נתונים:

האם קיים או לא קיים משתמש עם הנתונים

שהוזנו

זיהוי/רישום/מזדמן

13 of 19

בדיקת קיום/לא קיום

נתוני המשתמש בטבלה בבסיס הנתונים.

  • בזיהוי – טוב אם משתמש כן קיים

  • ברישום – טוב אם משתמש לא קיים

בסיס נתונים

14 of 19

בדיקת קיום/לא קיום

נתוני המשתמש בטבלה בבסיס הנתונים.

כאן אפשר (אני – ממליץ!)

להשתמש בתהליך רקע (ב-Thread, למשל)

כי עקרוני זה עלול להיות

תהליך שממשיך "יותר מידי זמן"

בסיס נתונים

15 of 19

למשל:

בסיס נתונים

16 of 19

אם באפליקציה יש צורך בכל שלב לדעת

איזה משתמש כעת משתמש בה

(עבור שמירת נתונים, שליחת הודעות...),

אז דרך "טבעית" היא

העברת נתון/נתונים מזהים

מאקטיביטי לאקטיביטי.

למשל: עצם המכיל מידע על משתמש

(עצם user)

העברת נתונים

17 of 19

עבור העברת עצם בין האקטיביטי

אני ממליץ להוסיף למחלקת העצם

ממשק

Serializable

או

Parceble

העברת נתונים

18 of 19

העברת נתונים Serializable

19 of 19

העברת נתונים Parcelable

https://guides.codepath.com/android/using-parcelable