| android.json |
|
30 |
- |
| androidbackendregister.cpp |
|
2200 |
- |
| androidbackendregister.h |
\internal
This class is used to [un]register QJniObjects which implement specific interfaces. These
objects can then be fetched or directly called by using that interface.
This is intended to decouple the Qt C++ code from the underlying Java implementation, as Qt now
has multiple separate usecases, each of which may have different implementations and support
different features.
To use this register, the interface must be declared as a JNI class via Q_DECLARE_JNI_CLASS:
Q_DECLARE_JNI_CLASS(ImaginaryInterface, "org/qtproject/qt/android/ImaginaryInterface")
Where ImaginaryInterface is a Java interface like this:
@UsedFromNativeCode
interface ImaginaryInterface {
void doSomething(int imaginary, int imaginary2);
}
After that, the features provided by that interface can be used in the C++ code in two ways:
Use the convenience method callInterface() to call a method directly:
AndroidBackendRegister *reg = QtAndroid::backendRegister();
int imaginary, imaginary2;
reg->callInterface<QtJniTypes::ImaginaryInterface, void>("doSomething", imaginary, imaginary2);
Or get the QJniObject directly and use it as you would any other QJniObject:
AndroidBackendRegister *reg = QtAndroid::backendRegister();
auto imaginary = reg->getInterface<QtJniTypes::ImaginaryInterface>();
// ... do whatever with QJniObject
In order to register a new interface on the Java side, the BackendRegister class must be used,
with its native functions registerBackend() and unregisterBackend():
BackendRegister.registerBackend(ImaginaryInterface.class, imaginaryInterfaceObject);
and
BackendRegister.unregisterBackend(ImaginaryInterface.class);
Note that only one object can be registered for each interface. If multiple objects are
registered, only the latest one is kept. Thus, you only need to declare the interface you want
to unregister, not the object that implements the interface as well.
If the interface needs to be available as soon as possible, it should be registered immediately
after Qt has started, by using the QtNative app state listener functionality.
|
5228 |
- |
| androidcontentfileengine.cpp |
|
31143 |
- |
| androidcontentfileengine.h |
!
DocumentFile Api.
Check https://developer.android.com/reference/androidx/documentfile/provider/DocumentFile
for more information.
|
3929 |
- |
| androidjniaccessibility.cpp |
env |
50047 |
- |
| androidjniaccessibility.h |
|
1192 |
- |
| androidjniinput.cpp |
|
37915 |
- |
| androidjniinput.h |
|
1238 |
- |
| androidjnimain.cpp |
|
35240 |
- |
| androidjnimain.h |
|
2964 |
- |
| androidjnimenu.cpp |
menu |
16759 |
- |
| androidjnimenu.h |
|
1145 |
- |
| androidwindowembedding.cpp |
|
3037 |
- |
| androidwindowembedding.h |
|
1419 |
- |
| CMakeLists.txt |
|
4842 |
- |
| extract-dummy.cpp |
|
382 |
- |
| extract.cpp |
|
3836 |
- |
| main.cpp |
|
918 |
- |
| qandroidapkfileengine.cpp |
|
7954 |
- |
| qandroidapkfileengine.h |
|
2844 |
- |
| qandroidassetsfileenginehandler.cpp |
|
12603 |
- |
| qandroidassetsfileenginehandler.h |
|
833 |
- |
| qandroideventdispatcher.cpp |
|
3359 |
- |
| qandroideventdispatcher.h |
|
1356 |
- |
| qandroidinputcontext.cpp |
env |
71313 |
- |
| qandroidinputcontext.h |
|
5581 |
- |
| qandroidplatformaccessibility.cpp |
|
3151 |
- |
| qandroidplatformaccessibility.h |
|
635 |
- |
| qandroidplatformclipboard.cpp |
|
3849 |
- |
| qandroidplatformclipboard.h |
|
1442 |
- |
| qandroidplatformdialoghelpers.cpp |
|
6673 |
- |
| qandroidplatformdialoghelpers.h |
|
1227 |
- |
| qandroidplatformdrag.cpp |
|
11985 |
- |
| qandroidplatformdrag.h |
|
2233 |
- |
| qandroidplatformfiledialoghelper.cpp |
|
9210 |
- |
| qandroidplatformfiledialoghelper.h |
|
2014 |
- |
| qandroidplatformfileiconengine.cpp |
|
4642 |
- |
| qandroidplatformfileiconengine.h |
|
1206 |
- |
| qandroidplatformfontdatabase.cpp |
|
3145 |
- |
| qandroidplatformfontdatabase.h |
|
884 |
- |
| qandroidplatformforeignwindow.cpp |
|
3113 |
- |
| qandroidplatformforeignwindow.h |
|
1043 |
- |
| qandroidplatformiconengine.cpp |
|
24428 |
- |
| qandroidplatformiconengine.h |
|
760 |
- |
| qandroidplatformintegration.cpp |
|
23799 |
- |
| qandroidplatformintegration.h |
|
5857 |
- |
| qandroidplatformmenu.cpp |
|
4192 |
- |
| qandroidplatformmenu.h |
|
1891 |
- |
| qandroidplatformmenubar.cpp |
|
2793 |
- |
| qandroidplatformmenubar.h |
|
1333 |
- |
| qandroidplatformmenuitem.cpp |
|
2744 |
- |
| qandroidplatformmenuitem.h |
|
1570 |
- |
| qandroidplatformoffscreensurface.cpp |
|
1171 |
- |
| qandroidplatformoffscreensurface.h |
|
1241 |
- |
| qandroidplatformopenglcontext.cpp |
|
2790 |
- |
| qandroidplatformopenglcontext.h |
|
1180 |
- |
| qandroidplatformopenglwindow.cpp |
|
2385 |
- |
| qandroidplatformopenglwindow.h |
|
1228 |
- |
| qandroidplatformscreen.cpp |
|
11118 |
- |
| qandroidplatformscreen.h |
|
2943 |
- |
| qandroidplatformservices.cpp |
|
6894 |
- |
| qandroidplatformservices.h |
|
1477 |
- |
| qandroidplatformtheme.cpp |
|
25415 |
- |
| qandroidplatformtheme.h |
|
2627 |
- |
| qandroidplatformvulkaninstance.cpp |
|
814 |
- |
| qandroidplatformvulkaninstance.h |
|
734 |
- |
| qandroidplatformvulkanwindow.cpp |
|
2793 |
- |
| qandroidplatformvulkanwindow.h |
|
1359 |
- |
| qandroidplatformwindow.cpp |
|
27553 |
- |
| qandroidplatformwindow.h |
|
5667 |
- |