Unity中的AndroidJavaObject和AndroidJavaClass有什么区别

时间:2019-02-19 06:39:56

标签: java android unity3d scripting native

我为自己的Android游戏制作了一个插件,并且由于在我的统一脚本中调用此插件,因此我不知道使用AndroidJavaObjectAndroidJavaClass

因为在我看到的一些教程中,他们做了这样的事情:

AndroidJavaObject test = new AndroidJavaObject("com.aaa.bbb.ccc");
test.Call<string>("tester");

和其他教程中:

AndroidJavaClass test = new AndroidJavaClass("com.aaa.bbb.ccc");
myClass.Call("testMethod", new object[] { "testString" } );

和其他一些人:

AndroidJavaClass test = new AndroidJavaClass("com.aaa.bbb.ccc");
AndroidJavaObject unityActivity = test.GetStatic("currentActivity");

我只想知道这种方式之间的区别是什么? 而哪个更好?

1 个答案:

答案 0 :(得分:0)

AndroidJavaObject,用于创建该类的实例并在其上调用实例方法。

AndroidJavaClass用于调用静态类方法或访问静态字段。

根据Java API,您必须使用AndroidJavaObject或AndroidJavaClass。