我已经创建了一个java应用程序,用于我的c#app和与facebook交谈。 这个助手课程允许我获取好友列表并在Facebook墙上发帖。
我最近尝试将我的一个java函数绑定到monodroid上时遇到了一些问题。
我正在使用的java函数如下:
public void PostPicture(Activity mainActivity, String opponent, byte[] bytes, String picdescription, RequestListener listener)
{
Bundle params = new Bundle();
params.putString("name", picdescription);
params.putByteArray("source", bytes);
if(opponent != null)
{
params.putString("tags", opponent);
}
_asyncFacebook.request("me/photos", params, "POST", listener, null);
}
我遇到的问题是尝试绑定byte []字节。
JNIEnv.GetMethodID(_class_ref,“PostPicture”,“(Landroid / app / Activity; Ljava / lang / String; [Ljava / lang / Byte; Ljava / lang / String; Lcom / Hitcents / PictureThis / BaseRequestListener;)V “);
其中_class_ref是包含“PostPicture”的java类的完全限定名。
[Ljava / lang / Byte不正确绑定到byte []?
答案 0 :(得分:1)
我能够回答我自己的问题。通过将字节数组作为Ljava / lang / Object传递,我就可以将其转换为java端的byte []。
答案 1 :(得分:1)
byte[]
不是[Ljava/lang/Byte;
,而是[B
。 [Ljava/lang/Byte;
将是java.lang.Byte[]
(java.lang.Byte
个实例数组)。