簡體   English   中英

在android ndk中向C發送一個值並獲得示例(if)響應

[英]Send a value to C in android ndk and get sample (if) response

我在我的 android Activity 中編寫此代碼以向 android ndk 中的 C 發送請求:

Toast.makeText(getApplicationContext(),Calculate("1")+"",Toast.LENGTH_SHORT).show();

public native String Calculate(String j_key_name);

在 C 文件的 ndk 端,我編寫了以下代碼:

JNIEXPORT jstring JNICALL
Java_org_sample_aguar_NActivity_Calculate(JNIEnv *env, jobject thiz, jstring j_key_name) {

    if (j_key_name == "1") {
        return (*env)->NewStringUTF(env, " its 1 ");
    } else{
        return (*env)->NewStringUTF(env, " it's not 1 ");
    }
}

我沒有任何錯誤但這總是運行其他部分,當我發送“1”作為響應時,我得到(它不是 1 )。

我用 c 編寫了簡單的 if-else 程序。 我在其中使用 String.h 庫並正常工作。

#include<string.h>
char j_key_name[] ="1";

int check = strcmp(j_key_name, "1");
if (check == 0) {
    printf("if");
} else{
    printf("else");
}

讓我們試試上面的代碼。 希望能解決你的問題。 提前致謝。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM