activity באנדרואיד

userit8

New member
activity באנדרואיד

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

יש לי 2 activity באפלקיציה. אם אני נמצאת באחד מהם ואז עוברת לשני ואז חוזרת לראשון - ה onCreate של הראשון נקרא שוב?
 

פרסאוס

New member
מה זה חוזרת לראשון?

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

userit8

New member
זה יותר מדי קוד בשביל לשים פה..

יש לי אקטיביטי א ואקטיביטי ב - אני נמצאת ב א' , עוברת ל ב' , חוזרת ל א' (באמצעות כפתורים שיש לי באפלקיציה). ברגע זה (לאחר החזרה ל א') נראה שוב ה onCreate , בניגוד למה שאני מצפה שיקרה...
 

nocgod

New member
הדבר הזה קשור למעגל החיים של activity

http://developer.android.com/training/basics/activity-lifecycle/index.html

תקרא את 4 השיעורים שיש שם בלינקים (זה לא ארוך) והכי חשוב תפנים - מניסיון אני אומר לך, כשלא מכירים את הlifecycle מתחילים לעשות hackים מגעילים כדי לעקוף את העובדה שהכל היה יופי אם רק הייתי יודע איך זה עובד.
עד כמה שאני מבין מעגל החיים של activity הוא כזה:
onCreate() -> onStart() ->onResume() -> onPause() -> onStop() -> onDestroy() zz
כשאתה עובר מactivity אחד לאחר אתה קורא למתודה onStop() z של הactivity ממנו אתה יוצא
כשאתה חוזר לactivity שיצאת ממנו אתה קורא למתודות הבאות onRestart() -> onStart() -> onResume() z כפי שאתה רואה אתה לא קורא שוב ל onCreate אלא אם כן עשית לactivity הזה destroy (כלומר אמרת לו finish)

למרות שהסברתי בקצרה פה אני ממליץ בחום לעבור בצורה מעמיקה על הלינק ששלחתי לך ועל ה4 שיעורים שמצויינים שם
בהצלחה.
 

userit8

New member
מה כוונתך ב

"אמרת לו finish" ? , אצלי כשקורה התיאור שאמרתי הוא כן קורא שוב ל onCreate
 

nocgod

New member
הכוונה היא ב

http://developer.android.com/reference/android/app/Activity.html#finish() כלומר אני מחסל את הactivity,
זה משהו שתרצה לעשות לרוב נגיד בactivity שמשמש כsplashActivity - אתה לא תרצה לחזור אליו יותר אף פעם אחרי סיום עבודתו ואתה לא תרצה לשמור אותו בזיכרון כי סתם חבל.

http://developer.android.com/reference/android/app/Activity.html פה יש פירוט מלא על יכולות הactivity והמצבים בהם הוא יכול להמצא בכל שלב ושלב
http://developer.android.com/training/basics/firstapp/starting-activity.html פה מוסבר איך נכון לעבור בין activity לactivity

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