C++コードビハインドによるプログラミングアクティビティ

チュートリアル: C++コードビハインドでアクティビティをプログラムする を完了することで、C++コードビハインドワークフローを使用してアクティビティをプログラムする方法を学びます。

../../_images/code-behind-drag-widgets.gif

C++ Code Behindでアクティビティをプログラムする前に、Kanzi 開発環境が設定されていることを確認してください。Kanzi Engine APIを使用してアプリケーションロジックを開発するには、次のものが必要です。

  • CMake 3.25 以降

  • 最新の更新プログラムが適用された Visual Studio 2022

C++ Code Behind で Activities をプログラムするには:

  1. Activity Browser で、プログラムしたい Activity または Activity Host を作成します。

    例えば、複数の Activities を持つルート Exclusive Activity Host を作成します。

    ../../_images/activity-browser-create-root-eah.png ../../_images/eah-media-navigation-phone-activity-browser.png
  2. Activity Browser で、Activity または Activity Host を右クリックし、Add Code Behind を選択します。アプリケーションが Kanzi Android framework (droidfw) テンプレートに基づいている場合は、Add Code Behind > C++ を選択します。

    ../../_images/activity-browser-add-code-behind.png ../../_images/activity-browser-add-cpp-code-behind.png

    C++ Code Behind を Activity ノードに追加すると、Kanzi Studio:

    1. <KanziWorkspace>/Templates/Code_behind_template から C++ Code Behind テンプレートをコピーします。

    2. <ProjectName>/Tool_project/CodeBehind ディレクトリで、Activity のための Visual Studio ソリューションとプロジェクトを作成し、そこに C++ Code Behind を追加します。

    3. プロジェクトを、プロジェクトプロパティで設定した Preview ビルド構成およびVisual Studioバージョン用にコンパイルします。

      ../../_images/project-properties1.png
    4. Kanzi Studio プロジェクトに、C++ Code Behind Visual Studio プロジェクトで定義された機能を含む DLL ファイルを Kanzi Engine プラグインとしてインポートします。

      ../../_images/library-cpp-code-behind-plugin.png
    5. Preview を再起動します。

      Preview が開始されると、Activity Browser で C++ Code Behind を含むアクティビティは コードビハインド アイコンを含み、サイドパネルには C++ Code Behind で定義されたコマンドが表示されます。

  3. Activity Browser で、C++ Code Behind を追加した Activity を右クリックし、Open Code Behind を選択します。アプリケーションが Kanzi Android framework (droidfw) テンプレートに基づいている場合は、Open Code Behind > C++ を選択します。

    Kanzi Studio は、C++ Code Behind を含む Visual Studio ソリューションを Visual Studio で開きます。

    C++ Code Behind 機能用の Visual Studio ソリューションは、ディレクトリ <ProjectName>/CodeBehind/build_vs2022 に保存されています。

    ../../_images/open-code-behind-solution.png ../../_images/open-cpp-code-behind-solution.png
  4. Visual Studioで <ActivityNodeName>_activity_code.cpp ファイルに、NodeComponent::attachOverride 関数内でその Activity ノードの初期化機能を追加し、ファイルを保存します。NodeComponent::attachOverride 関数では、メッセージハンドラのインストール、プロパティリスナーの設定、ノードの作成、アクティビティの外観と機能の設定などができます。

    この方法で、Activity ノードにユニークな機能を提供し、コードを通じてステータスの変化に反応できるようにします。

  5. プロジェクトでC++ Code Behind を使用してください。

    1. アクティビティに追加したC++ Code Behind 用に使用するプレハブの Prefabs で、Button、List Box を作成するか、List Box Item Container プレハブを作成します。

      たとえば、Button 2D ノードを作成します。

      ../../_images/code-behind-prefabs-button.png
    2. Properties に Command プロパティを追加し、<ActivityNodeName>_activity_code.cpp ファイルで作成したコマンドに設定します。

      Activity を以前作成した Button 2D ノードでアクティブにし、Preview でそのボタンをクリックすると、Log ウィンドウに MyFirstCommand のデフォルトメッセージが表示されます。

      ../../_images/code-behind-properties-command.png ../../_images/code-behind-log.png

APIでC++ Code Behind を使用する

詳細については、CodeBehind クラスを参照してください。

関連項目

チュートリアル: アプリケーションUIの構造

チュートリアル: C++コードビハインドでアクティビティをプログラムする