После консультаций с большим количеством потоков в stackoverflow, я до сих пор не нашел рабочего "примера" для чтения/записи карт MiFare Ultralight или Classic NFC с помощью устройства чтения карт памяти ACS ACR122 Usb в приложении Java... Конечно, я попытался проконсультироваться документация NXP или ACS, но до сих пор не удалось "просто" прочитать/записать блок данных.
Существует множество специфических для Android библиотек, но не какие-то простые старые J2SE-библиотеки, упрощающие обмен данными MiFare (с помощью команд javax.smartcardio и APDU...)
Может ли кто-нибудь дать мне несколько хороших и полезных указателей:
Любая помощь очень полезна.
Разработка осуществляется с помощью:
Я написал небольшую программу Java (1. 7+), чтобы сбрасывать (и записывать) метки MiFare Classic 1K с использованием ACS ACR122U. Он доступен на GitHub. Под капотом используется простая старая библиотека J2SE под названием NFCTools.
NFCTools помогает вам общаться с NFC-картами, управляя всеми шестнадцатеричными /APDU файлами. Он поставляется с многочисленными примерами. Однако я не знаю, хочет ли главный разработчик его поддерживать. Например, он отметил множество классов Mifare как устаревших для рефакторинга поддержки Mifare, но он все еще находится в процессе разработки уже 2 года. Из списка рассылки:
Сначала я написал поддержку классических карт mifare, и казалось, что использование этих классов для описания области памяти было хорошей идеей. Однако, когда я хотел добавить поддержку сверхлегких тегов, вышеуказанные классы не помогли бы. С помощью сверхлегких тегов я решил использовать новый подход и создать класс org.nfctools.mf.ul.MemoryLayout. Я думаю, что это путь, поэтому я отметил классы MfCard как устаревшие.
Несмотря на это промежуточное состояние, он поддерживает множество читателей и форматов тегов. Примеры довольно полезны. Тогда, если у вас есть определенные требования, я советую вам внести свой вклад в этот проект или развить его.