diff options
author | Leena Miettinen <riitta-leena.miettinen@digia.com> | 2014-10-13 16:22:30 +0200 |
---|---|---|
committer | Leena Miettinen <riitta-leena.miettinen@digia.com> | 2014-11-04 12:36:43 +0100 |
commit | 9e411002b822ce79e81ef6e65badb3a853d3dbf6 (patch) | |
tree | b807e6344a5b461e1edf12fcfec637a56da6b46a /examples | |
parent | d55d17b0dc14daebc8329036dc1479465d1ef339 (diff) |
Doc: document Qt Notification example
Change-Id: I31500a15f61ab4aecba623fed4cbeeb9292520cf
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
Reviewed-by: Topi Reiniƶ <topi.reinio@digia.com>
Diffstat (limited to 'examples')
-rw-r--r-- | examples/androidextras/notification/doc/src/qtandroidextras-example-notification.qdoc | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/examples/androidextras/notification/doc/src/qtandroidextras-example-notification.qdoc b/examples/androidextras/notification/doc/src/qtandroidextras-example-notification.qdoc index d499e62..991abbe 100644 --- a/examples/androidextras/notification/doc/src/qtandroidextras-example-notification.qdoc +++ b/examples/androidextras/notification/doc/src/qtandroidextras-example-notification.qdoc @@ -35,11 +35,65 @@ This example demonstrates how to add a custom Java class to an Android application, and how to call into this using the JNI convenience APIs in the Qt Android Extras module. + The application UI is created by using Qt Quick. Click on either of the smiley faces to put a notification in the status area of the Android device. \include examples-run.qdocinc + \section1 Calling Java Methods from C++ Code + + We define a custom Java class called \c NotificationClient in the + NotificationClient.java file: + + \quotefromfile notification/android-sources/src/org/qtproject/example/notification/NotificationClient.java + \skipto org.qtproject.example.notification + \printuntil /^\}/ + + In the NotificationClient C++ class header file, notificationclient.h, we + declare a simple C++ API to display notifications on an Android device. It + consists of a single string property, \c notification, and a slot, + \c updateAndroidNotification(), that calls the Java code: + + \quotefromfile notification/notificationclient.h + \skipto Q_PROPERTY + \printuntil ) + \dots + \skipto private slots + \printuntil updateAndroidNotification() + + A NotificationClient object is exposed to the QML in the main source file, + main.cpp: + + \quotefromfile notification/main.cpp + \skipto QQuickView view; + \printuntil notificationClient); + + In the NotificationClient C++ class source file, notificationclient.cpp, we + import the QtAndroidJniObject class to be able to use its functions: + + \quotefromfile notification/notificationclient.cpp + \skipto QAndroidJniObject + \printuntil > + + We connect the \c notificationChanged() signal to the + \c updateAndroidNotification() slot to update the notification text when the + \c notification property changes: + + \printuntil } + + The \c NotificationClient::updateAndroidNotification() function calls the + Java method. We construct a Java string from the \c notification string + property: + + \skipto updateAndroidNotification() + \printuntil fromString + + And pass the string object as a parameter to the Java \c notify() method. + Note that we must supply the signature ourselves: + + \printuntil } + \sa {Qt for Android}, {Qt Android Extras} */ |