Intent.putExtra (String, Bundle) vs Intent.putExtra (Bundle)

Этот вопрос может показаться глупым, но я не знаю. Когда мы Intent.putExtra() название деятельности в Intent.putExtra() ? В одном случае мы добавляем дополнительные только с расслоением, а в других случаях мы передаем его с именем класса. Я немного смущен, если мы используем Intent.putExtra(String, Bundle) мы уже передали имя активности в конструкторе Intent или нет?

Спасибо за вашу помощь!

Я думаю, вы имеете в виду putExtra(String, Bundle) и putExtras(Bundle)s ).

Первый добавляет пакет в качестве значения для ключа, который вы предоставляете. Пакет прост – значение объекта.

Второй добавляет все пары ключ / значение из предоставленного пакета в намерение. В этом случае содержимое пакета будет добавлено к намерению, а не самому пакету.

Думайте о них, как в интерфейсе Map :

 Map.put(String key, Object value) 

против

 Map.putAll(Map anotherMap) 

Подход – это просто разница. Если вы используете Bundle вы можете хранить в нем почти все типы:

 Bundle mBundle = new Bundle(); mBundle.put(key, value); 

И передать его деятельности

 mIntent.putExtras(mBundle); 

И в другой деятельности, которая получает информацию, просто возьмите содержимое пакета так:

  Bundle extras = getIntent().getExtras(); 

И хватаем каждый элемент в bundle следующим образом:

 extras.getString("myKey")