Что такое Намерение в Android?
- Что такое Намерение в Android?
- Может кто-нибудь уточнить на примере?
- Какие типы Intents и почему мы их используем?
- Почему Интенты так важны в Android?
18 ответов
Намерение - это "намерение" выполнить действие; другими словами,
объект обмена сообщениями, который можно использовать для запроса действия у другого компонента приложения
Намерение - это сообщение о том, что вы сделали или хотите, чтобы что-то произошло. В зависимости от цели приложения или ОС могут его прослушивать и будут реагировать соответственно. Думайте об этом как о взломанной электронной почте для группы друзей, в которой вы говорите своему другу Джону сделать что-то, или друзьям, которые могут сделать X ( "фильтры намерений"), чтобы сделать X. Другие люди будут игнорировать электронную почту, но Джон (или друзья, которые могут сделать X) будет реагировать на это.
Для прослушивания широковещательного намерения (например, звонка телефона или получения SMS) вы реализуете широковещательный приемник, которому передается намерение. Чтобы объявить, что вы можете обрабатывать намерения другого приложения, такие как "сделать снимок", вы объявляете фильтр намерений в файле манифеста вашего приложения.
Если вы хотите запустить намерение что-то сделать, например, открыть номеронабиратель, вы включите намерение сказать, что вы будете.
Что такое Намерение?
Намерение - это в основном сообщение, которое передается между компонентами (такими как " Действия", " Услуги", "Вещательные приемники" и " Поставщики контента"). Таким образом, это почти эквивалентно параметрам, передаваемым вызовам API. Принципиальные различия между вызовами API и вызовом компонентов через намерения:
- Вызовы API являются синхронными, в то время как вызовы, основанные на намерениях, являются асинхронными.
- Вызовы API привязываются во время компиляции, в то время как вызовы на основе намерений связываются во время выполнения.
Конечно, Intents можно заставить работать точно так же, как вызовы API, используя так называемые явные намерения, которые будут объяснены позже. Но чаще всего подразумеваются неявные намерения, и именно это объясняется здесь.
Один компонент, который хочет вызвать другой, должен только выразить свое намерение выполнить работу. И любой другой компонент, который существует и который заявил, что может выполнять такую работу через фильтры намерений, вызывается платформой Android для выполнения этой работы. Это означает, что ни один компонент не знает о существовании друг друга, но все же может работать вместе, чтобы дать желаемый результат для конечного пользователя.
Эта невидимая связь между компонентами достигается с помощью комбинации намерений, фильтров намерений и платформы Android.
Это приводит к огромным возможностям, таким как:
- Смешивать и сочетать или, скорее, подключи и играй компонентов во время выполнения.
- Замена встроенных приложений Android приложениями, разработанными на заказ.
- Повторное использование на уровне компонентов внутри и между приложениями.
- Сервисная ориентация на самый гранулированный уровень, если можно так выразиться.
Вот дополнительные технические подробности об Intents из документации Android.
Намерение - это абстрактное описание выполняемой операции. Его можно использовать с startActivity для запуска Activity, для передачи BroadIntent его любым заинтересованным компонентам Broadcast Receiver, и startService(Intent) или bindService(Intent, ServiceConnection, int) для взаимодействия с фоновой службой.
Intent предоставляет возможность для позднего связывания во время выполнения между кодом в разных приложениях. Его наиболее важное применение - запуск мероприятий, где его можно рассматривать как связующее звено между действиями. По сути, это пассивная структура данных, содержащая абстрактное описание выполняемого действия. Основными частями информации в намерении являются:
- действие Общее действие, которое необходимо выполнить, например ACTION_VIEW, ACTION_EDIT, ACTION_MAIN и т. д.
- данные Данные, с которыми нужно работать, например, запись о человеке в базе данных контактов, выраженная в виде Uri.
Учить больше
Намерения - это способ рассказать Android, что вы хотите сделать. Другими словами, вы описываете свое намерение. Интенты могут использоваться для оповещения системы Android о том, что произошло определенное событие. Другие компоненты в Android могут зарегистрироваться на это событие через фильтр намерений.
Ниже приведены 2 типа намерений
1. Явные намерения
используется для вызова определенного компонента. Когда вы знаете, какой компонент вы хотите запустить, и вы не хотите давать пользователю свободный контроль над тем, какой компонент использовать. Например, у вас есть приложение, которое имеет 2 действия. Действие A и действие B. Вы хотите запустить действие B из действия A. В этом случае вы определяете явное намерение, нацеленное на действие B, а затем используете его для прямого вызова.
2. Неявные намерения
используется, когда у вас есть представление о том, что вы хотите сделать, но вы не знаете, какой компонент следует запустить. Или, если вы хотите дать пользователю возможность выбирать между списком компонентов для использования. Если эти Интенты отправляются в систему Android, то выполняется поиск всех компонентов, которые зарегистрированы для определенного действия и типа данных. Если найден только один компонент, Android запускает компонент напрямую. Например, у вас есть приложение, которое использует камеру для фотографирования. Одной из особенностей вашего приложения является то, что вы предоставляете пользователю возможность отправлять сделанные им фотографии. Вы не знаете, какое приложение имеет пользователь, который может отправлять фотографии, и вы также хотите дать пользователю возможность выбрать, какое внешнее приложение использовать, если у него более одного. В этом случае вы не будете использовать явное намерение. Вместо этого вы должны использовать неявное намерение, действие которого установлено в ACTION_SEND, а дополнительные данные установлены в URI фотографии.
Явное намерение всегда доставляется к его цели, независимо от того, что оно содержит; к фильтру не обращаются. Но неявное намерение доставляется компоненту, только если оно может пройти через один из фильтров компонента
Намеренные фильтры
Если содержание отправляется в систему Android, оно определит подходящие приложения для этого намерения. Если для этого типа Intents было зарегистрировано несколько компонентов, Android предлагает пользователю выбрать один из них.
Это определение основано на Intent Filters. Intent Filters указывает типы Intent, на которые может реагировать действие, служба или Broadcast Receiver. Фильтр намерений объявляет возможности компонента. В нем указывается, что может делать служба или служба и какие типы широковещательных сообщений может обрабатывать приемник. Это позволяет соответствующему компоненту получать содержимое объявленного типа. Intent Filters обычно определяются через файл AndroidManifest.xml. Для BroadcastReceiver также возможно определить их в кодировании. Intent Filters определяется его категорией, действием и фильтрами данных. Он также может содержать дополнительные метаданные.
Если компонент не определяет фильтр намерений, он может быть вызван только явным намерением.
Ниже приведены 2 способа определения фильтра.
1.Manifest файл
Если вы определили фильтр намерений в манифесте, ваше приложение не должно запускаться, чтобы реагировать на намерения, определенные в его фильтре. Android регистрирует фильтр, когда ваше приложение устанавливается.
2. широковещательный приемник
Если вы хотите, чтобы ваш широковещательный получатель получил намерение только тогда, когда ваше приложение работает. Затем вы должны определить свой фильтр намерений во время выполнения (программно). Имейте в виду, что это работает только для приемников вещания.
Вы можете думать о намерении как о "намерении что-то сделать". Это тип сообщения, которое позволяет вам связывать отдельные объекты (например, действия) во время выполнения.
Если одно действие хочет начать второе, оно делает это, отправляя намерение в Android. Android начнет второе действие и передаст его намерение.
После написания одного действия возникает необходимость перехода к другому действию для выполнения другого задания с информацией или без информации из первого действия.
Платформа Android позволяет переход с помощью Intent Interface.
Слова взяты отсюда: используя Intent Demo, и я предлагаю вам пройти этот пример, потому что они также предоставили файл кода. так что вы можете использовать его и легко понять то же самое.
Намерение Android
Android Intent позволяет вам переходить от одного действия Android к другому. С примерами в этом руководстве также рассказывается о различных типах Android.
Android Intent может быть определен как простой объект сообщения, который используется для связи от одного действия к другому.
Намерения определяют намерение Приложения. Они также используются для передачи данных между действиями.
Намерение Android можно использовать для выполнения следующих 3 задач:
- Открыть другое действие или службу из текущего действия
- Передача данных между деятельностью и услугами
- Передать ответственность другому приложению. Например, вы можете использовать Intents, чтобы открыть приложение браузера для отображения URL.
Намерение может быть широко классифицировано на 2 категории. Для этой категории нет ключевых слов, а только широкая классификация того, как используются намерения Android.
Явное намерение Android
Явное намерение Android - это намерение, в котором вы явно определяете компонент, который должен вызываться системой Android.
Intent MoveToNext = new Intent (getApplicationContext(), SecondActivity.class);
Неявное намерение Android
Подразумеваемое содержание Android - это намерение, при котором вместо определения точных компонентов вы определяете действие, которое хотите выполнить. Решение обработать это действие остается за операционной системой. ОС решает, какой компонент лучше всего использовать для неявных намерений. Давайте посмотрим на пример:
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
Для получения дополнительной информации вы можете посетить ниже
http://developer.android.com/reference/android/content/Intent.html
Приложение Android может содержать ноль или более действий. Если ваше приложение содержит более одного действия, вам может потребоваться перейти от одного действия к другому. В Android вы перемещаетесь между действиями через то, что известно как намерение.
Согласно их документации:
Намерение - это объект, который обеспечивает связывание во время выполнения между отдельными компонентами (например, двумя действиями). Намерение представляет собой намерение приложения что-то сделать. Вы можете использовать намерения для самых разных задач, но чаще всего они используются для запуска другого действия.
Вот ссылка с примером: http://developer.android.com/training/basics/firstapp/starting-activity.html
Как описано в документе, для начала действия (вам также необходимо понять, что такое действие) используйте намерение, как показано ниже
/** Called when the user clicks the Send button */
public void sendMessage(View view) {
Intent intent = new Intent(this, DisplayMessageActivity.class);
EditText editText = (EditText) findViewById(R.id.edit_message);
String message = editText.getText().toString();
intent.putExtra(EXTRA_MESSAGE, message);
startActivity(intent);
}
Намерение - это абстрактное описание выполняемой операции. Его можно использовать с startActivity для запуска Activity, для передачи BroadIntent его любым заинтересованным компонентам BroadcastReceiver и startService(Intent) или bindService(Intent, ServiceConnection, int) для взаимодействия с фоновой службой.
Для более подробной информации смотрите эти ссылки:
1). http://developer.android.com/reference/android/content/Intent.html
2) http://developer.android.com/guide/topics/intents/intents-filters.html
3). http://www.vogella.de/articles/AndroidIntent/article.html
Есть еще много статей доступны.
что такое Intent?
Это своего рода сообщение или информация, которая передается компонентам. Он используется для запуска деятельности, отображения веб-страницы, отправки смс, отправки электронной почты и т. Д.
Есть два типа намерений в Android:
Неявное намерение
Явный Намерение
Неявное намерение используется для вызова системных компонентов
пример
Intent i = newIntent(android.content.Intent.ACTION_VIEW,Uri.parse(“http://www.amazon.com”));
startActivity(i);
Явное намерение используется для вызова класса активности.
пример
Intent intent = newIntent (this, SecondActivity.class);
startActivity(intent);
Вы можете прочитать больше
http://www.vogella.com/tutorials/AndroidIntent/article.html http://developer.android.com/reference/android/content/Intent.html
Чтобы понять намерения в основном, я бы предложил вам перейти на сайт: http://developer.android.com/guide/topics/intents/intents-filters.html
Кроме того, я обсудил намерения с примерами в моем личном блоге: http://androiddesk.wordpress.com/2011/12/24/explicit-intent/
http://androiddesk.wordpress.com/2012/01/13/implicit-intent/
Просто посмотрите, если вы думаете, было бы полезно..
Спасибо
Намерение - это класс, который связывает информацию для выполнения некоторых действий.
пример: передача данных одного действия другому действию, когда пользователь выполняет такие действия в
настоящая деятельность.
Намерение - это намерение выполнить операцию.
Подробно можете сослаться
http://developer.android.com/reference/android/content/Intent.html
Также в моем блоге
http://emergingandroidtech.blogspot.in/2014/11/what-is-intent-in-android.html
Посмотрите, полезно ли это вам.
Спасибо.
В широком смысле, мы можем определить намерение как
Когда одно действие хочет запустить другое действие, оно создает объект с именем Intent, который указывает, какое действие он хочет запустить.
- Каковы намерения? Intents - это асинхронные сообщения, которые позволяют компонентам приложения запрашивать функциональность у других компонентов Android. Интенты позволяют взаимодействовать с компонентами из собственных и других приложений. Например, действие может начать внешнее действие для фотографирования.
Intents - это объекты типа android.content. Intent. Ваш код может отправлять их в систему Android, определяя компоненты, на которые вы ориентируетесь. Например, с помощью метода startActivity() вы можете определить, что намерение должно использоваться для запуска действия.
Намерение может содержать данные через Пакет. Эти данные могут использоваться принимающим компонентом.
Начать деятельность подключиться к
указанный класс
Разные типы намеренийenter code here
Android поддерживает явные и неявные намерения.
Приложение может определить целевой компонент непосредственно в намерении (явное намерение) или попросить систему Android оценить зарегистрированные компоненты на основе данных намерения (неявных намерений).
Из бумаги Deep Dive into Android IPC/Binder Framework atAndroid Builders Summit 2013
ссылка на сайт
Намерение понимается в некоторых небольших, но эффективных линиях
- Android поддерживает простую форму IPC(межпроцессное взаимодействие) через намерения
- Intent обмена сообщениями является основой для асинхронной связи между компонентами Android (активность, сервис, контент-провайдеры, широковещательный приемник)
- Эти компоненты могут работать в одном или разных приложениях (например, в процессах).
- Включает как двухточечную, так и опубликованную подписку доменов обмена сообщениями
- Само намерение представляет собой сообщение, содержащее описание выполняемой операции, а также данные, которые должны быть переданы получателю (получателям).
Из этой темы простой ответ архитектора андроида Дайан Хэкборн утверждает, что data container
что это на самом деле.
С точки зрения архитектуры Android:
Intent - это контейнер данных, который используется для взаимодействия между процессами. Он построен на вершине Binder
с точки зрения архитектуры Android.
Intents - это асинхронные сообщения, которые позволяют компонентам приложения запрашивать функциональность у других компонентов Android. Intents позволяют вам взаимодействовать с компонентами из тех же приложений, а также с компонентами, добавленными другими приложениями. Например, действие может начать внешнее действие для фотографирования.
Intents - это объекты типа android.content.Intent. Ваш код может отправлять их в систему Android, определяя компоненты, на которые вы ориентируетесь. Например, с помощью метода startActivity() вы можете определить, что намерение должно использоваться для запуска действия.
Намерение может содержать данные через Пакет. Эти данные могут использоваться принимающим компонентом. Чтобы начать действие, используйте метод startActivity (намерение). Этот метод определяется для объекта Context, который расширяет Activity.
Приложение Android может содержать ноль или более действий. Если в вашем приложении более одного действия, вам часто приходится переходить от одного к другому. В Android вы перемещаетесь между действиями через то, что известно как намерение. Вы можете передать некоторые данные в действие, которое хотите начать через намерение, используя putExtra().
Интенты используются для инициирования другого действия из одного действия. Оно в основном используется для нескольких целей, таких как отправка данных в другое действие из одного действия, и для целей запуска.
Они в основном двух типов
Неявные намерения.
Явные намерения.
Как начинающий, я знаю это очень много, я думаю, что это даст некоторое общее представление о намерениях Android
Намерение - это в основном способ передачи данных от одного действия другому.