如何在Android中打印转换后的字符串

时间:2019-01-05 07:01:27

标签: android c++

我已将jstring转换为string。那么如何在日志文件中打印出来。 只要帮帮我,如果我以错误的方式悔改,那就纠正我。

我想插入cppRaffleIDString

这是我的代码:

    JNIEXPORT void JNICALL Java_com_lotto_indiawyn_activities_RaffleUnityActivity_UnityRaffleIDCallback(JNIEnv *env , jobject jobj , jint a , jint b , jint c , jint d , jint e , jint f , jstring availableNumber) {
    const jclass stringClass = env->GetObjectClass(availableNumber);
    const jmethodID getBytes = env->GetMethodID(stringClass, "getBytes", "(Ljava/lang/String;)[B");
    const jbyteArray stringJbytes = (jbyteArray) env->CallObjectMethod(availableNumber, getBytes, env->NewStringUTF("UTF-8"));


    size_t length = (size_t) env->GetArrayLength(stringJbytes);
    jbyte* pBytes = env->GetByteArrayElements(stringJbytes, NULL);

    std::string cppRaffleIDString = std::string((char *)pBytes, length);

    env->ReleaseByteArrayElements(stringJbytes, pBytes, JNI_ABORT);

    env->DeleteLocalRef(stringJbytes);
    env->DeleteLocalRef(stringClass);

    if(UnityRaffleIDCallback != NULL) UnityRaffleIDCallback(a,b,c,d,e,f,cppRaffleIDString) ;
}

谢谢。

0 个答案:

没有答案