jni から Java クラスに文字列を設定するのに問題があります。jni を (c で) 書きました。jni から Java に文字列を設定したいです。
jclass cls;
jmethodID mid;
/* cls = (*env)->GetObjectClass(env, obj); */
cls = (*env)->FindClass (env,"com/example/lsextractor/LSCore");
jobject objRet = (*env)->AllocObject(env,cls);
jstring estr = (jstring)(*env)->NewStringUTF(env,(char*)"Hello");
mid = (*env)->GetMethodID(env, cls, "setTemplate","(Ljava/lang/String;)V");
(*env)->CallObjectMethod(env,objRet,mid,estr);
return (jint)1;
しかし、このメソッドは機能していません。クラスから文字列を取得できませんが、Java クラスから他のすべてのメソッドにアクセスできます。jni から Java に文字列を設定できません。これを行う方法はありますか。これは私のクラスです。
public byte[] getimage()
{
return this.Image;
}
public void setimage(byte[] rawImg)
{
this.Image=rawImg;
}
public String getTemplate()
{
return this.Template;
}
public void setTemplate(String Tmp)
{
this.Template = Tmp;
}
static
{
System.loadLibrary("test");
}