Что такое намерение в Android?

  • что такое намерение В Android?
  • может кто-нибудь уточнить с примером?
  • какие типы намерений, и почему мы их используем?
  • почему намерения так важны в Android?

19 ответов


An намерение является "намерением" выполнить действие; другими словами,

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

намерение-это в основном сообщение, чтобы сказать, что вы сделали или хотите, чтобы что-то произошло. В зависимости от намерения приложения или ОС могут прослушивать его и реагировать соответствующим образом. Подумайте об этом как о взрывном письме кучке друзей, в котором вы рассказываете своему другу Джону сделать что-то или друзьям, которые могут сделать X ("фильтры намерениях"

чтобы прослушать намерение трансляции (например, звонок телефона или получение SMS), вы реализуете радиовещательный приемник, который будет передан намерением. Чтобы объявить, что вы можете обрабатывать намерение другого приложения, например "сфотографировать", вы объявляете фильтр намерений в вашем приложении файл манифеста.

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


Что такое намерение ?

An намерение в основном это сообщение, которое передается между компоненты (например,деятельность, Услуги, Приемники Вещания, и Контент-Провайдеров). Таким образом, это почти эквивалентно параметрам, переданным вызовам API. Фундаментальные различия между вызовами API и вызовом компонентов через intents:

  • вызовы API синхронно, в то время как вызовы на основе намерения асинхронный.
  • вызовы API являются привязкой времени компиляции, а вызовы на основе намерения привязка времени выполнения.

конечно, намерения можно заставить работать точно так же, как вызовы API, используя то, что называется явного намерения, что будет объяснено позже. Но чаще всего,подразумевается намерения путь и это то, что здесь описано.

один компонент, который хочет вызвать другой, должен только выразить его намерение выполнить работу. И любой другой компонент, который существует и утверждает, что он может сделать такую работу через интент-фильтры, вызывается платформой Android для выполнения задания. Это означает, что ни один из компонентов не знает о существовании другого, но все еще может работать вместе, чтобы дать желаемый результат для конечного пользователя.

эта невидимая связь между компонентами достигается за счет сочетания intents, intent-фильтров и платформы Android.

это приводит к огромным возможностям, таким как:

  • смешивать и сочетать или, скорее, подключи и играй компонентов во время выполнения.
  • замена встроенных приложений Android с помощью специально разработанных приложения.
  • повторное использование уровня компонентов в приложениях и между приложениями.
  • ориентация на обслуживание до самого гранулированного уровня, если можно сказать.

здесь дополнительные технические детали о намерения из документации Android.

намерение-это абстрактное описание операции. Его можно использовать с startActivity запустить активность, broadcastIntent отправить его любому заинтересованному BroadcastReceiver компоненты и startService(намерение) или bindService(умысла, ServiceConnection, int) для связи с фоновой службой.

намерение предоставляет средство для выполнения поздней привязки выполнения между кодом в разных приложениях. Его наиболее значительное использование заключается в запуске мероприятий, где его можно рассматривать как связующее звено между мероприятиями. Это в основном пассивная структура данных, содержащая абстрактное описание выполняемого действия. Основными частями информации в намерении являются:

  • действие Общее действие, которое необходимо выполнить, например ACTION_VIEW, ACTION_EDIT, ACTION_MAIN и т. д.
  • данные Данные для работы, такие как запись лица в контактах база данных, выраженная в виде Uri.

узнать больше


намерения-это способ говоря Android, что вы хотите сделать. Другими словами, вы описываете свое намерение. Намерения могут быть использованы для сигнала системе Android, что произошло определенное событие. Другие компоненты в Android могут зарегистрироваться на это событие через фильтр намерений.

ниже 2 типа намерений

1.Явные Намерения

используется для вызова определенного компонента. Когда вы знаете, какой компонент вы хотите запустить, и вы не хотите давать пользователю свободный контроль над тем, какой компонент использовать. Например, у вас есть приложение, которое имеет 2 деятельности. Действие A и действие B. Вы хотите запустить действие B Из действия A. В этом случае вы определяете явное намерение, нацеленное на activityB, а затем используете его для прямого вызова.

2.Неявные Намерения

используется, когда вы имеете представление о том, что вы хотите сделать, но вы не знаете, какой компонент должен быть запущен. Или если вы хотите предоставить пользователю возможность выбора между списком используемых компонентов. Если эти намерения отправляются в систему Android, она ищет все компоненты, которые зарегистрированы для конкретного действия и типа данных. Если найден только один компонент, Android запускает компонент напрямую. Например, у вас есть приложение, которое использует камеру для съемки фотографий. Одной из особенностей приложения является то, что вы даете пользователю возможность отправлять фотографии он взял. Вы делаете не знаю, какое приложение пользователь может отправлять фотографии, и вы также хотите дать пользователю возможность выбрать, какое внешнее приложение использовать, если у него есть более одного. В этом случае вы не будете использовать явное намерение. Вместо этого следует использовать неявное намерение, действие которого имеет значение ACTION_SEND, а дополнительные данные-URI фотографии.

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

Фильтры Намерениях

Если намерение отправляется в систему Android, он определит подходящие приложения для этого намерения. Если для этого типа намерений было зарегистрировано несколько компонентов, Android предлагает пользователю выбор для открытия одного из них.

это определение основано на IntentFilters. IntentFilters определяет типы намерений, которые активность, сервис, приемник orBroadcast может реагировать. Фильтр Intent объявляет возможности компонента. Он определяет, что может делать anactivity или служба и какие типы передач может обрабатывать приемник. Это позволяет соответствующему компоненту получать намерения объявленного типа. IntentFilters обычно определяются через AndroidManifest.XML-файл. Для BroadcastReceiver также можно определить их в кодировании. IntentFilters определяется его категорией, действием и данными фильтры. Он также может содержать дополнительные метаданные.

Если компонент не определяет фильтр намерений, он может быть вызван только явными намерениями.

ниже 2 способа определения фильтра

1.Файл манифеста

Если вы определяете фильтр намерений в манифесте, ваше приложение не должно быть запущено, чтобы реагировать на намерения, определенные в его фильтре. Android регистрирует фильтр, когда ваше приложение получает установленный.

2.Широковещательный Приемник

Если вы хотите радиовещательный приемник чтобы получить намерение только тогда, когда ваше приложение работает. Затем вы должны определить фильтр намерений во время выполнения (программно). Имейте в виду, что это работает только для радиовещательных приемников.


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

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

enter image description here

Глава Первая Разработка Android


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

Android платформа позволяет переход с помощью интерфейса намерения.

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


приложение для Android может содержать ноль или более действий. Если приложение имеет более одного действия, может потребоваться переход от одного действия к другому. В Android вы перемещаетесь между действиями через то, что известно как намерение.


согласно их документации:

Intent-это объект, который обеспечивает привязку среды выполнения между отдельными компонентами (например, двумя действиями). Намерение представляет собой "намерение приложения что-то сделать"."Вы можете использовать намерения для самых разных задач, но чаще всего они используются для начала другой деятельности.

вот ссылка с образец: http://developer.android.com/training/basics/firstapp/starting-activity.html#BuildIntent

как описывает документ, чтобы начать действие (вам также нужно понять, что такое действие), используйте намерение, как показано ниже

/** 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 для запуска активности, broadcastIntent для отправки его любым заинтересованным компонентам 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

есть еще много статей доступны.


Android Намерение

Android Intent позволяет переходить от одной деятельности android к другой. С примерами, этот учебник также говорит о различных типах намерений Android.

Android Intent можно определить как простые объекты сообщений, которые используются для связи от 1 действия к другому.

намерения определяют намерение приложения . Они также используются для передачи данных между мероприятиями.

Android намерение может использоваться для выполнения следующих 3 задач :

  1. откройте другое действие или услугу из текущего действия
  2. передача данных между деятельностью и услугами
  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


что такое намерение ?

это своего рода сообщение или информация, которая передается компонентам. Он используется для запуска активности, отображения веб-страницы, отправки sms, отправки электронной почты и т. д.

в android есть два типа намерений:

Косвенным Умыслом
Явное Намерение

подразумевается intent используется для вызова компонентов системы

пример

Intent i = newIntent(android.content.Intent.ACTION_VIEW,Uri.parse(“http://www.amazon.com”));

startActivity(i);

явно intent используется для вызова класса activity.

пример

Intent intent = newIntent (это, SecondActivity.класс);

startActivity(intent);

вы можете подробнее

http://www.vogella.com/tutorials/AndroidIntent/article.html#intents_overview 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/

просто посмотрите, если вы думаете, что будет полезный..

спасибо


намерение-это класс,который связывает данные для выполнения некоторых действий.

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

настоящей деятельности.


намерение намерение выполнить операцию.

подробно вы можете обратиться

http://developer.android.com/reference/android/content/Intent.html

кроме того, в моем блоге

http://emergingandroidtech.blogspot.in/2014/11/what-is-intent-in-android.html

посмотрите, если это полезно для вас.

спасибо.


  1. какие намерения? Намерения-это асинхронные сообщения, которые позволяют компонентам приложения запрашивать функциональность у других компонентов Android. Intents позволяет взаимодействовать с компонентами из собственных и других приложений. Например, действие может запустить внешнее действие для съемки.

намерения являются объектами android.содержание.Тип намерения. Ваш код может отправить их в систему Android, определяющую компоненты, на которые вы нацелены. Для пример с помощью метода startActivity () вы можете определить, что намерение должно использоваться для запуска действия.

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

запустите действие подключение к

указанного класса

различные типы намеренийenter code here Андроид поддерживает явные и неявные интенты.

приложение может определить целевой компонент непосредственно в intent (явном intent) или попросите систему Android оценить зарегистрированные компоненты на основе данных intent (неявные намерения).


намерения-это асинхронные сообщения, которые позволяют компонентам приложения запрашивать функциональность у других компонентов Android. Intents позволяет взаимодействовать с компонентами из тех же приложений, а также с компонентами, предоставляемыми другими приложениями. Например, действие может запустить внешнее действие для съемки.

намерения являются объектами android.содержание.Тип намерения. Ваш код может отправить их в системы Android определение компонентов таргетинг. Например, с помощью метода startActivity () вы можете определить, что намерение должно использоваться для запуска действия.

намерение может содержать данные через узелок. Эти данные могут использоваться принимающим компонентом. Чтобы начать действие, используйте метод startActivity (intent). Этот метод определяется на объекте контекста, действие которого расширяется.


в широком представлении, мы можем определить намерение as

когда одно действие хочет начать другое действие, оно создает объект называется Intent, который указывает, какое действие он хочет начать.


приложение для Android может содержать ноль или более действий. Когда приложение имеет более одного действия, часто необходимо переходить от одного к другому. В Android вы перемещаетесь между действиями через то, что известно как намерение. Вы можете передать некоторые данные в действие, которое вы хотите начать через intent, используя putExtra ().


из газеты Deep Dive into Android IPC/Binder Framework atAndroid Builders Summit 2013 ссылке

цель понимается в некоторых небольших, но эффективных строк

  1. Android поддерживает простую форму IPC (inter process communication) через intents
  2. Intent messaging-это платформа для асинхронной связи между компонентами Android (activity, service, content providers, broadcast receiver )
  3. эти компоненты могут работать в одном и том же или через разные приложения (т. е. процессы)
  4. позволяет как точка-точка, а также публиковать подписаться Домены обмена сообщениями
  5. само намерение представляет собой сообщение, содержащее описание операции, которая будет выполнена, а также данные, которые будут переданы получателю(получателям).

С этой поток простой ответ архитектора android Дайанн Хэкборн заявляет, что это как data container что есть на самом деле.

из точки архитектуры android вид :

Intent-это контейнер данных, который используется для взаимодействия между процессами. Он построен на вершине Binder С точки зрения архитектуры Android.


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

Они в основном двух типов

  1. неявные намерения.

  2. явного намерения.

как новичок я знаю это много, я думаю, что это даст некоторое представление о намерениях android