Qt Quick Android용

Qt Quick Android용 개요

이 접근 방식의 기본은 앱이 비교적 일반적인 안드로이드 앱으로 유지될 수 있도록 임베디드 방식으로 Qt Qml API를 제공하는 것입니다. 이 접근 방식은 Qt 애플리케이션의 크로스 플랫폼 특성을 활용하는 대신 보다 표준적인 안드로이드 중심 접근 방식을 제공합니다. 기존 안드로이드 애플리케이션에 바람직한 Qt 기능을 추가하는 데 가장 적합합니다.

  • 안드로이드는 Qt 콘텐츠를 생성하고 제어합니다.
  • 개발에는 안드로이드 스튜디오용 Qt 도구 플러그인이 포함된 안드로이드 스튜디오가 사용됩니다.
  • Qt 콘텐츠의 경우 Qt Creator 또는 Qt Design Studio 이 사용됩니다.
  • 주요 언어는 Java와 Kotlin이며, 3D 콘텐츠와 같은 특정 부분에는 QML이 사용됩니다.
  • 원하는 모든 Android API를 사용할 수 있지만 Java 코드와 QML 간의 통신을 더 잘 제어하려면 JNI를 사용할 수 있습니다. QJniObjectQJniEnvironment 을 참조하세요.

안드로이드용 Qt와 다른 점

이 두 접근 방식의 가장 두드러진 차이점은 프로젝트 구조입니다. 안드로이드용 Qt 애플리케이션은 안드로이드 또는 다른 플랫폼용으로 빌드할 수 있는 CMake 프로젝트인 반면, Qt Quick 안드로이드용 프로젝트는 QML 콘텐츠를 포함하고 안드로이드용으로만 빌드할 수 있는 안드로이드 프로젝트입니다.

안드로이드용 Qt 접근 방식의 주요 목적은 앱의 아키텍처와 상용구 코드에 대한 대부분의 작업을 Qt가 처리하도록 하고 사용자는 콘텐츠에 집중할 수 있도록 하는 것입니다. 이 접근 방식은 완벽하고 안정적인 크로스 플랫폼 접근 방식을 제공합니다.

  • Qt는 안드로이드 앱을 생성하고 제어합니다.
  • Qt Creator, Qt Design Studio또는 Visual Studio를 사용할 수 있습니다.
  • 주요 언어는 C++와 QML입니다.
  • 안드로이드에 대한 세부 사항은 더 숨겨져 있으며, Qt는 이를 내부적으로 처리합니다.
  • 아직 Qt API로 제공되지 않는 안드로이드 API를 사용하려면 JNI를 사용해야 합니다. QJniObjectQJniEnvironment 을 참조하세요.

안드로이드용 Qt의 아키텍처에 대한 자세한 내용은 안드로이드용 Qt의 작동 방식을 참조하십시오.

Android용 Qt Quick 작동 방식

Qt Quick 는 프로젝트에 안드로이드 뷰로 QML 콘텐츠를 삽입할 수 있는 안드로이드 API를 제공합니다.

API

다음은 Android 앱에서 QML을 임베드하는 데 사용할 공용 Java 및 Kotlin API입니다.

Java 클래스

인터페이스

참고: QML 컴포넌트의 Java 코드 생성에 대한 자세한 내용은 QT_ANDROID_GENERATE_JAVA_QTQUICKVIEW_CONTENTS CMake 변수를 참조하세요.

API 예제

main() 의 변경은 안드로이드 API의 경우 Qt Quick 에서 필요합니다.

일반적인 Qt Quick 애플리케이션의 main.cpp는 다음과 같이 나타납니다:

#include <QGuiApplication>
#include <QQmlApplicationEngine>

int main(int argc, char *argv[])
{
    QGuiApplication app(argc, argv);

    QQmlApplicationEngine engine;
    QObject::connect(
        &engine,
        &QQmlApplicationEngine::objectCreationFailed,
        &app,
        []() { QCoreApplication::exit(-1); },
        Qt::QueuedConnection);
    engine.loadFromModule("MyQtQuickProject", "Main");

    return app.exec();
}

main() 에서는 QML 엔진을 만들거나 나중에 Qt Quick 보기 API에서 처리할 QML을 로드할 필요가 없습니다. main() 에 필요한 모든 것이 있습니다:

#include <QGuiApplication>

int main(int argc, char *argv[])
{
    QGuiApplication app(argc, argv);

    return app.exec();
}

Android 예제용 Qt Quick 실행

Qt Quick Android API 예제의 경우 Android 스튜디오 프로젝트

Qt Quick 안드로이드용 API 예제는 안드로이드 스튜디오 프로젝트로 제공됩니다. 프로젝트 폴더는 Qt 설치 위치에서 찾을 수 있습니다.

예를 들어 기본 Windows 설치 경로 아래에는 여기에 있습니다:

C:\Qt\Examples\Qt-<patch-release-number>\platforms\android\<example-name>

이 프로젝트는 이미 이 Qt 버전과 호환되는 Qt Gradle 플러그인 버전을 사용하도록 구성되어 있습니다.

툴링

Qt Gradle 플러그인과 안드로이드 스튜디오용 Qt 도구 플러그인은 손쉬운 개발을 위해 Qt에서 제공합니다. 그래들 플러그인은 빌드 툴체인의 일부로 IDE와 독립적으로 사용할 수 있습니다. 안드로이드 스튜디오용 Qt 도구는 이 플러그인을 사용하여 안드로이드 스튜디오에서 프로젝트를 빌드합니다.

다음 단계

다음 추가 항목은 Qt Quick Android용에 적용됩니다:

Android Fragments with Qt Quick for Android

Android 조각에서 Qt Quick 보기 사용에 대한 자습서

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.