Saturday, 15 May 2010

How to replace the values of string array from java in c using jni? -



How to replace the values of string array from java in c using jni? -

this jni function in have replace values within array passed java.

please tell me how it.

jniexport void jnicall java_com_example_finals_strpass_intake (jnienv *env, jobject obj, jobjectarray dev){ jfieldid mynamesid; /* store field id */ int i=0; jstring mystr; char* mystr2; char* mynames[] = {"hello "}; logi("before class phone call "); // reference obj’s class jclass cls = (*env)->getobjectclass(env,obj); logi("before id phone call "); mynamesid = (*env)->getstaticfieldid(env,cls, "mydevnames", "[ljava/lang/string;"); // object field logi("before dev phone call "); dev =(*env)->getstaticobjectfield(env,cls,mynamesid); logi("before loop phone call "); (i=0; i<1; i++) { logi("before mystr "); mystr = (*env)->newstringutf(env,"gk"); (*env)->setobjectarrayelement(env,dev,i,mystr); } (*env)->releasechararrayelements(env, dev, mystr, 0); logi("after release"); }

jniexport void jnicall java_com_example_contchar23914_chararrclass_intake (jnienv *env, jobject job, jobjectarray ptr) {

jclass cls = (*env)->getobjectclass(env,job);

mynamesid = (*env)->getstaticfieldid(env,cls, "arr", "[ljava/lang/string;");

ptr =(*env)->getstaticobjectfield(env,cls,mynamesid); (i=0; < len; i++) { stringg = (*env)->getobjectarrayelement(env, ptr,i); mystr = (*env)->newstringutf(env,mynames[i]); (*env)->setobjectarrayelement(env,ptr,i,mystr); } (*env)->releasechararrayelements(env, ptr, stringg, 0);

}

java c jni arrays

No comments:

Post a Comment