与Kotlin一起在Android中实施NFC:喜欢魔术,但使用电话!
#kotlin #android #androiddev #nfc

嘿,Android Devs的同胞!听说过NFC吗?不,这不是一些秘密社会;它的近场通信 - 当您的手机与另一个手机或精美标签聊天时,当他们“嘿,我接近!”将其视为您手机的说法:“高五,哥们!” ðÖ±

NFC揭幕:超出点击付费:
因此,NFC不仅是为了敲击手机来支付东西 - 就像手机的奇特方式与其他设备进行秘密握手一样。你猜怎么着?您可以使您的Android应用程序成为此魔术节目的一部分!

开始NFC派对:
准备跳入NFC池吗?首先,请确保您的手机支持NFC,并要求您在AndroidManifest中点头。然后,这是Showtime - 您有两个很酷的动作:阅读和写作!

像Pro一样阅读NFC:
想象一下,您正在制作活动应用程序,并且希望人们通过水龙头进行签到。 NFC回来了!这是一些简单的Dev幽默:

class EventCheckInActivity : AppCompatActivity() {

    private lateinit var nfcAdapter: NfcAdapter

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_check_in)

        nfcAdapter = NfcAdapter.getDefaultAdapter(this)
    }

    override fun onResume() {
        super.onResume()
        val pendingIntent = PendingIntent.getActivity(
            this, 0, Intent(this, javaClass).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), 0
        )
        nfcAdapter.enableForegroundDispatch(this, pendingIntent, null, null)
    }

    // Here comes the moment of truth!
    override fun onNewIntent(intent: Intent) {
        super.onNewIntent(intent)
        if (NfcAdapter.ACTION_NDEF_DISCOVERED == intent.action) {
            // Ta-da! Handle NFC data here
        }
    }
}

编写NFC标签:
是时候让您的应用程序将消息写入NFC标签了。想象一下,您正在制作旅行应用程序 - 用户点击手机,而繁荣,他们的航班信息写入标签。看,这就像编码自己的魔杖!

class WriteNFCActivity : AppCompatActivity() {

    private lateinit var nfcAdapter: NfcAdapter

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_write_nfc)

        nfcAdapter = NfcAdapter.getDefaultAdapter(this)
    }

    override fun onNewIntent(intent: Intent) {
        super.onNewIntent(intent)
        if (NfcAdapter.ACTION_NDEF_DISCOVERED == intent.action) {
            val tag = intent.getParcelableExtra<Tag>(NfcAdapter.EXTRA_TAG)
            val message = "Hey, I'm the NFC master!".toByteArray()
            val ndef = Ndef.get(tag)

            ndef.connect()
            ndef.writeNdefMessage(NdefMessage(message))
            ndef.close()

            // Tag has been written. Bam!
        }
    }
}

这样就可以了,代码伙伴! NFC不是神秘的咒语。这是您在应用程序中添加一些现实世界魔术的票。无论您是制作签到活动,分享甜蜜的内容,还是与标签进行技术聊天,NFC都可以回来。就像用一堆哈利·波特的魅力编码一样! ðª®

现在去那里,利用NFC冒险,让您的Android应用程序加入聚会。开心,魔术师! ð©ð7

记住,这个博客只是您通往NFC令人敬畏的道路的起点。在您的Android应用程序中玩乐,探索并让您的创造力与NFC一起疯狂 - 这全都是要使技术变得有趣,不是吗? ðρ