Android. Отпрвка данных в новое активити.
От: skyred  
Дата: 09.09.11 18:58
Оценка:
Всем доброго времени суток!
Вопрос скорее больше по теории Java, но надеюсь сильно плеваться не будете
Чтобы передать параметр из Activity A в Activity B я могу пойти двумя путями.
Путь 1
создаю дополнительный класс, в котором объявляю все мои передаваемые переменные:
public class GLOBAL {
 public static Integer mInt=0;
}

и когда из A открываю B, то в А: GLOBAL.mInt=5, а в B когда надо, то считываю это значение GLOBAL.mInt

Путь 2
В А перед открытием B:
Bundle mBundleId = new Bundle();
mBundleId.putInt("mId", 5);
Intent mIntent = new Intent(this, B.class);
mIntent.putExtras(mBundleId);
startActivityForResult(mIntent, 1);

в B чтобы считать значение:
Integer mId = (this.getIntent().getExtras()).getInt("mId");

Какой из вариантов более правильный и почему?



12.09.11 10:10: Перенесено из 'Java'
Re: Android. Отпрвка данных в новое активити.
От: Sergii Zagriichuk  
Дата: 11.09.11 20:20
Оценка:
Здравствуйте, skyred, Вы писали:

S>Всем доброго времени суток!

S>Вопрос скорее больше по теории Java, но надеюсь сильно плеваться не будете
S>Чтобы передать параметр из Activity A в Activity B я могу пойти двумя путями.
S>Путь 1
S>создаю дополнительный класс, в котором объявляю все мои передаваемые переменные:
S>
public class GLOBAL {
S> public static Integer mInt=0;
S>}

S>и когда из A открываю B, то в А: GLOBAL.mInt=5, а в B когда надо, то считываю это значение GLOBAL.mInt

S>Путь 2

S>В А перед открытием B:
S>
Bundle mBundleId = new Bundle();
S>mBundleId.putInt("mId", 5);
S>Intent mIntent = new Intent(this, B.class);
S>mIntent.putExtras(mBundleId);
S>startActivityForResult(mIntent, 1);

S>в B чтобы считать значение:
S>
Integer mId = (this.getIntent().getExtras()).getInt("mId");

S>Какой из вариантов более правильный и почему?

Через екстраз, почему ? потому, что это динамичность!!! все что через глобал — статичность, представь, что ты выпускаешь вторую версию программы и нужно дописать новые передаваемые переменные, или модифицировать, с екстрахами ты модифицируешь intent call (только в одном конктетном месте), что в принципе ожидаемо во втором глобальный класс для каждого из вызовов!!!,
Re[2]: Android. Отпрвка данных в новое активити.
От: skyred  
Дата: 11.09.11 20:31
Оценка:
Здравствуйте, Sergii Zagriichuk, Вы писали:
>Через екстраз, почему ? потому, что это динамичность!!! все что через глобал — статичность, представь, что ты выпускаешь вторую версию программы и нужно дописать новые передаваемые переменные, или модифицировать, с екстрахами ты модифицируешь intent call (только в одном конктетном месте), что в принципе ожидаемо во втором глобальный класс для каждого из вызовов!!!,
Ну есть ещё тема с синглетонами ... Ответы есть тут
Re[3]: Android. Отпрвка данных в новое активити.
От: jitm  
Дата: 11.09.11 21:56
Оценка:
Здравствуйте, skyred, Вы писали:

S>Здравствуйте, Sergii Zagriichuk, Вы писали:

>>Через екстраз, почему ? потому, что это динамичность!!! все что через глобал — статичность, представь, что ты выпускаешь вторую версию программы и нужно дописать новые передаваемые переменные, или модифицировать, с екстрахами ты модифицируешь intent call (только в одном конктетном месте), что в принципе ожидаемо во втором глобальный класс для каждого из вызовов!!!,
S>Ну есть ещё тема с синглетонами ... Ответы есть тут
О синглетонах и почему их лучше не юзать прочитайте на stackoverflow линка под рукой нету, но именно под андроид она там обсуждалась!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.