$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
20230925 After DroidKaigi LT Night
Search
Banno Takuya / NanoNano
September 25, 2023
Programming
0
170
20230925 After DroidKaigi LT Night
2023/09/25 After DroidKaigi LT Night
Banno Takuya / NanoNano
September 25, 2023
Tweet
Share
More Decks by Banno Takuya / NanoNano
See All by Banno Takuya / NanoNano
クイズ大会をシミュレーションする vbc on Webの挑戦?と展望 / Simulation Quiz Tournament
nanonano
0
640
Flutter製アプリのアクセシビリティ対応(音声読み上げ編) / Screen reading in Flutter app
nanonano
2
2.1k
IntelliJ IDEAのFlutter Live Previewおためし会
nanonano
1
1.9k
Other Decks in Programming
See All in Programming
エディターってAIで操作できるんだぜ
kis9a
0
720
DevFest Android in Korea 2025 - 개발자 커뮤니티를 통해 얻는 가치
wisemuji
0
140
dotfiles 式年遷宮 令和最新版
masawada
1
760
Microservices Platforms: When Team Topologies Meets Microservices Patterns
cer
PRO
1
1k
Socio-Technical Evolution: Growing an Architecture and Its Organization for Fast Flow
cer
PRO
0
330
新卒エンジニアのプルリクエスト with AI駆動
fukunaga2025
0
220
20251212 AI 時代的 Legacy Code 營救術 2025 WebConf
mouson
0
130
TypeScriptで設計する 堅牢さとUXを両立した非同期ワークフローの実現
moeka__c
6
3k
ハイパーメディア駆動アプリケーションとIslandアーキテクチャ: htmxによるWebアプリケーション開発と動的UIの局所的適用
nowaki28
0
420
tsgolintはいかにしてtypescript-goの非公開APIを呼び出しているのか
syumai
6
2.2k
Cell-Based Architecture
larchanjo
0
120
WebRTC、 綺麗に見るか滑らかに見るか
sublimer
1
160
Featured
See All Featured
Facilitating Awesome Meetings
lara
57
6.7k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Site-Speed That Sticks
csswizardry
13
1k
Being A Developer After 40
akosma
91
590k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
Bash Introduction
62gerente
615
210k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.2k
Transcript
DroidKaigi 2023で学んだことを 早速実践してみた 2023/09/25 After DroidKaigi LT Night Banno Takuya a.k.a なのなの
自己紹介 Banno Takuya a.k.a なのなの 仕事でAndroid開発をしてたことも ありました (今はWebフロントエンドなどを やってます) 「何でもやってるが 何でもやるとは言っていないし
何でもやれるとも言ってない」 @nano2_aloerina nano-nano nano2aloerina / なのなの 2
DroidKaigiリアル参加 楽しかった! DroidKaigiリアル参加は2019年ぶり 2020年は当日スタッフ募集に立候補していたものの、コロナ禍で中止に……😇 オンラインで視聴していた時期もあったが、改めてリアル参加の楽しさを実感 技術の話ができた🙌 エンジニア仲間に再会できた🙌 エンジニア仲間ができた🙌 3
やっていき欲が上がってきた 今回のセッションでの発表を実践してみたい できることなら登壇してみたい 💪気になったセッションをひとつ選んで、実践結果を発表しよう!💪 4
実践テーマ Day1. Host-based card emulationで簡単 NFC生活 by ARIYAMA Keiji Android端末をNFCカードのように振る舞
わせる、Host-based card emulation (HCE)のお話 5
自己紹介アプリをHCEで改良 DroidKaigi 2023の会場には、レシートプ リンタ一体型のAndroid端末とアプリを 持って参加 (スポンサーブースやアフターパーティ では随分とウケたのはここだけの話) こいつにHCEの実装を追加したら、自己 紹介がもっと捗るのでは? →実践してみることに
6
やってみた Android端末をNFCエリアにかざすと、 X(Twitter)のページが開くように!🙌 7
気づき・学び HCEの実装自体は発表通りにやればすんなりできた が、実際に送受信するコマンドやフローは自分で調べる必要があった NFC Forumの仕様書は有料($600)なので、読みたくても気軽に読めない 上手くいかなかったときの切り分けが難しい コマンドの書式が間違っている? コマンドのフローが間違っている? 単純にタッチが甘い? 8
改善点 iOS(iPhoneなど)で動かない問題 NFCタグの情報を表示するアプリで確認すると、 Android/iOSで読み取れている内容がなぜか違っている……? かざしたときに開くページを選択できるようにしたい いまのところは決め打ち HCEのServiceが操作できれば……と思ったが一般的なServiceとは少し違う? 突然反応しなくなる・たまにCrashする 端末自体の問題?NFCを一度OFFにしてONにし直すと復帰する Crashはまだ原因を調べてない
9
まとめ やっていき熱は冷める前に実践しよう!✋ やっていき熱を高めてくれたDroidKaigiとイベントに感謝🙇 10
ご清聴ありがとうございました 11
参考にした資料など Host-based card emulationで簡単NFC生活 https://speakerdeck.com/keiji/droidkaigi-2023?slide=2 NFC の基本 | Android デベロッパー
| Android Developers https://developer.android.com/guide/topics/connectivity/nfc/nfc?hl=ja NFC Host-based Card Emulation のサンプル ※TechBoosterの技術同人誌に対応するサンプルの模様 https://github.com/TechBooster/C85-Android-4.4-Sample/tree/master/chapter08 【NFC】NDEFについて理解する - Qiita https://qiita.com/shimosyan/items/ed21fb6984240baa7397 AndroidによるNFCスマートポスタータグの作成 | NTTテクノクロスブログ https://www.ntt-tx.co.jp/column/tec/mobile_04/ ほかいろいろ…… 12
おまけ 検証用に作ったサンプルアプリのソースコードはこちら https://github.com/nano-nano/20230925-droidkaigi-lt-night-demoapp (注意) スライドにあるとおり、Android端末でのみ成功します 最低限の実装なので、エラーハンドリングなどは適当です 13