안드로이드 nfc 예제 소스

가장 중요한 바이트(7번째 바이트)는 메시지 시작 바이트이며, 이 바이트는 시작 메시지가 0인 경우 1입니다. 6바이트는 메시지 끝이며, 이 바이트는 이 레코드가 끝 레코드인 경우 1이 0입니다. SR은 짧은 레코드이며 짧은 레코드인 경우 1입니다. 이 정보는 NDEF 태그 데이터를 올바르게 처리하려는 경우에 중요합니다. Android SDK는 태그 콘텐츠를 나타내는 바이트 배열을 반환하는 메서드 getPayload()를 제공한다는 것을 알고 있습니다. 정보를 추출하려면 이 배열을 읽고 구문 분석해야 합니다. 가장 간단한 레코드 구조인 텍스트 레코드부터 시작해 보겠습니다. 여기에서 태그의 데이터를 처리하기 위해 논리를 추가해야 합니다. NFC로 작업하는 동안 NFC를 사용할 수 있고 켜져 있는지 확인하기 위해 검사를 추가해야 합니다. NfcAdapter 클래스를 사용하여 수행할 수 있습니다. 이 클래스에 대한 정보는 Android 개발자 설명서에서 찾을 수 있습니다. NFC 태그에서 읽은 날짜를 구문 분석하기 위해, 우리는 NFC를 사용하는 방법을 보여주는 데모에서 안드로이드 오픈 소스 프로젝트에 대한 구글에 의해 생성 된 몇 가지 클래스를 사용하려고합니다. 여러 기술 목록 집합을 지정할 수도 있습니다.

각 기술 목록 집합은 독립적으로 간주되며 단일 기술 목록 집합이 getTechList()에 의해 반환되는 기술의 하위 집합인 경우 활동이 일치하는 것으로 간주됩니다. 이는 일치하는 기술에 대한 AND 및 OR 의미 체계를 제공합니다. 다음 예제는 NfcA 및 Ndef 기술을 지원하거나 NfcB 및 Ndef 기술을 지원할 수 있는 태그와 일치합니다. GitHub에서 프로젝트를 찾을 수 있습니다. 코드의 주요 부분은 MainActivity에 있으며 여기에서 찾을 수 있습니다. ACTION_NDEF_DISCOVERED 의도를 필터링하려면 필터링할 데이터 유형과 함께 의도 필터를 선언합니다. 다음 예제는 MIME 유형의 텍스트/일반을 사용하여 ACTION_NDEF_DISCOVERED 의도에 대한 필터: NFC 태그에 고유한 Mime Type을 사용하는 아이디어는 장치가 여러 응용 프로그램을 실행중에서 선택할 필요가 없도록 하는 것입니다. Android 장치가 여러 NFC 읽기 응용 프로그램 중에서 선택하라는 메시지를 표시해야 하는 경우 사용자는 NFC 태그에서 전화를 빼내고 연결을 끊는 것보다 더 가능성이 높습니다. 이제 NFC 태그에 대한 배경 지식이 있으므로 다음 섹션에서는 Android에서 NDEF 형식의 태그를 처리하는 방법을 자세히 설명합니다.

Android 기반 장치가 NDEF 형식의 데이터가 포함된 NFC 태그를 검사하면 메시지를 구문 분석하여 데이터의 MIME 유형 또는 URI 식별을 파악하려고 시도합니다. 이렇게 하려면 시스템은 NdefMessage 내부의 첫 번째 NdefRecord를 읽고 전체 NDEF 메시지를 해석하는 방법을 결정합니다(NDEF 메시지에는 여러 NDEF 레코드가 있을 수 있음). 잘 구성된 NDEF 메시지에서 첫 번째 NdefRecord에는 보다 일반적인 NFC 태그 배포에 TNF_EXTERNAL_TYPE을 사용하여 Android 기반 및 Android 기반이 아닌 장치를 모두 더 잘 지원할 수 있습니다. 다음 샘플에서는 간단한 활동이 onCreate() 활동 메서드에서 NfcAdapter.CreateNdefMessageCallback을 호출하는 방법을 보여 주며(전체 샘플은 AndroidBeamDemo 참조). 이 예제에는 MIME 레코드를 만드는 데 도움이 되는 메서드도 있습니다. 이러한 유형의 콘텐츠는 사용자 지정 네임스페이스를 만들려는 조직을 위해 만들어졌습니다. 이러한 유형의 콘텐츠는 예를 들어 앱을 실행하기 위해 특수 네임스페이스를 만들려는 경우에 유용할 수 있습니다. 그것을 읽는 것은 매우 간단합니다 :이 안드로이드 NFC 튜토리얼은 NFC Tgas를 읽을 수있는 안드로이드 NFC 응용 프로그램을 구축하는 방법을 설명합니다. NFC 기술은 근거리 통신을 의미하며 NFC 포럼에서 사양을 찾을 수 있습니다. 이 안드로이드 NFC 튜토리얼에서, 우리는 안드로이드에서 NFC의 몇 가지 기본적인 측면을 분석하고, 우리는 태그를 읽을 안드로이드 NFC 응용 프로그램을 구현하는 방법을 설명합니다.