Android用Qt Quick
Qt Quick for Android の概要
このアプローチの基本は、アプリが比較的典型的な Android アプリのままであるように、Qt QML API を組み込み方式で提供することです。このアプローチでは、Qt アプリケーションのクロスプラットフォーム性を活用する代償として、より標準的な Android を中心としたアプローチを提供します。既存のAndroidアプリケーションにQtの機能を追加する場合に最適です。
- Android が Qt のコンテンツを作成し、制御します。
- 開発には Android Studio とQt Tools for Android Studioプラグインを使用します。
- Qt コンテンツには、Qt Creator または Qt Design Studio を使用します。
- 主な言語はJavaとKotlinで、3Dコンテンツなど特定の部分にはQMLを使用します。
- AndroidのAPIは自由に使うことができますが、JavaコードとQML間の通信をよりコントロールしたい場合は、JNIを使うことができます。QJniObject とQJniEnvironment を参照してください。
Qt for Androidとの違い
これらのアプローチの最も顕著な違いは、プロジェクトの構造です。Qt Quick for Android プロジェクトは QML コンテンツを含む Android プロジェクトで、Android 用にのみビルドすることができます。
Qt for Android アプローチの主な目的は、アプリのアーキテクチャとボイラープレート・コードの大部分を Qt に処理させ、コンテンツに集中させることです。完全で信頼性の高いクロスプラットフォームアプローチを提供します。
- Qt は Android アプリの作成と制御を行います。
- Qt Creator、Qt Design Studio、または Visual Studio を使用できます。
- 主な言語はC++とQMLです。
- Android の仕様については、Qt が内部的に処理します。
- Qt APIとしてまだ提供されていないAndroid APIを使用するには、JNIを使用する必要があります。QJniObject とQJniEnvironment を参照してください。
Qt for Android のアーキテクチャの詳細については、How Qt for Android Worksを参照してください。
Qt Quick for Android の仕組み
Qt Quick for Android はAndroid API を提供し、QML コンテンツをAndroid Viewとしてプロジェクトに挿入することができます。
API
これらは、AndroidアプリにQMLを埋め込むために使用する、JavaとKotlinの公開APIです。
- Qt Quick View Android クラス
- QtAbstractItemModel Androidクラス
- QtAbstractListModel Androidクラス
- インターフェース QtQmlStatusChangeListener(QtQmlStatus 列挙型を使用)
- QtModelIndex Androidクラス
これらのクラスを使用するには、build.gradle
ファイルに以下を含める必要があります:
packagingOptions.jniLibs.useLegacyPackaging true
注: QMLコンポーネントのJavaコード生成に関する詳細は、QT_ANDROID_GENERATE_JAVA_QTQUICKVIEW_CONTENTSCMake変数を参照してください。
APIの例
- Qt Quick for Android Studio プロジェクト
- QtAbstractListModelをQMLに公開する
- Android Studio プロジェクトで QtAbstractItemModel を使う
ツーリング
Qt Tools for Android StudioプラグインとQt Gradle Pluginは、開発を容易にするために Qt から提供されています。Gradle Plugin はビルドツールチェインの一部として IDE から独立して使用することができます。Qt Tools for Android Studioは、Android Studioでプロジェクトをビルドするためにプラグインを使用します。
©2024 The Qt Company Ltd. 本書に含まれるドキュメントの著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。