Jetpack Composeからはじめる NFCアプリ

3.8K Views

February 06, 23

スライド概要

2023年1月28日に実施された「JavaDoでしょう」グループによる「ハイブリット開催!Javaもそれ以外も幅広く聞きたい・話したい!」イベントにて発表したLTの内容です。

profile-image

takagimeow is the full stack Android engineer working in Sapporo, Hokkaido, Japan. I love Android, so I usually write mobile app code and server-side code in Kotlin language.

シェア

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

Jetpack Composeからはじめる NFCアプリ たかぎとねこ(@takagimeow)

2.

たかぎとねこ ・Android Developer ・Qiita : @takagimeow ・Twitter : @takagimeow ・https://takagimeow.takagi.app

4.

AndroidとNFCの現状 ・「NFC Hacks」と呼ばれる名著が、オライリージャパンから出版された2013年11月を最 後に、AndroidとNFCをメインテーマにした書籍の出版は2023年1月現在出版されてい ない ・2013年当時と比べて、現在はオンラインショッピングサイトを通じて安価で多様なNFC タグを入手しやすくなっている ・最近のAndroidスマートフォンでは、標準でNFCの機能が利用可能となっている

5.

Jetpack Composeの登場 ・ネイティブUIをビルドするために開発され たAndroidの最新ツールキット ・宣言的UIと呼ばれるスタイルでUIを記述 することができる ・Kotlinの関数を使って記述できるため、よ りシンプルにUIを作成できるので、従来の XMLを使った複雑なレイアウトの記述を避 けることができる

6.

NFCタグを読み取った時の主なインテント ・発行されるインテントの種類はandroid.nfc.NfcAdapterにて定義されている ・https://developer.android.com/reference/android/nfc/NfcAdapter ・NfcAdapter ・ACTION_NDEF_DISCOVERED ・ACTION_TECH_DISCOVERED ・ACTION_TAG_DISCOVERED

7.

ACTION_NDEF_DISCOVERED ・NDEFペイロードを持つNFCタグが見つかった場合に発行されるインテント ・android.nfc.action.ACTION_NDEF_DISCOVEREDを使って参照する

8.

ACTION_TECH_DISCOVERED ・NFCタグが発見され、発見されたNFCタグが事前に設定されているテクノロジーをサ ポートしている場合に発行されるインテント ・android.nfc.action.ACTION_TECH_DISCOVEREDを使って参照する

9.

ACTION_TAG_DISCOVERED ・NFCタグが見つかった場合に発行されるインテント ・ACTION_NDEF_DISCOVEREDやACTION_TECH_DISCOVEREDなどに対応す るアクティビティが存在する場合は発行されない

10.

使用許可を設定する

11.

IntentFilterを設定する

12.

NfcAdapter

13.

DisposableEffect

14.

LifecycleOwner

15.

addObserver()

16.

LifeCycleEventObserver

17.

LifeCycle.Event.ON_CREATE

18.

LifeCycle.Event.ON_RESUME

19.

LifeCycle.Event.ON_PAUSE

20.

newIntent.action

21.

Tag

22.

書き込む場合

23.

NDEFメッセージを作成する

24.

実際に書き込む

25.

読み取る場合

26.

onDispose

27.

まとめ ・Jetpack Composeを採用しても、既存のNFCとAndroidに関する知識を使ってアプリ の開発を行える ・Activityに対してandroid:launchMode=”singleTask”を設定する ・他のパッケージ名が含まれたAARが保存されているNFCタグも取り扱いたい場合は既 存のアクティビティを使った実装がおすすめ