在查阅了大量关于堆栈溢出的线程之后,我仍然没有找到一个工作的“示例”,用于在Java应用程序中使用MiFare ACR122 Usb智能卡读取器读取/写入ACR122超光速或经典NFC卡。当然,我试图查阅NXP或ACS的文档,但仍然没有“简单地”读取/写入一个数据块。
有很多特定于Android的库,但是没有任何普通的J2SE库可以简化MiFare通信(使用javax.smartcardio和APDU命令.)
有人能给我一些真正好的有用的建议吗?
任何帮助都是非常有用的。
发展工作的完成方式是:
发布于 2015-04-10 11:43:51
我编写了一个小型的Java (1.7+)程序,用于使用ACS ACR122U转储(并写入) MiFare经典1K标记。它是可用的论GitHub。在引擎盖下,它使用了一个名为J2SE的普通旧NFCTools库。
NFCTools通过管理所有十六进制/APDU功能,帮助您与NFC卡进行通信。它和无数的例子一起来的。但是,我不知道主开发人员是否还想维护它。例如,为了重构Mifare支持,他将许多Mifare类标记为废弃类,但这仍然是两年来一直在进行的工作。从邮寄名单上
我首先编写了对mifare经典卡的支持,使用这些类来描述内存区域似乎是个好主意。然而,当我想添加对超轻标记的支持时,上面的类将无法工作。对于超轻标记,我决定使用一种新的方法并创建一个org.nfctools.mf.ul.MemoryLayout类。我认为这是要走的路,所以我将MfCard类标记为不推荐的。
尽管存在这种中间状态,但它支持许多读取器和标记格式。这些例子非常有用。然后,如果你有一些具体的要求,我建议你贡献这个项目或分叉它。
https://stackoverflow.com/questions/29250390
复制相似问题