私は、Java プログラムから C++ オブジェクト メソッドを呼び出すために JNI がどのように機能するかを学んでいます。Android NDK/SDK を使用してアプリを作成しています。私は JNI の初心者で、ポリモーフィズムがサポートされているかどうかを知りたいです。つまり、単純な C++ クラスがあるとします。
class HeyBoy
{
public:
virtual int getValue()
{
return 10;
}
};
class HeyBoyDerived1 : public HeyBoy
{
public:
int getValue()
{
return 20;
}
}
class HeyBoyDerived2 : public HeyBoy
{
public:
int getValue()
{
return 30;
}
}
実行時に、アプリ インターフェイスのボタンを押すだけで、使用する実装 (1 または 2) をユーザーに選択してもらいます。適切な C++ オブジェクトを作成する必要があります。次に、「Get Value」というラベルの付いたボタンを配置します。ボタンが押されるgetValue()
と、現在選択されている実装のメソッドが呼び出されます。その後、結果が電話スクリーンに印刷されます。いくつかのコード例を見たいです! ありがとうございました。