Понятие Намерения в Android?

Я действительно не понимаю использование и понятие Намерения. Я ДЕЙСТВИТЕЛЬНО понимаю, что действие является одним визуальным интерфейсом и одним усилием, в котором может принять участие пользователь. Я ДУМАЮ, что намерение используется, чтобы запуститься и связаться между различными операциями. Если так, затем как Вы выполнили бы это? Пример кода был бы полезен. В форме аналогии попытайтесь сравнить намерение с чем-то в повседневной жизни. Это помогло бы очень!

7
задан Mohit Deshpande 7 April 2010 в 01:24
поделиться

6 ответов

Намерение может использоваться для запуска действий, путем предоставления действия и некоторых данных. Пример использования действия Intent для просмотра веб-страницы:

Intent myIntent = new Intent(Intent.VIEW_ACTION,
                  Uri.parse("http://www.google.com"));

Где действие - Intent.VIEW_ACTION , а строка данных - это Uri из Сайт Google.

Общие задачи и способы их выполнения в Android

Я пробовал, но трудно сравнивать Намерение с чем-то в повседневной жизни. Если я что-то придумываю, я записываю это вместе со своим ответом.

5
ответ дан 6 December 2019 в 11:47
поделиться

Намерение - это, по сути, способ заявления приложения о необходимости . Они работают вместе с IntentFilters, которые в основном представляют собой декларации возможностей того, что другое Activity или Service может сделать для тех, кому это нужно.

Намерения обычно состоят из двух частей: типа информации и компонента данных, который обычно представляет собой URI (например, веб-сайт, данные GPS или контакт для набора).

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

Android API подробно описывает, как создавать собственные IntentFilters и Receiver. Поищите там дополнительную информацию.

1
ответ дан 6 December 2019 в 11:47
поделиться

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

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

Часть действия намерения является строкой или строковой константой, а часть данных - строкой, представляющей URI .В дополнение к этим основным атрибутам вы можете добавлять новые атрибуты с помощью дополнительных, которые представляют собой просто карту пар ключ-значение.

Для получения дополнительной информации см. Интенты и фильтры намерений , класс Намерение или Игра с намерениями .

Я также рекомендую книгу Pro Android , в которой подробно рассматриваются эти API. Есть более новая версия под названием Pro Android 2 (не читал).

Если вы выполните поиск в Google Книгах, , вы сможете увидеть отрывки из книги; дополнительную информацию см. В главе 3 «Использование ресурсов, поставщиков контента и намерений».

6
ответ дан 6 December 2019 в 11:47
поделиться

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

1
ответ дан 6 December 2019 в 11:47
поделиться

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

http://developer.android.com/guide/topics/fundamentals.html

Здесь есть основы намерений. Вам нужно использовать .startActivityForResult (), а не startActivity (), если вы хотите возвращаемое значение, и иметь метод void onActivityResult (Intent intent), который будет действовать как Listener, когда значение возвращается.

Конструктор состоит из 2 частей. Первый - это int, который будет константой в классе Intent, чтобы сообщить системе, что вы хотите делать с данными. Второй будет URI для передачи данных между действиями. Затем система использует их, чтобы решить, в какое приложение оно должно быть передано, когда вы помещаете его в запрос активности. Что касается вашей аналогии, я не знаю, это довольно сложно, на самом деле нет ничего похожего. Я думаю, самое лучшее, что вы получите, - это дать что-то своему боссу и сказать ему, что вам нужен кто-то еще, чтобы сделать с этим что-то, чего вы не можете.

0
ответ дан 6 December 2019 в 11:47
поделиться

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

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

3
ответ дан 6 December 2019 в 11:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: