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
20230925 After DroidKaigi LT Night
Search
Banno Takuya / NanoNano
September 25, 2023
Programming
0
150
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
610
Flutter製アプリのアクセシビリティ対応(音声読み上げ編) / Screen reading in Flutter app
nanonano
2
1.9k
IntelliJ IDEAのFlutter Live Previewおためし会
nanonano
1
1.8k
Other Decks in Programming
See All in Programming
カウシェで Four Keys の改善を試みた理由
ike002jp
1
120
生成AIで知るお願いの仕方の難しさ
ohmori_yusuke
1
100
ぽちぽち選択するだけでOSSを読めるVSCode拡張機能
ymbigo
9
3.8k
音声プラットフォームのアーキテクチャ変遷から学ぶ、クラウドネイティブなバッチ処理 (20250422_CNDS2025_Batch_Architecture)
thousanda
0
400
Laravel × Clean Architecture
bumptakayuki
PRO
0
140
The New Developer Workflow: How AI Transforms Ideas into Code
danielsogl
0
110
ComposeでWebアプリを作る技術
tbsten
0
130
Vibe Coding の話をしよう
schroneko
14
3.7k
20250426 GDGoC 合同新歓 - GDGoC のススメ
getty708
0
110
Golangci-lint v2爆誕: 君たちはどうすべきか
logica0419
1
230
Amazon CloudWatchの地味だけど強力な機能紹介!
itotsum
0
240
Contribute to Comunities | React Tokyo Meetup #4 LT
sasagar
0
590
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1031
460k
Documentation Writing (for coders)
carmenintech
71
4.8k
Building a Modern Day E-commerce SEO Strategy
aleyda
40
7.2k
We Have a Design System, Now What?
morganepeng
52
7.6k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
52
2.4k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
19
1.2k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
12k
Adopting Sorbet at Scale
ufuk
76
9.3k
A better future with KSS
kneath
239
17k
Rebuilding a faster, lazier Slack
samanthasiow
81
9k
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