F11: Q&A og bransjen
Avslutning
Innlevering 2


Scanning
- Bruk MifareUltralight
- Scan 4 pages (ett kall til readPages)
- pageOffset = 8 (32 byte)
- byte[] payload = tag.readPages(8)
- new String(payload) <-- ID-en
- Det er noen tags for testing i biblioteket!
Tips
- Tror du det er inne i en butikk? Spør dem!
- Er det umulig å finne en tag?
- Ikke bruk 100 år på det
- Den kan ha blitt stjålet/fjernet/borte
- Si fra til martin@westerdals.no pls
- Hint-felt…
Fagevaluering!
- Hva har vært bra?
- Hva har vært dårlig?
- Innlevering 2
- Gøy?
- Kjipt med dårlig kommunikasjon?
- Dumt at ting kom på plass sent?
- SKRIV DET PLS.
NFC
https://developer.android.com/guide/topics/connectivity/nfc/nfc.html
- Near Field Communication
- En liten mikrokontroller
- Sender ut en ID og/eller payload
- To viktige use cases
- Les data (fra en device eller tag)
- Skriv ("beam") data til en annen device
NFC access
Begynnelsen på IoT!
- Transport (containers)
- Reisekort
- Inngangskort (sikkerhet)
- Aktiv vs. passiv
- Aktiv = powered av batteri (ranged)
- Passiv = powered av NFC-leseren
Intent filter
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="text/plain" />
</intent-filter>
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:scheme="http"
android:host="developer.android.com"
android:pathPrefix="/index.html" />
</intent-filter>
- Filtrer på mimeType eller noe annet
- Ikke trigg chooser-dialogen hvis mulig
Starter Activity-en med et intent
Tag/NDEF discovery
<intent-filter>
<action android:name="android.nfc.action.TECH_DISCOVERED"/>
<action android:name="android.nfc.action.NDEF_DISCOVERED"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="text/plain"/>
</intent-filter>- Vær spesifikk
- Alt som trengs til innlevering 2
Tag encoding

https://developer.android.com/guide/topics/connectivity/nfc/nfc.html
Tag vendor


Hent ut data om tag
String action = getIntent().getAction();
if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(action)
|| NfcAdapter.ACTION_TAG_DISCOVERED.equals(action)) {
Tag tag = getIntent().getParcelableExtra(NfcAdapter.EXTRA_TAG);
MifareUltralight ultralight = MifareUltralight.get(tag);
// ...- Connect
- Read(/write)
- Close
ultralight.connect();
byte[] payload = ultralight.readPages(8);
payloadTextView.setText(new String(payload));
NFC Tools
https://play.google.com/store/apps/details?id=com.wakdev.wdnfc&hl=en
- Android-app
- Nyttig for NFC
- Leser fra/skriver til tags!

Eksamen
13. juni
Skriftlig skoleeksamen (3 timer)
Spørsmål fra hele pensum
Ser etter forståelse!
Samme form som tidligere eksamensoppgaver
(Robin)
Q&A!
PG4600-15-11: Finale!
By theneva
PG4600-15-11: Finale!
Android
- 518