2011/09/29

[pasori]NfcPcdライブラリの説明 (1)

https://github.com/hirokuma/NfcPcd

 

私にしてはがんばって作った、PaSoRiをAndroid 3.1以上で使うためのライブラリ。
ちょいと説明をしておこう(といいつつ、「1」なんて書いてしまった)。
もしかすると、使ってくれる人がいるかもしれんし・・・。


私が知らないライブラリを使うときに知りたいのは、どのくらい何をせんと動かないの?だ。

https://github.com/hirokuma/NfcPcd/blob/master/sample/src/com/nfcpcdsample/MainActivity.java

ソースファイルとしては、これくらい書けばとりあえず動く。
このソースは、ボタンを押すとNFC-Fとしてポーリングして、それでだめならFeliCaとしてポーリングして、それでもだめならNFC-Aとしてポーリングする、ということをやっている。
ポーリングするとIDmなりUIDなりが取得できるので、それを出力した後、搬送波を停止させている。

 

Android3.1以上にある「USB Host」機能を使っているが、そこはcom.blogpost.hiro99ma.pcd.UsbHostというクラスに処理をまとめて、あまり手間がかからないんじゃないかな、と思うようにしている。
なので、USB挿抜に関するListenerをimplementsせんといかん。
挿入は、実は通知がないみたいだ。

 

com.blogpost.hiro99ma.pcd.UsbHostでやっているのは、インテントフィルターの登録などだ。
もう少し融通が利いた方がいいのかもしれんが、よくわかってない。
 
とりあえず動かしてみよう、であれば簡単だと思うが、どうだろうねぇ。
 

6 件のコメント:

  1. すごいですね。
    やっている人はやっている、と。

    参考になります。

    返信削除
  2. コメントありがとうございます!

    FeliCa Liteは結構素直なつくりになっているので、いくつかわかってしまえば案外と楽でしたよ。
    USB Hostみたいな、プラットフォームに依存するところは苦手ですが・・・そこは人からもらうなどして逃げてます。

    ここまではできるけど、アプリにまで昇華できないんですよね・・・。
    目下の悩みです。

    返信削除
  3. 初心者で申し訳ないのですがご教授頂けると助かります。

    NfcPcdライブラリのsampleをAndroid Studioにimportして
    buildしようとしているのですが、
    implements com.blogpost.hiro99ma.pcd.UsbHost.UsbListener が
    ”no enclosing instance of type 'com.blogpost.hiro99ma.pcd.UsbHost' is in scope”
    となってしまいます。
    なにか対策はありますでしょうか?

    こちらの環境は
    Android Studio V1.2.2
    JDK 1.7.0 です。

    返信削除
    返信
    1. 作ったのが4年ほど前なので、今だと動かなくなっているのかもしれません。
      確認しますので、少々お時間ください。

      削除
    2. AndroidStudio自体がよくわからず、うまいこと解決できなかったので、もうライブラリ化するのはやめて、全部アップしました。
      Eclipse形式にするのが面倒だったので、AndroidStudio用に新しくリポジトリを作りました。
      申し訳ありませんが、こちらで試していただけますか。

      git@github.com:hirokuma/NfcPcdStudio.git

      削除
  4. お手数をお掛けして申し訳ありません。
    ご対応に感謝です。

    アップ頂いたリポジトリで挑戦してみます。
    成果がありましたらフィードバックいたします。

    返信削除

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。