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
110
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
520
Flutter製アプリのアクセシビリティ対応(音声読み上げ編) / Screen reading in Flutter app
nanonano
2
1.7k
IntelliJ IDEAのFlutter Live Previewおためし会
nanonano
1
1.7k
Other Decks in Programming
See All in Programming
What we keep in mind when migrating from Serverless Framework to AWS CDK and AWS SAM
kasacchiful
1
130
rbs-inlineを導入してYARDからRBSに移行する
euglena1215
1
230
1人で挑むSwiftコンパイラ 〜型システム入門編〜
s_shimotori
0
320
Appleの新しいプライバシー要件対応: ノーコードアプリ プラットフォームの実践事例
nao_randd
1
510
どうしてこうなった?から理解するActive Recordの関連の裏側
willnet
5
530
初めてのiOS関連GitHub ActionsをMarketplaceに公開するまでの実録
konifar
3
210
大公開!iOS開発の悩みトップ5 〜iOSDC Japan 2024〜
ryunakayama
0
190
座談会 「Strict ConcurrencyとSwift 6が開く新時代: 私たちはどう生きるか?」
shiz
4
8.6k
月間4.5億回再生を超える大規模サービス TVer iOSアプリのリアーキテクチャ戦略 - iOSDC2024
techtver
PRO
1
680
快適な開発と高セキュリティを実現するCryptoKitを活用したCoreDataのデータ暗号化術
grandbig
1
320
長期運用プロダクトの開発速度を維持し続けるためのリファクタリング実践例
wataruss
8
2.6k
仮想ファイルシステムを導入して開発環境のストレージ課題を解消する
segadevtech
2
450
Featured
See All Featured
How GitHub Uses GitHub to Build GitHub
holman
472
290k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
Building Adaptive Systems
keathley
36
2.1k
Fantastic passwords and where to find them - at NoRuKo
philnash
47
2.8k
The Straight Up "How To Draw Better" Workshop
denniskardys
230
130k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
166
48k
Done Done
chrislema
180
16k
Learning to Love Humans: Emotional Interface Design
aarron
270
40k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
22
1.7k
Navigating Team Friction
lara
183
13k
The Language of Interfaces
destraynor
153
23k
Designing Experiences People Love
moore
138
23k
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