NFC с нуля (с практическим примером)

Прежде чем мы углубимся в пример реализации NFC (Near Field Communication) на Android, мы хотели бы немного углубиться в эту интересную технологию.

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

В век информации мы полны решимости связываться со всем и всеми вокруг нас самым естественным и интуитивно понятным способом. Именно здесь возникает технология NFC: она позволяет нам беспроводным образом соединять и соединять устройства на коротких расстояниях. немедленно.

Итак, что такое NFC?

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

NFC имеет два режима связи: пассивный режим, который позволяет нам считывать и получать статические данные с другого устройства (например, для получения данных конфигурации или URL-адреса); и активный режим, который обычно позволяет нам отправлять или записывать переменные данные в соответствии с потребностью в конкретный момент (например, для совершения электронных платежей).

Вот некоторые из возможностей использования NFC:

  • Мобильные платежи
  • Бесконтактные платежи кредитной картой
  • Идентификация
  • Мгновенная синхронизация или сопряжение устройств Bluetooth.
  • Отправка или получение контактной информации
  • Автоматизация с помощью меток NFC
  • Конфигурация смартфона (например, чтобы включить авиарежим)

Насколько безопасен NFC?

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

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

Пример приложения

Мы узнаем, как реализовать NFC на Android с помощью нативного метода.

Мы напишем URL-адрес в теге NFC, который позже будем использовать для открытия этого веб-сайта на любом устройстве Android. Следующий случай можно использовать, например, для меню ресторана, прайс-листов, чтобы узнать цену на тот или иной товар и т. д.

Для начала нам нужно добавить разрешения NFC в наш проект.

Мы создаем действие, которое позволит нам ввести URL-адрес, чтобы записать это значение в теге NFC. В макет активности мы включаем textView и кнопку для выполнения изменений.

Затем мы проверяем, совместимо ли устройство с технологией NFC, через экземпляр NfcAdapter. Если это так, мы также проверим, включена ли антенна NFC.

Кроме того, мы реализуем интерфейс NfcAdapter.ReaderCallback в нашей Activity, что сделает доступным перезаписанный метод onTagDiscovered(tag: Tag). Его цель — сообщить нам, когда наше устройство обнаружит тег NFC и попытается записать наш инкапсулированный URL-адрес в экземпляр NdefMessage.

Наконец, это наша BeamActivity и доступ ко всему проекту.

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

NFC сама по себе довольно простая технология. Однако, когда мы объединяем его с другими технологиями, мы создаем безопасный и мощный коммуникационный интерфейс, который, например, при использовании со смартфонами или метками, дает нам возможность взаимодействовать с сотнями устройств, имея возможность создавать «кнопки» везде, где мы необходимо взаимодействовать, будь то на другом устройстве или в другой среде.

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

Мы надеемся, что эта статья окажется вам полезной с технической точки зрения, а также поможет вам сэкономить время; и, конечно же, мы будем рады, если вы найдете это вдохновляющим!

Авторы:

Код: Маркос Де Кристобаль

Написание: Карлос Дж. Торрес П.

Подробнее о Flux IT: Веб-сайт · Instagram · LinkedIn · Twitter · Dribbble · Breezy