QML Poster ExampleFiles:
The QML Poster example displays the contents of specifically formated NDEF messages read from an NFC Tag. The NDEF message should contain a URI record, an optional image/* MIME record and one or more localized Text records. An NFC enabled poster can be a poster in a public place with an embedded NFC tag. A passerby may stop, read the text printed on the poster and become curious. She sees that the poster contains an NFC tag and holds her phone up to touch the area marked as the tag. The tag can then transfer additional data to the mobile device. The device can take whatever action the application thinks is necessary, from simply displaying text and links to opening links in the transferred data. The example declares a NearField element with id nearfield. This includes a filter constructed from two NdefFilters. The filters have the type specified by a string such as "urn:nfc:wkt:U", which identifies the type as being an NFC Well Known Type, that is predefined, of "U" representing a URL. The other NdefFilter element is for a Well Known Type of "T" (Text). filter: [ NdefFilter { type: "urn:nfc:wkt:U"; minimum: 1; maximum: 1 }, NdefFilter { type: "urn:nfc:wkt:T"; minimum: 1 } ] The NearField element has the properties of filter, messageRecords and orderMatch. In this example the filter component contains the two NdefFilter elements, the orderMatch property is not used in this example and the messageRecords property is a list of NdefRecords containing the results of the last read. When the signal messageRecordsChanged() is emitted the slot onMessageRecordsChanged will iterate through the messageRecords selecting particular types. After all records in the messageRecords list have been examined the state of the example is set to "Show" which displays the results. onMessageRecordsChanged: { posterText.text = ""; posterImage.source = ""; posterUrl.text = ""; var currentLocaleMatch = NdefTextRecord.LocaleMatchedNone; var i; for (i = 0; i < messageRecords.length; ++i) { if (messageRecords[i].recordType == "urn:nfc:wkt:T") { if (messageRecords[i].localeMatch > currentLocaleMatch) { currentLocaleMatch = messageRecords[i].localeMatch; posterText.text = messageRecords[i].text; } } else if (messageRecords[i].recordType == "urn:nfc:wkt:U") { posterUrl.text = messageRecords[i].uri; } else if (messageRecords[i].recordType.substr(0, 19) == "urn:nfc:mime:image/") { posterImage.source = messageRecords[i].uri; } } root.state = "show"; } |
Publicité
Best OfActualités les plus luesSemaine
Mois
Année
Le blog Digia au hasardDéploiement d'applications Qt Commercial sur les tablettes Windows 8Le blog Digia est l'endroit privilégié pour la communication sur l'édition commerciale de Qt, où des réponses publiques sont apportées aux questions les plus posées au support. Lire l'article.
CommunautéRessources
Liens utilesContact
Qt dans le magazine |
Cette page est une traduction d'une page de la documentation de Qt, écrite par Nokia Corporation and/or its subsidiary(-ies). Les éventuels problèmes résultant d'une mauvaise traduction ne sont pas imputables à Nokia. | Qt qtmobility-1.2 | |
Copyright © 2012 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon, vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD. | ||
Vous avez déniché une erreur ? Un bug ? Une redirection cassée ? Ou tout autre problème, quel qu'il soit ? Ou bien vous désirez participer à ce projet de traduction ? N'hésitez pas à nous contacter ou par MP ! |
Copyright © 2000-2012 - www.developpez.com