From d55d17b0dc14daebc8329036dc1479465d1ef339 Mon Sep 17 00:00:00 2001 From: Alex Blasche Date: Mon, 27 Oct 2014 15:26:06 +0100 Subject: Fix QAndroidJniObject documentation errors/inconsistencies Change-Id: Ica7189c104d239183cf976956bfa63bd666424ab Reviewed-by: Christian Stromme --- src/androidextras/jni/qandroidjniobject.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/androidextras/jni/qandroidjniobject.cpp b/src/androidextras/jni/qandroidjniobject.cpp index 69ceeb3..cadedfe 100644 --- a/src/androidextras/jni/qandroidjniobject.cpp +++ b/src/androidextras/jni/qandroidjniobject.cpp @@ -286,7 +286,7 @@ QT_BEGIN_NAMESPACE and arguments. \code - jclass myClass = ...; + jclass myClazz = ...; QAndroidJniObject::QAndroidJniObject(myClazz, "(I)V", 3); \endcode */ @@ -339,7 +339,7 @@ QT_BEGIN_NAMESPACE \code ... QAndroidJniObject myJavaString1 = ...; - QAndroidJniObject myJavaString2 = myJavaString.callObjectMethod("toString"); + QAndroidJniObject myJavaString2 = myJavaString1.callObjectMethod("toString"); ... \endcode */ @@ -447,8 +447,8 @@ QT_BEGIN_NAMESPACE Retrieves the value of the field \a fieldName. \code - QAndroidJniObject volumeControll = ...; - jint fieldValue = obj.getField("MAX_VOLUME"); + QAndroidJniObject volumeControl = ...; + jint fieldValue = volumeControl.getField("MAX_VOLUME"); \endcode */ -- cgit v1.2.3 From 9e411002b822ce79e81ef6e65badb3a853d3dbf6 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Mon, 13 Oct 2014 16:22:30 +0200 Subject: Doc: document Qt Notification example MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I31500a15f61ab4aecba623fed4cbeeb9292520cf Reviewed-by: Eskil Abrahamsen Blomfeldt Reviewed-by: Topi Reiniƶ --- .../src/qtandroidextras-example-notification.qdoc | 54 ++++++++++++++++++++++ 1 file changed, 54 insertions(+) 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} */ -- cgit v1.2.3 From efabc3f1c4cff9158924d4c3721470d82ea89ec9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Str=C3=B8mme?= Date: Wed, 5 Nov 2014 20:56:08 +0100 Subject: Fix use of va_list in QAndroidJniObject va_list functions where update to work on x86 where va_list is defined as char*. Change-Id: If1286a36d766b8536ca9a83ca21791d30b7b307c Reviewed-by: Eskil Abrahamsen Blomfeldt --- src/androidextras/jni/qandroidjniobject.cpp | 66 +++++++++++++++-------------- 1 file changed, 34 insertions(+), 32 deletions(-) diff --git a/src/androidextras/jni/qandroidjniobject.cpp b/src/androidextras/jni/qandroidjniobject.cpp index cadedfe..21c2c73 100644 --- a/src/androidextras/jni/qandroidjniobject.cpp +++ b/src/androidextras/jni/qandroidjniobject.cpp @@ -716,16 +716,18 @@ QT_BEGIN_NAMESPACE QAndroidJniObject::QAndroidJniObject(const char *className, const char *sig, ...) { va_list args; + QJNIObjectPrivate::QVaListPrivate vargs = { args }; va_start(args, sig); - d = QSharedPointer(new QJNIObjectPrivate(className, sig, args)); + d = QSharedPointer(new QJNIObjectPrivate(className, sig, vargs)); va_end(args); } QAndroidJniObject::QAndroidJniObject(jclass clazz, const char *sig, ...) { va_list args; + QJNIObjectPrivate::QVaListPrivate vargs = { args }; va_start(args, sig); - d = QSharedPointer(new QJNIObjectPrivate(clazz, sig, args)); + d = QSharedPointer(new QJNIObjectPrivate(clazz, sig, vargs)); va_end(args); } @@ -757,7 +759,7 @@ void QAndroidJniObject::callMethod(const char *methodName, const char *sig { va_list args; va_start(args, sig); - d->callMethod(methodName, sig, args); + d->callMethodV(methodName, sig, args); va_end(args); } @@ -766,7 +768,7 @@ jboolean QAndroidJniObject::callMethod(const char *methodName, const c { va_list args; va_start(args, sig); - jboolean res = d->callMethod(methodName, sig, args); + jboolean res = d->callMethodV(methodName, sig, args); va_end(args); return res; } @@ -776,7 +778,7 @@ jbyte QAndroidJniObject::callMethod(const char *methodName, const char *s { va_list args; va_start(args, sig); - jbyte res = d->callMethod(methodName, sig, args); + jbyte res = d->callMethodV(methodName, sig, args); va_end(args); return res; } @@ -786,7 +788,7 @@ jchar QAndroidJniObject::callMethod(const char *methodName, const char *s { va_list args; va_start(args, sig); - jchar res = d->callMethod(methodName, sig, args); + jchar res = d->callMethodV(methodName, sig, args); va_end(args); return res; } @@ -796,7 +798,7 @@ jshort QAndroidJniObject::callMethod(const char *methodName, const char { va_list args; va_start(args, sig); - jshort res = d->callMethod(methodName, sig, args); + jshort res = d->callMethodV(methodName, sig, args); va_end(args); return res; } @@ -806,7 +808,7 @@ jint QAndroidJniObject::callMethod(const char *methodName, const char *sig { va_list args; va_start(args, sig); - jint res = d->callMethod(methodName, sig, args); + jint res = d->callMethodV(methodName, sig, args); va_end(args); return res; } @@ -816,7 +818,7 @@ jlong QAndroidJniObject::callMethod(const char *methodName, const char *s { va_list args; va_start(args, sig); - jlong res = d->callMethod(methodName, sig, args); + jlong res = d->callMethodV(methodName, sig, args); va_end(args); return res; } @@ -826,7 +828,7 @@ jfloat QAndroidJniObject::callMethod(const char *methodName, const char { va_list args; va_start(args, sig); - jfloat res = d->callMethod(methodName, sig, args); + jfloat res = d->callMethodV(methodName, sig, args); va_end(args); return res; } @@ -836,7 +838,7 @@ jdouble QAndroidJniObject::callMethod(const char *methodName, const cha { va_list args; va_start(args, sig); - jdouble res = d->callMethod(methodName, sig, args); + jdouble res = d->callMethodV(methodName, sig, args); va_end(args); return res; } @@ -847,7 +849,7 @@ QAndroidJniObject QAndroidJniObject::callObjectMethod(const char *methodName, { va_list args; va_start(args, sig); - QJNIObjectPrivate res = d->callObjectMethod(methodName, sig, args); + QJNIObjectPrivate res = d->callObjectMethodV(methodName, sig, args); va_end(args); return res; } @@ -962,7 +964,7 @@ void QAndroidJniObject::callStaticMethod(const char *className, { va_list args; va_start(args, sig); - QJNIObjectPrivate::callStaticMethod(className, methodName, sig, args); + QJNIObjectPrivate::callStaticMethodV(className, methodName, sig, args); va_end(args); } @@ -974,7 +976,7 @@ void QAndroidJniObject::callStaticMethod(jclass clazz, { va_list args; va_start(args, sig); - QJNIObjectPrivate::callStaticMethod(clazz, methodName, sig, args); + QJNIObjectPrivate::callStaticMethodV(clazz, methodName, sig, args); va_end(args); } @@ -986,7 +988,7 @@ jboolean QAndroidJniObject::callStaticMethod(const char *className, { va_list args; va_start(args, sig); - jboolean res = QJNIObjectPrivate::callStaticMethod(className, methodName, sig, args); + jboolean res = QJNIObjectPrivate::callStaticMethodV(className, methodName, sig, args); va_end(args); return res; } @@ -999,7 +1001,7 @@ jboolean QAndroidJniObject::callStaticMethod(jclass clazz, { va_list args; va_start(args, sig); - jboolean res = QJNIObjectPrivate::callStaticMethod(clazz, methodName, sig, args); + jboolean res = QJNIObjectPrivate::callStaticMethodV(clazz, methodName, sig, args); va_end(args); return res; } @@ -1012,7 +1014,7 @@ jbyte QAndroidJniObject::callStaticMethod(const char *className, { va_list args; va_start(args, sig); - jbyte res = QJNIObjectPrivate::callStaticMethod(className, methodName, sig, args); + jbyte res = QJNIObjectPrivate::callStaticMethodV(className, methodName, sig, args); va_end(args); return res; } @@ -1025,7 +1027,7 @@ jbyte QAndroidJniObject::callStaticMethod(jclass clazz, { va_list args; va_start(args, sig); - jbyte res = QJNIObjectPrivate::callStaticMethod(clazz, methodName, sig, args); + jbyte res = QJNIObjectPrivate::callStaticMethodV(clazz, methodName, sig, args); va_end(args); return res; } @@ -1038,7 +1040,7 @@ jchar QAndroidJniObject::callStaticMethod(const char *className, { va_list args; va_start(args, sig); - jchar res = QJNIObjectPrivate::callStaticMethod(className, methodName, sig, args); + jchar res = QJNIObjectPrivate::callStaticMethodV(className, methodName, sig, args); va_end(args); return res; } @@ -1051,7 +1053,7 @@ jchar QAndroidJniObject::callStaticMethod(jclass clazz, { va_list args; va_start(args, sig); - jchar res = QJNIObjectPrivate::callStaticMethod(clazz, methodName, sig, args); + jchar res = QJNIObjectPrivate::callStaticMethodV(clazz, methodName, sig, args); va_end(args); return res; } @@ -1065,7 +1067,7 @@ jshort QAndroidJniObject::callStaticMethod(const char *className, { va_list args; va_start(args, sig); - jshort res = QJNIObjectPrivate::callStaticMethod(className, methodName, sig, args); + jshort res = QJNIObjectPrivate::callStaticMethodV(className, methodName, sig, args); va_end(args); return res; } @@ -1078,7 +1080,7 @@ jshort QAndroidJniObject::callStaticMethod(jclass clazz, { va_list args; va_start(args, sig); - jshort res = QJNIObjectPrivate::callStaticMethod(clazz, methodName, sig, args); + jshort res = QJNIObjectPrivate::callStaticMethodV(clazz, methodName, sig, args); va_end(args); return res; } @@ -1091,7 +1093,7 @@ jint QAndroidJniObject::callStaticMethod(const char *className, { va_list args; va_start(args, sig); - jint res = QJNIObjectPrivate::callStaticMethod(className, methodName, sig, args); + jint res = QJNIObjectPrivate::callStaticMethodV(className, methodName, sig, args); va_end(args); return res; } @@ -1104,7 +1106,7 @@ jint QAndroidJniObject::callStaticMethod(jclass clazz, { va_list args; va_start(args, sig); - jint res = QJNIObjectPrivate::callStaticMethod(clazz, methodName, sig, args); + jint res = QJNIObjectPrivate::callStaticMethodV(clazz, methodName, sig, args); va_end(args); return res; } @@ -1117,7 +1119,7 @@ jlong QAndroidJniObject::callStaticMethod(const char *className, { va_list args; va_start(args, sig); - jlong res = QJNIObjectPrivate::callStaticMethod(className, methodName, sig, args); + jlong res = QJNIObjectPrivate::callStaticMethodV(className, methodName, sig, args); va_end(args); return res; } @@ -1130,7 +1132,7 @@ jlong QAndroidJniObject::callStaticMethod(jclass clazz, { va_list args; va_start(args, sig); - jlong res = QJNIObjectPrivate::callStaticMethod(clazz, methodName, sig, args); + jlong res = QJNIObjectPrivate::callStaticMethodV(clazz, methodName, sig, args); va_end(args); return res; } @@ -1143,7 +1145,7 @@ jfloat QAndroidJniObject::callStaticMethod(const char *className, { va_list args; va_start(args, sig); - jfloat res = QJNIObjectPrivate::callStaticMethod(className, methodName, sig, args); + jfloat res = QJNIObjectPrivate::callStaticMethodV(className, methodName, sig, args); va_end(args); return res; } @@ -1156,7 +1158,7 @@ jfloat QAndroidJniObject::callStaticMethod(jclass clazz, { va_list args; va_start(args, sig); - jfloat res = QJNIObjectPrivate::callStaticMethod(clazz, methodName, sig, args); + jfloat res = QJNIObjectPrivate::callStaticMethodV(clazz, methodName, sig, args); va_end(args); return res; } @@ -1169,7 +1171,7 @@ jdouble QAndroidJniObject::callStaticMethod(const char *className, { va_list args; va_start(args, sig); - jdouble res = QJNIObjectPrivate::callStaticMethod(className, methodName, sig, args); + jdouble res = QJNIObjectPrivate::callStaticMethodV(className, methodName, sig, args); va_end(args); return res; } @@ -1182,7 +1184,7 @@ jdouble QAndroidJniObject::callStaticMethod(jclass clazz, { va_list args; va_start(args, sig); - jdouble res = QJNIObjectPrivate::callStaticMethod(clazz, methodName, sig, args); + jdouble res = QJNIObjectPrivate::callStaticMethodV(clazz, methodName, sig, args); va_end(args); return res; } @@ -1194,7 +1196,7 @@ QAndroidJniObject QAndroidJniObject::callStaticObjectMethod(const char *classNam { va_list args; va_start(args, sig); - QJNIObjectPrivate res = QJNIObjectPrivate::callStaticObjectMethod(className, + QJNIObjectPrivate res = QJNIObjectPrivate::callStaticObjectMethodV(className, methodName, sig, args); @@ -1209,7 +1211,7 @@ QAndroidJniObject QAndroidJniObject::callStaticObjectMethod(jclass clazz, { va_list args; va_start(args, sig); - QJNIObjectPrivate res = QJNIObjectPrivate::callStaticObjectMethod(clazz, methodName, sig, args); + QJNIObjectPrivate res = QJNIObjectPrivate::callStaticObjectMethodV(clazz, methodName, sig, args); va_end(args); return res; } -- cgit v1.2.3