最近、AndroidのNFC機能を使って、ICカードのデータを読み取ることができることを知りました。そこで「自分の学生証も読み取れるのでは?」と思ったので試してみました。読み取るデータについて今回は学生証に格納されている大学生協のIC残高を読み取ってみたいと思います。自分が持っている学生証は、Felicaに対応したICカードになっているので、NFCのFelicaに対応した端末で読み取ることができます。要約されていたので、これを参考にしました。して格納されています。仕様によると、実際の残高は上位4バイトに、リトルエンディアン形式で格納されています。そのためデータを取得した後に4バイトを抜き出して、ビッグエンディアン形式に変換する必要があります。大まかにまとめると、以下の様な構造になっています。MainActivity.javaで行う処理は、以下のページを参考にしました。Livedoor別のカードやデータ等を読み取りたい時のために、カードの固有値を定数化してあります。以下のページのコードを参考にしました。処理内容はほぼ一緒ですが、readTagメソッドにカードの固有値を引数で渡せるよう変更してあります。Pollingコマンドの取得。Encryptionコマンドの取得。サービスコードの指定はリトルエンディアンなので、下位バイトから指定します。Encryption応答の解析。}}使ってみた学生証をスマホにかざしてみると、残高が正確に表示されました。レシートと比較しても一致していました。おわりにAndroidでの開発は初めてだったのですが、思っていたよりも面白かったです。Androidには様々な機能があるので、時間があれば色々試してみたいと思いました。upLoginユーザーは見つかりませんでした。