日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java mifare_如何正确写入MifareUltralight NFC标签?

發布時間:2023/12/19 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java mifare_如何正确写入MifareUltralight NFC标签? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

正確的使用方法是什么

MifareUltralight.writePage()

方法?

查詢

getMaxTransceiveLength()

方法返回253字節。然而

tag

以888字節的速度公布。是

transceive()

因此

writePage()

應該被多次調用?正在寫入的有效負載的大小為457字節。

val jsonString = Gson().toJson(casualty)

val casualtyBytes = toBlob(casualty)

var currentPage = PAGE_OFFSET

val pageBytes = ByteArray(MifareUltralight.PAGE_SIZE)

var byteIndex = 0

for(i in 0 until casualtyBytes.size){

pageBytes[byteIndex] = casualtyBytes[i]

byteIndex++

if(byteIndex == 4 || i == (casualtyBytes.size-1)) {

tag.writePage(currentPage, pageBytes)

currentPage++

byteIndex = 0

}

}

fun toBlob(item : Any) : ByteArray{

val bos = ByteArrayOutputStream()

val gzip = GZIPOutputStream(bos) //compress

val oos = ObjectOutputStream(gzip)

oos.writeObject(item)

oos.close()

return bos.toByteArray()

}

例外情況

java.io.IOException: Transceive failed

at android.nfc.TransceiveResult.getResponseOrThrow(TransceiveResult.java:52)

at android.nfc.tech.BasicTagTechnology.transceive(BasicTagTechnology.java:151)

at android.nfc.tech.MifareUltralight.writePage(MifareUltralight.java:193)

at some.package.nfc.NfcCasualtyPublisher.writeToTag(NfcCasualtyPublisher.kt:42)

at some.package.nfc.NfcCasualtyPublisher.access$writeToTag(NfcCasualtyPublisher.kt:11)

at some.package.nfc.NfcCasualtyPublisher$publishCasualty$1.run(NfcCasualtyPublisher.kt:21)

at java.lang.Thread.run(Thread.java:818)

總結

以上是生活随笔為你收集整理的java mifare_如何正确写入MifareUltralight NFC标签?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。