Konvertieren Sie C.jstring in Go in einen nativen String

Lesezeit: 1 Minute

Benutzer-Avatar
jaradhope

Wie kann ich einen C.jstring in Go in einen verwendbaren String konvertieren?

ich benutze GehenAndroid.

In C können Sie so etwas wie in diesem Stackoverflow-Thread tun

JNIEXPORT void JNICALL Java_ClassName_MethodName(JNIEnv *env, jobject obj, jstring javaString)   
{
   const char *nativeString = (*env)->GetStringUTFChars(env, javaString, 0);

  // use your string

  (*env)->ReleaseStringUTFChars(env, javaString, nativeString);
}

in Go sieht es ungefähr so ​​aus

func Java_ClassName_MethodName(env *C.JNIEnv, clazz C.jclass, jstring javaString) {
    defer func() {
        if err := recover(); err != nil {
           log.Fatalf("panic: init: %v\n", err)
       }
   }()
   // ???
}

  • Sie können einen Java-String in einen AC-String umwandeln (vor dem Aufruf von go func) und dann einen AC-String in einen Go-String umwandeln, indem Sie C.GoString() verwenden.

    – chendesheng

    28. Juli 2014 um 13:17 Uhr


1228110cookie-checkKonvertieren Sie C.jstring in Go in einen nativen String

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy