Activities - שאלה של מתחיל...

פורום המפתחים ך- Android SDK. שאלות, רעיונות ונושאים אחרים.

מנהל: מנהלי פורומים

Activities - שאלה של מתחיל...

הודעהעל ידי developer82 ב א', 29 ינואר 2012, 23:59

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

כשאני פותח את התוכנית, ב-MainActivity שלי אני עושה בדיקה אם property של מספר משתמש נרשם במכשיר או לא. אם לא נרשם עושה startActivity ל class של הרשמה, אם נרשם עושה את זה עבור ה inbox.

זה עובד, אבל (חייב להיות אבל אחרת לא הייתי פה :oops: )...
קודם כל - אני לא יודע אם זו הדרך הנכונה. בעיקרון חשבתי על זה שאני פשוט ב activity הראשי יכולתי פשוט להגיד לתוכנית איזה layout להראות. אבל אז היה לי גם את הקוד של ההרשמה וגם את הקוד של ה inbox באותו class של ה main activity וזה נראה לי לא מסודר.
בדרך שבה אני עשיתי את זה, אם עולה המסך ואני לוחץ על הכפתור של ה back אז זה חוזר למסך שחור ולא יוצא מהאפליקציה (כמו שזה אמור לעשות כשלוחצים back ממסך ראשי).

מה אני עושה לא בסדר?

תודה
developer82
 
הודעות: 13
הצטרף: ב', 26 ספטמבר 2011, 21:51

מכשיר: Samsung Galaxy
גירסא:

Re: Activities - שאלה של מתחיל...

הודעהעל ידי gilgil ב ב', 30 ינואר 2012, 00:59

אמרת בעצמך שאתה פותח activity שעושה בדיקה
ומעביר ל activity אחר בהתאמה

שאתה לוחץ back הוא עושה finish ל activity הנוכחי ומעביר למי שקרא לו
שזה ה activity שלך שעושה את הבדיקה
אבל הוא ריק ובגלל זה יש לך מסך שחור

הפתרון מצוי בתכנון מחדש של איך ליישם את זה
כי אין לך שום שגיאה
צריך להסתכל רק קדימה %#!

האפליקציות שלי
תמונה
Swipers
https://play.google.com/store/apps/deta ... ps.swipers
סמל אישי של המשתמש
gilgil
 
הודעות: 1597
הצטרף: ו', 03 ספטמבר 2010, 16:56

מכשיר: אחר
גירסא: 4.0

Re: Activities - שאלה של מתחיל...

הודעהעל ידי Rotop ב ב', 30 ינואר 2012, 08:08

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

[ Post via my SmartPhone! ] תמונה
Rotop
 
הודעות: 211
הצטרף: ג', 30 אוגוסט 2011, 01:32

מכשיר: אחר
גירסא:

Re: Activities - שאלה של מתחיל...

הודעהעל ידי developer82 ב ב', 30 ינואר 2012, 08:49

gilgil - קודם כל, טוב לדעת שאני לא לגמרי טועה בכיוון... אבל כמה שאלות - מה הכוונה "תכנון מחדש של איך ליישם את זה" (לא הגזמתי כשאמרתי "שאלה של מתחיל" בכותרת :lol: ).
שנית, אם יש לי activity שמשמש רק לפתיחת activity אחר - זה לא סוג של בזבוז זכרון או משהו?

Rotop - איך בדיוק אני עושה את זה? אם תוכל להראות דוגמה אני מאוד אשמח.
developer82
 
הודעות: 13
הצטרף: ב', 26 ספטמבר 2011, 21:51

מכשיר: Samsung Galaxy
גירסא:

Re: Activities - שאלה של מתחיל...

הודעהעל ידי Rotop ב ב', 30 ינואר 2012, 18:06

החלק הזה כבר אמור להיות קיים אצלך בצורה כזו או אחרת:
קוד: בחר הכל
Intent i = new Intent(....);
startActivity(i);

אז פשוט תוסיף אחרי זה finish:
קוד: בחר הכל
Intent i = new Intent(....);
startActivity(i);
finish();
האפליקציות שלי:
תמונהתמונה
Rotop
 
הודעות: 211
הצטרף: ג', 30 אוגוסט 2011, 01:32

מכשיר: אחר
גירסא:

Re: Activities - שאלה של מתחיל...

הודעהעל ידי developer82 ב ב', 30 ינואר 2012, 18:22

תודה רבה! זה עובד :-)
developer82
 
הודעות: 13
הצטרף: ב', 26 ספטמבר 2011, 21:51

מכשיר: Samsung Galaxy
גירסא:


חזור אל פורום מפתחים