我想将字符串作为参数传递给我的 jni。但是当我传递字符串时;接收到的字符串只是一个意义较少的字符。事实上,我无法将我想要的字符串从 java 传递给我的 C# 函数。
我该怎么办?
编辑 :
jin.java:
public static native void myFunc( String name);
jin.cs:
public static void java_framewindow_myFunc(int env,int object,string name)
{
messagebox.show(name);
}
我从java发送字符串“Hi”,但消息框中显示的字符串没有意义。
Edit2:这是我完整的 C# 代码:
using System;
using ObjectOrientedJNI;
using System.Windows.Forms;
namespace CSharpInJava {
public class NativeJavaMethods {
static void Java_FrameWindow_myFunc(int env, int obj, string name){
messagebox.show(name);
}
}
}
这是我完整的java代码:
import java.awt.Canvas;
import java.awt.event.ComponentEvent;
import java.awt.event.ComponentListener;
public class FrameWindow extends Canvas {
int ref = 0;
//Called by JVM to create Canvas' Peer
public void buttom_clicked() {
myFunc("hi");
}
native int myFunc(String name);
}
我错过了什么?