summaryrefslogtreecommitdiff
path: root/doc/src/platforms/android/android-how-it-works.qdoc
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src/platforms/android/android-how-it-works.qdoc')
-rw-r--r--doc/src/platforms/android/android-how-it-works.qdoc56
1 files changed, 56 insertions, 0 deletions
diff --git a/doc/src/platforms/android/android-how-it-works.qdoc b/doc/src/platforms/android/android-how-it-works.qdoc
new file mode 100644
index 00000000..0ec8db1c
--- /dev/null
+++ b/doc/src/platforms/android/android-how-it-works.qdoc
@@ -0,0 +1,56 @@
+// Copyright (C) 2022 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
+
+/*!
+\page android-how-it-works.html
+\title Qt for Android: How It Works
+\brief An overview of architecture, toolchain, and other useful information.
+\ingroup androidplatform
+
+
+If you're a developer looking for a high level overview of how Qt supports the
+Android platform, this page is for you.
+
+The video from the 2021 Qt World Summit gives an overview of Qt for Android.
+
+\youtube nmvurCcsWos "A picture of an agenda that links to a YouTube video"
+
+\section1 Architecture
+
+\section2 Activities
+The implementation of Qt for Android is made up of three main parts,
+and the glue in between:
+
+\list
+ \li Qt Core
+ \li the Android QPA plugin
+ \li The Java Android code
+\endlist
+
+\image qt_android_architecture.png "An overview Qt for Android's Architecture"
+
+\list
+ \li The default entry point for a Qt app is the QtActivity, which upon
+ starting, will call the QtActivityLoader which will try to load the
+ application by calling the QtActivityDelegate.
+ \li QtActivityDelegate will make the necessary calls to load the Qt
+ libraries and the main app library with the help of QtNative.
+ \li QtNative handles the various Java operations that don’t need to be
+ exposed, such as: loading the libraries and handling files.
+ \li The QtActivityDelegate also handles the different listeners and input
+ handlers and propagate them from Java to Qt.
+\endlist
+
+\section2 Services
+
+The architecture here is similar to that of Activities, but with services
+specific classes.
+
+For information on how Qt supports Services in Android see \l{Android Services}.
+
+\section1 Build configuration
+
+For more information on configuration Qt for Android Builds see
+\l{Environment Variables Used by Qt for Android} and \{Qt for Android: CMake}.
+
+*/