我已经创建了一个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 []的正确绑定吗?
2 回答
我能够回答我自己的问题 . 通过将字节数组作为Ljava / lang / Object传递,我就可以将其转换为java端的byte [] .
byte[]
不是[Ljava/lang/Byte;
,它是[B .[Ljava/lang/Byte;
将是java.lang.Byte[]
(java.lang.Byte
实例的数组) .