aboutsummaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorLeena Miettinen <riitta-leena.miettinen@digia.com>2014-10-13 16:22:30 +0200
committerLeena Miettinen <riitta-leena.miettinen@digia.com>2014-11-04 12:36:43 +0100
commit9e411002b822ce79e81ef6e65badb3a853d3dbf6 (patch)
treeb807e6344a5b461e1edf12fcfec637a56da6b46a /examples
parentd55d17b0dc14daebc8329036dc1479465d1ef339 (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.qdoc54
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}
*/