Qt Androidで独自のActivityを使用する

Use a customized Android activity for Qt
Android向けQt QuickではQtActivityというAndroid標準のActivityを介してUIが描画されています。つまり、このQtActivityを自前のActivityに差し替えることで、より柔軟な画面設計ができるようになります。

Qt Creatorの「プロジェクト→Build & Run」より「Androidテンプレートの作成」ボタンを押すと、gradleファイルをはじめとしたAndroid SDKによるビルド用ファイルがプロジェクトフォルダ以下に作成されます。この記事ではパッケージ名は「com.tnksoft.helloqt」となっていますので、実際のプログラミングではパッケージ名やプロジェクト名は適時置き換えてください。
作成されたファイルはプロジェクトの「Other files」にあるので、ここから「AndroidManifest.xml」ファイルを開きます。
Qt Creatorで編集する場合は、エディタ上部の「一般」から「XMLソース」に切り替え、XMLのテキストコードを表示させ、「activity」タグにある「android:name」の値を「com.tnksoft.helloqt.HelloActivity」のように、独自Activityのクラス名に書き換えます。
Activityクラスのコードを作成します。Android Studioでの編集と同様、「android/src/com/tnksoft/helloqt」フォルダーを作成し、[独自Activityクラス名].javaファイルを作成し、それをプロジェクトに加えます。
もし、今後多くのJavaファイルを作成するようであれば、Qtの「pro」ファイルにJavaソースファイルのあるフォルダーをあらかじめ指定しておけば、ファイルを新しく作るたびにいちいち登録していく必要がなくなります。

android{ ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android }

ActivityにはQtActivityを継承したクラスを使用します。あとはこのファイルに独自拡張するためのプログラムコードを記入していけば、カスタマイズされたウィンドウでアプリを実行できるようになります。
HelloActivity.java
package com.tnksoft.helloqt;

import android.util.Log;

public class HelloActivity extends org.qtproject.qt5.android.bindings.QtActivity
{
    public HelloActivity()
    {
        Log.d("QTJ", "HelloActivity has created.");
    }
}
2018/11/13