2014-09-24 46 views
0

我正在開發一個android應用程序,其中我有一個使用食人魔編寫的使用C++編寫的大部分應用程序功能的3D部件。一些功能(如用於搜索的UI等)使用普通的Android UI來實現。到目前爲止,我使用JNI在這兩者之間進行通信,並直接從java啓動渲染線程並從那裏管理它。但是這會導致一些非常混亂的代碼。Android和NativeActivity之間的通信

現在我偶然發現了NativeActivity和它自己的線程,並且非常喜歡它。但是 - 我仍然需要從java中啓動渲染引擎中的某些過程,反之亦然。爲此,我希望能夠將事件發送到在NativeActivity線程中像傳感器事件一樣處理的本機代碼。要從C++啓動Java過程,我可以簡單地執行JNI調用並將它們發佈到UI線程(如果任何人有更好的主意,我都可以打開它進行提示)。

所以主要問題是:有沒有一種方法可以(在Java中)通過NativeActivity一些類似事件的對象,然後使用C代碼在NativeActivity內的主本機循環中處理這些對象?

在此先感謝!

回答

0

您可以在jni方法中傳遞jObject並將其處理爲c/C++代碼。

+0

我知道這一點。我想知道是否有一個由android提供的mecahnism,我不需要手動做很多事情,也沒有必要區分傳感器事件和自定義事件之間的很多(代碼方面)形式我的android UI。 – 2014-09-24 16:28:41

+0

如果可用的java api比你可以直接使用其他明智的你必須使用jni的自定義事件 – DreamCoder 2014-09-24 16:31:15

+0

那麼這是我的問題 - 是否有一些API或第三方庫可用於任務。 – 2014-09-25 08:48:45