0
我在學習JNI是如何工作的,用於從Java程序調用C++對象方法的過程。我正在使用Android NDK/SDK編寫應用程序。 我是JNI的初學者,我想知道是否支持多態。也就是說,假設我有一個簡單的C++類:JNI的Java和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()
方法。之後,結果將打印在手機屏幕上。 我真的很想看到一些代碼示例! 謝謝。
首先閱讀JNI。一旦你瞭解了關於函數命名約定的部分,你就不會再有這個問題了。 –
我們可以使用[JavaCPP](http://code.google.com/p/javacpp/)輕鬆實現,它本身使用JNI。 –
哈哈,爲什麼這個下降? – user576796