Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Before wrapper
- jclass someClass;
- jmethodID someMethod;
- void initJNIStuff()
- {
- JNIEnv* env = get the environment;
- someClass = env->NewGlobalRef(env->FindClass("some class name"));
- //takes string returns string
- someMethod = env->GetStaticMethodID(someClass, "some function name", "(Ljava/lang/String;)Ljava/lang/String;");
- }
- void callMyJavaMethod(const std::string& someString)
- {
- JNIEnv* env = get the env;
- jstring transformedString = env->NewStringUTF(someString.c_str());
- jstring resultString = (jstring)env->CallStaticObjectMethod(someClass, someMethod, transformedString);
- const char* cStr = env->GetStringUTFChars(resultString, 0);
- env->ReleaseStringUTFChars(resultString, cStr);
- }
- //After wrapper
- JFunction<JString(JString)> someFunction;
- void initJNIStuff()
- {
- someFunction.LinkStatic("some class name", "some function name");
- }
- void callMyJavaMethod(const std::string& someString)
- {
- std::string resultString = someFunction(someString);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement