diff options
Diffstat (limited to 'examples/nfc/annotatedurl')
-rw-r--r-- | examples/nfc/annotatedurl/annotatedurl.cpp | 4 | ||||
-rw-r--r-- | examples/nfc/annotatedurl/annotatedurl.h | 2 | ||||
-rw-r--r-- | examples/nfc/annotatedurl/doc/images/annotatedurl.png | bin | 34705 -> 7345 bytes | |||
-rw-r--r-- | examples/nfc/annotatedurl/doc/images/annotatedurl2.png | bin | 0 -> 7685 bytes | |||
-rw-r--r-- | examples/nfc/annotatedurl/doc/src/annotatedurl.qdoc | 48 |
5 files changed, 48 insertions, 6 deletions
diff --git a/examples/nfc/annotatedurl/annotatedurl.cpp b/examples/nfc/annotatedurl/annotatedurl.cpp index 5c4a0527..0e6b58fa 100644 --- a/examples/nfc/annotatedurl/annotatedurl.cpp +++ b/examples/nfc/annotatedurl/annotatedurl.cpp @@ -168,12 +168,12 @@ void AnnotatedUrl::handleMessage(const QNdefMessage &message, QNearFieldTarget * QNdefNfcUriRecord uriRecord(record); url = uriRecord.uri(); -//! [handleMessage 3] } else if (record.typeNameFormat() == QNdefRecord::Mime && record.type().startsWith("image/")) { pixmap = QPixmap::fromImage(QImage::fromData(record.payload())); -//! [handleMessage 4] } +//! [handleMessage 3] +//! [handleMessage 4] } emit annotatedUrl(url, title, pixmap); diff --git a/examples/nfc/annotatedurl/annotatedurl.h b/examples/nfc/annotatedurl/annotatedurl.h index e62b9d08..204bed5f 100644 --- a/examples/nfc/annotatedurl/annotatedurl.h +++ b/examples/nfc/annotatedurl/annotatedurl.h @@ -60,6 +60,7 @@ QT_FORWARD_DECLARE_CLASS(QPixmap) QT_FORWARD_DECLARE_CLASS(QNearFieldManager) QT_FORWARD_DECLARE_CLASS(QNearFieldTarget) +//! [0] class AnnotatedUrl : public QObject { Q_OBJECT @@ -79,5 +80,6 @@ public slots: private: QNearFieldManager *manager; }; +//! [0] #endif // ANNOTATEDURL_H diff --git a/examples/nfc/annotatedurl/doc/images/annotatedurl.png b/examples/nfc/annotatedurl/doc/images/annotatedurl.png Binary files differindex b6cf8637..01130ecd 100644 --- a/examples/nfc/annotatedurl/doc/images/annotatedurl.png +++ b/examples/nfc/annotatedurl/doc/images/annotatedurl.png diff --git a/examples/nfc/annotatedurl/doc/images/annotatedurl2.png b/examples/nfc/annotatedurl/doc/images/annotatedurl2.png Binary files differnew file mode 100644 index 00000000..2ea6f12f --- /dev/null +++ b/examples/nfc/annotatedurl/doc/images/annotatedurl2.png diff --git a/examples/nfc/annotatedurl/doc/src/annotatedurl.qdoc b/examples/nfc/annotatedurl/doc/src/annotatedurl.qdoc index 0ea57a7c..7fda040f 100644 --- a/examples/nfc/annotatedurl/doc/src/annotatedurl.qdoc +++ b/examples/nfc/annotatedurl/doc/src/annotatedurl.qdoc @@ -30,13 +30,53 @@ \title Annotated URL Example \brief An example showing reading from formatted NFC Data Exchange Format (NDEF) messages. -The Annotated URL example displays the contents of specifically formatted NFC -Data Exchange Format (NDEF) messages read from an NFC Tag. The NDEF message -should contain a URI record, an optional \c image/* MIME record, and one or more -localized Text records. +The Annotated URL example displays the contents of specifically +formatted NFC Data Exchange Format (NDEF) messages read from an NFC +Tag. The NDEF message should contain a URI record, an optional \c +image/* MIME record, and one or more localized Text records. +This is the initial state of the example: \image annotatedurl.png +In this example the NFC Tag used contains a text record. The UI +gets updated accordingly to: + +\image annotatedurl2.png + +\section1 AnnotatedUrl Class Definition + +The \c AnnotatedUrl class wraps the \c QNearFieldManager, the class +providing the NFC Tag detection functionality. NDEF messages are read +by the QNearFieldManager and forwarded to a handler contained in the +\c AnnotatedUrl class. After parsing the NDEF message the class emits +the signal AnnotatedUrl::annotatedUrl(const QUrl &url, const QString +&title, const QPixmap &pixmap). The UI reacts to the signal displaying +the contents of the NDEF message. + +\snippet annotatedurl/annotatedurl.h 0 + +\section1 AnnotatedUrl Handler Implementation + +NFC messages read by the \c QNearFieldManager are forwarded to +AnnotatedUrl::handleMessage. The callback signature details can be +read in \l{QNearFieldManager::registerNdefMessageHandler}. + +\snippet annotatedurl/annotatedurl.cpp handleMessage 1 + +Because NFC messages are composed of several NDEF records, looping +through all of the records allows the extraction of the 3 parameters +to be displayed in the UI: the Uri, the Title and the Pixmap: + + +\snippet annotatedurl/annotatedurl.cpp handleMessage 2 +\snippet annotatedurl/annotatedurl.cpp handleMessage 3 + +Finally after having extracted the parameters of the NFC message the +corresponding signal is emitted so that the UI can handle it. + +\snippet annotatedurl/annotatedurl.cpp handleMessage 4 + + \include examples-run.qdocinc \sa {Qt NFC} |