13.01.2014 Aufrufe

PDF 941kB - Hochschule Ulm

PDF 941kB - Hochschule Ulm

PDF 941kB - Hochschule Ulm

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Implementierung<br />

ble FirstMessageToSend zugewiesen. Zudem stellt die Klasse ProximityDevice unterschiedliche<br />

Events bereit, unter anderem das Event DeviceArrived, wenn ein anderes<br />

NFC Gerät erkannt wird. In Listing 5 wird dies veranschaulicht.<br />

1 this . ProximityDevice . DeviceArrived += DeviceArrivedHandler ;<br />

2 this . ProximityDevice . DeviceDeparted += DeviceDepartedHandler<br />

;<br />

3 this . ProximityDevice . SubscribeForMessage (" NDEF ",<br />

MessageReceivedHandler );<br />

Listing 5: Registrieren von Event Handlern bei der Instanz der Klasse ProximityDevice.<br />

Da sowohl Reader als auch die App den gleichen Code der Klasse Nfc verwenden, werden<br />

beide auf das Event DeviceArrived reagieren und die Methode DeviceArrivedHandler<br />

() aufrufen. Wenn aber beide Anwendungen gleichzeitig anfangen zu senden, wird die<br />

andere Anwendung nichts verstehen können. Daher die Notwendigkeit festzulegen, wer<br />

als erstes eine Nachricht senden darf. In Listing 6 wird die DeviceArrivedHandler()<br />

Methode gezeigt.<br />

1 private void DeviceArrivedHandler ( ProximityDevice sender )<br />

2 {<br />

3 if( this . SendsFirstMessage )<br />

4 {<br />

5 // ...<br />

6 this . SendMessage ( this . FirstMessageToSend );<br />

7 }<br />

8 }<br />

Listing 6: Implementierung des DeviceArrivedHandler Event Handlers.<br />

Im Fall des Readers, überträgt dieser über die SendMessage() Methode den beim<br />

Erzeugen der Klasse Nfc übergebenen Parameter.<br />

Die SendMessage() Methode bedient die PublishBinaryMessage() Methode der<br />

Klasse ProximityDevice, wie in Listing 7 ersichtlich ist.<br />

1 public void SendMessage ( NdefMessage ndefMessage )<br />

2 {<br />

3 this . MessageId = this . ProximityDevice .<br />

PublishBinaryMessage (" NDEF ", ndefMessage .<br />

ToByteArray (). AsBuffer () , this .<br />

MessageTransmittedHandler );<br />

4 }<br />

Listing 7: Übermitteln einer Nachricht mit der SendMessage Methode.<br />

Als erster Parameter wird angegeben, um welchen Nachrichtentyp es sich handelt, wie<br />

z.B. NDEF. Dieser Nachrichtentyp muss von einem Empfänger abonniert werden, damit<br />

52

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!