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を使うことができます。QJniObjectQJniEnvironment を参照してください。

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を使用する必要があります。QJniObjectQJniEnvironment を参照してください。

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です。

これらのクラスを使用するには、build.gradle ファイルに以下を含める必要があります:

packagingOptions.jniLibs.useLegacyPackaging true

注: QMLコンポーネントのJavaコード生成に関する詳細は、QT_ANDROID_GENERATE_JAVA_QTQUICKVIEW_CONTENTSCMake変数を参照してください。

APIの例

ツーリング

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.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。