Подтвердить что ты не робот

Какая разница между действиями и намерениями в Android?

Может ли кто-нибудь объяснить мне разницу между "Activity" и "Intent" на платформе Android?

4b9b3361

Ответ 1

В очень простом языке Activity - это ваш пользовательский интерфейс и все, что вы можете сделать с помощью пользовательского интерфейса. Когда вы переходите из одного пользовательского интерфейса, вам нужно запустить этот новый пользовательский интерфейс с помощью Intent. Intent - это ваше событие, которое передается вместе с данными из первого пользовательского интерфейса в другой.

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

Intent живет как объект, деятельность живет с лицом и взаимодействием. Надеюсь, что это было полезно.

Ответ 2

Существующие ответы прекрасны, но вот действительно базовое определение двух с некоторыми ссылками.

Activity

Приложение component для отображения пользовательского интерфейса. Класс активности - это взаимодействие всех пользовательских взаимодействий (нажатия кнопок, выбор списка). Действие указывает макет, который будет отображаться на экране.

Intent

Умысел - это системное сообщение. Это может быть broadcast вокруг системы для уведомления других приложений (или ваших собственных!) О событии или их можно использовать для запроса того, чтобы система отображала новую деятельность.

Ответ 3

Если все, что вы знаете о намерениях, это когда вы используете их для начала нового действия, я могу понять ваше замешательство.

В простейшем случае вы начинаете новое действие следующим образом:

Intent intent = new Intent(this, SomeOtherActivity.class);
startActivity(intent);

Похоже, вы начинаете свою деятельность, а активность, которую вы начинаете, "намерена". Но то, что вы действительно делаете, вызывает метод startActivity(), и вы передаете ему контейнер, называемый "намерение". Этот контейнер сообщает startActivity(), что делать.

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

Intent intent = new Intent(this, SomeOtherActivity.class);
startActivity(intent);
intent.putExtra("ANIMAL_TYPE", "unicorn");
intent.putExtra("ANIMAL_COLOR", "ruby");
startActivity(intent);

Теперь, когда вы вызываете startActivity(), он смотрит на намерение и знает, что ему нужно запустить класс SomeOtherActivity. Кроме того, в классе SomeOtherActivity вы можете получить доступ к этим переданным парам ключ/значение из этого намерения следующим образом:

Bundle extras = getIntent().getExtras(); 
if(extras !=null) {
    String animal = extras.getString("ANIMAL_TYPE");
    String animalColor = extras.getString("ANIMAL_COLOR");
}

Ответ 4

Это разные классы, которые никак не могут быть изменены. Ожидаемое использование подклассов Activity - это управление содержимым и поведением окна приложения. Intent s, с другой стороны, являются простыми структурами обмена данными, которые часто используются для запуска новых Activity 'es и передачи данных к ним, но они также имеют и другие виды использования.

Ответ 5

Класс Activity заботится о создании окна (полноэкранного или плавающего) для вас, в котором вы можете поместить свои пользовательские интерфейсы, чтобы действия взаимодействовали с пользователем.

Усилия в основном используются, когда вы хотите переключиться с одного вида (например, на одно действие) на другое.

Когда вы в данный момент находитесь в ActivityOne.class, и вы вызываете:

Intent i = new Intent(this, ActivityTwo.class);
startActivity(i); 

то ActivityTwo будет отображаться пользователю.

Ответ 6

Деятельность: Это как веб-страница, например. домой, контакт. Он содержит всю пользовательскую часть приложения.

Намерение: Вы можете думать о Намерении как о способе открыть другое действие. Это в основном помогает открыть новую деятельность вместе с данными из предыдущей деятельности.

Ответ 7

Хотя здесь есть много хороших объяснений, я хотел бы высказать свое собственное мнение в отношении Activity и Intent. Activity - это компонент пользовательского интерфейса, который вы видите на своем экране. Intent - это объект сообщения, который используется для запроса действия от того же/другого компонента приложения.

enter image description here

Ссылка: Намерение, Деятельность

Ответ 8

Мероприятия: Деятельность - это компонент, который вы видите на экране, с некоторой связанной логикой для управления жизненным циклом и навигацией. Приложение будет состоять из нескольких действий. При переходе с экрана на экран, как правило, вы меняете действия, заменяя то, что на экране, новым содержимым и контроллером. ПРОВЕРЬТЕ ЦИКЛ ЖИЗНИ ДЕЯТЕЛЬНОСТИ

Содержание: навигация между действиями управляется Intents. Intent - это тип сообщения, которое приложения передают через Android OS заинтересованным лицам по телефону.