2010-03-18 96 views
0

我正在嘗試使用(*env)->RegisterNatives將方法添加到已定義的類中,然後將其添加到回調列表中。 回調發件人當然期望我的班級實現一個我不知道的特定界面。並沒有執行。在JNI中使用接口

如果我在Java的類中添加關鍵字「implements Listener」,javac希望在Java中使用方法定義或使用本機關鍵字,但我試圖在此避免,因爲我想在之後,JNI_OnLoad並執行其中一個。

現在的問題是:我可以在JNI中實現接口還是避免Java中的錯誤消息?

回答

2

RegisterNatives不添加新的本地方法,它爲類中現有的本地方法註冊本機函數。如果某人不爲本機方法調用RegisterNatives,則JVM將在第一次調用方法時搜索所有DLL庫的實現。

所以,加implements Listener,寫的定義與native關鍵字並與RegisterNatives註冊實施。

+0

謝謝。如果你沒有指出我對RegisterNatives的誤解,那至少會讓我再花一週時間。 – lhw 2010-03-18 13:57:42