Как отправлять переменные из основной деятельности в несколько видов деятельности в android?

Я пытаюсь создать приложение, которое

  1. MainActivity
    it is a login page , it contain 4 variable, when i click the login button, it goes to another activity HomeTab using an intent
    Intent i = new Intent(FirstMain.this,Home_tab.class);
    startActivity(i);

  2. HomeTab - it has three Tab views.
    a. Profile
    b. Account
    c. Settings

Моя проблема заключается в том, как передать 4 переменные из MainActivity в 3 действия на вкладке

1

7 ответы

Вы можете добавить Bundle в качестве дополнительного параметра в намерении

Bundle bundle = new Bundle();
bundle.putString("key", "peanuts");
bundle.putInteger("key2", 100);
i.putExtras(bundle);

Затем, чтобы получить его

final Bundle parameters = this.getIntent().getExtras();
String food = parameters.getString("key");
3
добавлено
Это просто для одного действия, которое запускается не для нескольких действий, которые еще не запускаются.
добавлено автор uzay95, источник

В классе 1:

i.putExtras("Variable1", "Value1");
i.putExtras("Variable2", 2);
i.putExtras("Variable3", true);
startActivity(i);

В классе 2:

String Var1 = this.getIntent().getExtras().getString("Variable1");
int Var2 = this.getIntent().getExtras().getInt("Variable2");
boolean Var3 = this.getIntent().getExtras().getBool("Variable3");
3
добавлено

Вы можете передать их в намерении, которое вы используете для запуска операции HomeTab (см. Намерение ).

2
добавлено

используйте aim.putExtra для передачи значений, которые вы хотите

Intent i=new Intent(FirstMain.this,Home_tab.class);
i.putExtra("Profile", "profiledata");
i.putExtra("Account", "Account data");
startActivity(i)

и получить эти пропущенные значения в следующей деятельности

Intent intent = getIntent();
String id = intent.getStringExtra("Profile");
String name = intent.getStringExtra("Account");

Check How do I get extra data from intent on Android?

1
добавлено

у вас есть два варианта.

  1. вы можете использовать намерение.
  2. вы можете использовать sharedpreferences.
1
добавлено

В операции входа отправьте переменную через Intent

Intent i = new Intent(FirstMain.this,Home_tab.class);
i.putExtra("var1", "username");
i.putExtra("var2", "activity";
startActivity(i);

В Home_Tab получить намерение

Intent intent = getIntent();
String id = intent.getStringExtra("var1");
String name = intent.getStringExtra("var2");

For info on shared preferences see here

1
добавлено
я не хочу передавать данные в Home_Tab Activity, для передачи данных требуется два раза. то есть; сначала передайте данные из MainActivity в Home_tab Activity, затем из Home_tab в три tabActivity, я хочу напрямую передать данные в 3 tabActivity. есть ли какой-нибудь способ .... я думаю, что предпочтение отдается лучше ... есть ли кто-нибудь может привести пример ...
добавлено автор Sibin francis, источник
я не хочу передавать данные в Home_Tab Activity, для передачи данных требуется два раза. то есть; сначала передайте данные из MainActivity в Home_tab Activity, затем из Home_tab в три tabActivity, я хочу передать данные в 3 tabActivity напрямую. Когда я использую два намерения в MainActivity, т.е. один для перенаправления на Home_tab Activity, а другой для передачи значений в одну из tabActivity, тогда он показывает ошибку .. есть ли какой-либо способ .... я думаю, что предпочтительным вариантом является лучший способ .. есть ли кто-нибудь может привести пример ...
добавлено автор Sibin francis, источник
Большое спасибо
добавлено автор Sibin francis, источник

Если у вас есть число «глобальных» переменных, вы можете настроить «BaseActivity», который наследует от Activity, не имеет коучингового представления, а затем все остальные действия наследуются от BaseActivity, а не непосредственно из Activity.

Это позволяет использовать общедоступные общие переменные в BaseActivity, которые могут получить все ваши другие действия, которые наследуют от этого.

Очевидно, будьте осторожны с этой техникой, она может быть очень беспорядочной и привести к глобальным переменным, которые не должны быть глобальными и т. Д. Но это удобно для очистки кода, который дублируется по представлениям (общие методы в BaseActivity) или передачи информации между представлениями , как состояние loggedIn.

0
добавлено
Mobile Dev Jobs — вакансии и аналитика
Mobile Dev Jobs — вакансии и аналитика
6 187 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению iOS, Android, Xamarin и т.д. ВАЖНО: Правила публикации и правила канала: Ссылка – https://telegra.ph/Pravila-oformleniya-vakansij-i-rezyume-11-09-2

Android Developers
Android Developers
4 476 участник(ов)

Общаемся на темы, посвященным Android-разработке, SDK, Kotlin, Realm и т.д.

Android Architecture
Android Architecture
2 186 участник(ов)

Русскоязычный чат по архитектуре в андроид приложениях. Подробнее: http://telegra.ph/Android-Architecture-12-24

rus-speaking/android
rus-speaking/android
1 705 участник(ов)

Основной чат по Android разработке (вопрос-ответ). ПРАВИЛА: bit.ly/andr-rules. NEWS: bit.ly/AnrdResId ЧАТЫ: Основной: bit.ly/andr-main IDE, сборка, Git, сервисы: bit.ly/andr-tools Оффтоп: bit.ly/andr-offtop Конференции, события: bit.ly/andr-events Вакансии, найм: bit.ly/andr-job Архитектура: bit.ly/andr-patterns Rx: bit.ly/andr-rx Тестирование: bit.ly/andr-test Kotlin: bit.ly/andr-kotlin Хаmarin: bit.ly/andr-xamarin За мат, спам, агрессию, предложения о работе, оффтоп в этом канале - бан на сутки и более ☢☢☢

Android Dev Подкаст
Android Dev Подкаст
1 325 участник(ов)

Комната для обсуждения Android Dev подкаста apptractor.ru/AndroidDev/ Общее обсуждение Android: https://t.me/android_ru Остальные чаты про Android: http://t.me/devChats Наши новости https://t.me/androiddevpodcast_news

Android Guards
Android Guards
602 участник(ов)

Обсуждение любых вопросов касающихся безопасности Android. - Защита системы и приложений - Уязвимости и эксплойты - Вредоносное ПО - Копание в кишках системы и приложений (RE)

Android JOB
Android JOB
466 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению Android (full-time, part-time, remote и разовые подработки)

AndroidDev :: Разработка. It's Android time now!
AndroidDev :: Разработка. It's Android time now!
458 участник(ов)

It's Android time now! Чат разработчиков Android. Вакансии, резюме и информацию о митапах размещать можно. Публикацию скрытой и явной рекламы ваших каналов и сайтов после получения разрешения от @olegushakov

Aandroid Talks!
Aandroid Talks!
212 участник(ов)

Чат об общих вопросах по ОС Android. Чат для разработки под андроид - pro.android: https://t.me/joinchat/AAAAAEKIFKnmRT9cMebb9w

Android Rus
Android Rus
68 участник(ов)