如题,用JNI能传arraylist吗?
如果java里写成arraylist,生成的.h文件里的相应参数变成jobject这个jobject能在VC里接到并且转化成VC里的arrayList吗?
如果知道非常谢谢您,送分+感谢
不知道就不用乱回答了。
如果java里写成arraylist,生成的.h文件里的相应参数变成jobject这个jobject能在VC里接到并且转化成VC里的arrayList吗?
如果知道非常谢谢您,送分+感谢
不知道就不用乱回答了。
楼主【xiaochongwei】截止到2008-07-22 20:49:24的历史汇总数据(不包括此帖):
发帖的总数量:5 发帖的总分数:150 每贴平均分数:30
回帖的总数量:3 得分贴总数量:0 回帖的得分率:0%
结贴的总数量:5 结贴的总分数:150
无满意结贴数:2 无满意结贴分:70
未结的帖子数:0 未结的总分数:0
结贴的百分比:100.00% 结分的百分比:100.00%
无满意结贴率:40.00 % 无满意结分率:46.67 %
敬礼!
但你可以通过在C++里访问JAVA数组的方式来实现。
//JAVA中的两变量定义
public String[] tagInfo = new String[50]; //标签内容
public int tagCount ; //标签数量//C++中的部分程序
JNIEXPORT jint JNICALL Java_rfid_Reader_multipleTagIdentify(JNIEnv *env, jobject obj, jobjectArray array,jint vHcom)
{
....
jclass clazz=env->GetObjectClass(obj);
jfieldID j_tagCount=env->GetFieldID(clazz,"tagCount","I");
env->SetIntField(obj,j_tagCount,Count);
//传回tagInfo
char sx[]="0123456789012345678901234567890123456789";
for(i=0;i<Count;i++)
{
printf("%s",diststr[i]);
strcpy(sx,diststr[i]); jstring js=(*env).NewStringUTF(s);
(*env).SetObjectArrayElement(array, i,js);
//(*env).ReleaseStringUTFChars(diststr[i], s);}
.....
}
但是,我觉得除非c这面有非常非常难实现的东西,或者写好的逻辑性非常强的东西。
否者用array在两面传来传去真不值得。我现在要出一个emf图片,用java不能用open source实现起来非常难
于是客户说,用vc做吧,妈了个日,整个曲线图的数据全用数组传过来。
只传一个string多好呢,只传一个文件的地址,c++这面再去读文件。谢谢楼上,给分