[Kotlin] AndroidでNFCタグを使ってみた② – メッセージの読み書き –

posted in: Android | 0

こんにちは。ニノです。
今回は「NFCタグ」に対して、Android端末からメッセージの読み書きを行います。

こちらの記事の続編となります。
[Kotlin] AndroidでNFCタグを使ってみた① – ID情報取得 –

メッセージの書き込み

NFCタグを扱うために必要な前処理等は前回の記事と同じであるため、NFCタグ検出時のイベント(onNewIntentメソッド)
を書き換えていきます。

これで、NFCタグにスマホをかざすと、”write-test” というメッセージを書き込むことができます。
次は、この書き込んだメッセージを読み取ってみましょう。

メッセージの読み込み

分かりやすくするため、onNewIntentメソッドの中身を読み込み用に置き換えます。
NFCタグから読み取った情報をログとして出力します。

先程メッセージを書き込んだNFCタグに対して、もう一度スマホをかざすと、以下のログが出力されます。

上から順番に

  • TNF:Type Name Format。NDEFレコードがどのような種類であるかを示します。(0x01は TNF_WELL_KNOWN)
  • Type:payloadがどのような種類であるかを示します。TNFによって設定できる値が変わります。(Tは RTD_TEXT)
  • payload:データ本体。byte配列をそのまま文字列として表示。
  • payload-message:payloadのメッセージ部分を抽出して文字列として表示。(4byte目以降を抽出)
  • payload[0~12]:payloadのbyte配列を1byteずつ、16進数と文字で表示。

最後の、payloadを1byteずつ出力している部分を見ていただくと分かりやすいですが、
1byte目はテキスト開始の制御コード、2~3byte目は書き込み時に指定した言語コード「en」、
それ以降がメッセージ部となっています。
メッセージ部に、NFCタグに書き込んだ “write-test”という文字列が入っていることが分かります。

以上、今回はNFCタグに対するメッセージの読み書きでした。

LINEで送る
Pocket