Как отправить данные в новое действие из текущего действия через intent?

#java #android

#java #Android

Вопрос:

Как я могу использовать intent для отправки данных во второй класс?

Я делаю это на самом деле

 Intent connectGetData = new Intent(Main.this, GetData.class);
startActivityForResult(connectGetData, REQUEST_GET_DATA); 
  

Из Main.java действия я вызываю Getdata.java действие, и когда я возвращаюсь, я снова получаю данные, используя.

 public void onActivityResult(int mRequestCode, int mResultCode, Intent mDataIntent) 
  

Пожалуйста, скажите мне, как я могу отправить данные в другое действие

Ответ №1:

Вы передаете данные вместе с Intent, используя два механизма, в зависимости от потребностей вашего приложения.

  1. Поле данных через Intent.setData() : Это URI, который вы можете использовать для указания местоположения ресурса, который может потребоваться новому действию
  2. Дополнительные функции, через Intent.putExtra() : Вы можете присоединить к Intent столько дополнительных функций, сколько захотите, чтобы представить данные, которые вам нужно передать (как вперед к новому действию, так и назад с результатом). Дополнительными могут быть любые примитивные или легко сериализуемые объекты.

HTH

Комментарии:

1. ОК. для одного значения я могу передать его. если я хочу передать сразу два строковых значения, как это можно сделать с помощью putExtra ()?

2. Вызовите putExtra() дважды, по одному для каждой строки. Каждое дополнительное идентифицируется уникальным ключом, поэтому добавляйте столько дополнительных функций, сколько хотите. Просто добавьте каждому из них уникальный ключ, чтобы вы могли вернуть их позже с помощью getStringExtra ()

Ответ №2:

При отправке действия…

 Intent intent = new Intent(current.this, next.class);
intent.putextra("keyName","value");
startActivity(intent);
  

При получении действия…

 String data = getIntent().getExtras().getString("keyName");
  

Таким образом, вы можете получать данные при получении activity из sending activity…