Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
関モバ#9
Search
SeyamaKota
December 02, 2025
0
140
関モバ#9
NFCタグを活用して水を楽に買いたかったので、NFCについて勉強しました。
SeyamaKota
December 02, 2025
Tweet
Share
More Decks by SeyamaKota
See All by SeyamaKota
超初心者向け勉強会 Lesson1-2
seyamasan
0
4
超初心者向け勉強会 Lesson1-1
seyamasan
0
17
Androidアプリ開発に手を出してみる巻
seyamasan
0
42
Featured
See All Featured
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
64
53k
Embracing the Ebb and Flow
colly
88
5k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
14k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.4k
Ruling the World: When Life Gets Gamed
codingconduct
0
180
エンジニアに許された特別な時間の終わり
watany
106
240k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
210
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Designing for Timeless Needs
cassininazir
0
180
Writing Fast Ruby
sferik
630
63k
Transcript
/'$λάΛ׆༻ͯ͠ ਫΛָʹങ͍͍ͨ ؔϞόΠϧݚڀձ" !TFZBNBTBO
ࣗݾհ w ࢁࡷଠ w גࣜձࣾϚϓϦΟ w .PCJMF"QQ&OHJOFFSʙ w Ұ࣍࢈ۀ͚ʹ%σʔλΛ׆༻ ͨ͠αʔϏεΛ։ൃ
w ࠷ۙ'MVUUFSͬͯ.PCJMF 8FCΞϓϦΛϦϦʔεͨ͠
/'$ͱ
/'$ͱ w /FBS'JFME$PNNVOJDBUJPOɺۙڑແઢ௨৴ٕज़ͷ͜ͱ w /'$Λଂͨ͠εϚϗͱλάͳͲΛ͚ۙͮΔ͜ͱͰɺσʔλ௨৴͕Ͱ͖Δ w ࠓճ/'$λάʹ63-Λॻ͖ࠐΜͰɺεϚϗΛ͔͟͢͜ͱͰϖʔδ͕ ։͘ΈΛ࡞Δ
࡞ͬͨͷˠ
None
͜Εʹॻ͖ࠐΉ w όΠτॻ͖ࠐΉ͜ͱ͕Ͱ͖Δ w ԁ͘Β͍Ͱຕങ͑Δ
/%&' w σʔλަ͢ΔͨΊͷϑΥʔϚοτ w /%&'ϝοηʔδͱɺ/%&'ϨίʔυͰߏ͞Ε͍ͯΔ w /%&'ϨίʔυσʔλͰ͋Γɺ/%&'ϝοηʔδΛߏ͢ΔͨΊʹඞཁ w /%&'Ϩίʔυʹɺ63*ͳͲͷܕࢦఆ͞Εͨσʔλؚ͕·ΕΔ
Πϝʔδ /%&' /%&'ϝοηʔδ /%&' Ϩίʔυ /%&' Ϩίʔυ /%&' Ϩίʔυ ʜ
Πϝʔδ /'$ λά /%&' ಡΈऔΓॻ͖ࠐΈ
ͱ͍͏͜ͱͰ࣮
ݖݶ w "OESPJE.BOJGFTUʹɺ/'$Λ͏ͨΊͷݖݶ͕ඞཁͰ͢ <uses-permission android:name="android.permission.NFC" /> ΛՃ͠·͢ɻ
/GD"EBQUFS w ͷ/'$Ξμϓλʔ ίϯτϩʔϥ Λૢ࡞͢ΔͨΊͷΫϥε ͜ΕͰσϑΥϧτͷΞμϓλʔΛऔಘͰ͖·͢ ˣ val nfcAdapter =
NfcAdapter.getDefaultAdapter(activity) ˞BDUJWJUZ$PNQPOFOU"DUJWJUZ
ϦʔμʔϞʔυʹ੍ݶ w ಡΈऔΓॻ͖ࠐΈͱͯ͠ͷΈಈ࡞ͤ͞Δ nfcAdapter.enableReaderMode(activity, readerCallback, flag, null)
FOBCMF3FBEFS.PEFͷҾ Ҿ આ໌ ͨ͠ͷ BDUJWJUZ "DUJWJUZΛ͍͍ͤ $PNQPOFOU"DUJWJUZ DBMMCBDL ಡΈऔΓͰ͖ͨ࣌ʹΓ͍ͨॲཧΛ ͍͍ͤ
/GD"EBQUFS3FBEFS$BMMCBDL fl BHT /'$ͷछྨΛ͍͍ͤ /GD"EBQUFS'-"(@3&"%&3@/'$@ " FYUSBT ϦʔμʔϞʔυઃఆ༻ͷՃΦϓγ ϣϯ OVMM
/'$ λά /%&' ಡΈऔΓॻ͖ࠐΈ ͜ͷ෦Λ0/ʹͨ͠
/EFG3FDPSE w 63*ͷ/EFGϨίʔυΛ࡞ val uriRecord = NdefRecord.createUri(inputText.toUri()) ˞JOQVU5FYU4USJOHܕͰ͋ΓɺςΩετϑΟʔϧυ͔Βೖྗͨ͠ͷ
/EFG.FTTBHF w /EFG.FTTBHFΛ࡞ val message = NdefMessage(arrayOf(uriRecord)) ˞VSJ3FDPSE/EFG3FDPSEDSFBUF6SJͰ࡞ͨ͠ͷ
/'$ λά /%&' ಡΈऔΓॻ͖ࠐΈ ͜ΕΛ࡞ͨ͠
/%&'ϝοηʔδΛ࡞ͬͨͷͰ ॻ͖ࠐΉ
ॻ͖ࠐΈઌͷλάऔಘ NfcAdapter.ReaderCallback { tag: Tag? -> }
खॱ ಡΈࠐΜͩλάͷ/%&'ΛऔಘWBMOEFG/EFGHFU UBH ಡΈऔΓॻ͖ࠐΈΛ༗ޮԽOEFGDPOOFDU ಡΈࠐΜͩ/%&'ͷ/%&'ϝοηʔδʹ্ॻ͖
OEFGXSJUF/EFG.FTTBHF NFTTBHF ಡΈऔΓॻ͖ࠐΈΛແޮԽOEFGDMPTF
͋ͱɺεϚϗΛ͔ͯ͟͠ ॻ͖ࠐΉ͚ͩʂ 🎉
·ͱΊ w ॻ͖ࠐΈ͍ͨ͜ͱΛ/%&'ϑΥʔϚοτʹͯ͠ॻ͖ࠐΊΔ w "OESPJE1MBUGPSN"1*ͳͷͰಛʹϥΠϒϥϦΛՃ͠ͳ͍͍ͯ͘ w ਫΛങ͏ͷָ͕͘͠ͳΓ·ͨ͠ʂ w طଘͷΞϓϦ͋Δ͚ͲɺࣗͷڵຯͰษڧ͢Δͷָ͍͠
ϦϙδτϦ