2013-08-18 74 views
1

我正在使用JNI的一些示例代碼。JNI獲取上下文

我有一個Java類,

public String getArtists(Context context) 
... 

然而,C++接口來此,編碼爲下面簡單地返回一個空指針

s_getArtistsGetArtistsMethodID = env->GetMethodID(s_getArtistsClassID, "getArtists", "(Landroid/content/Context;)V"); 

缺少什麼我在這裏?下面的代碼按預期工作,所以我認爲這是與上下文參數有關。

s_getArtistsConstructorMethodID = env->GetMethodID(s_getArtistsClassID, "<init>", "()V"); 

非常感謝您的幫助!

+0

什麼是「」「'參數? –

回答

6

返回值錯誤。 V是無效的,你返回一個字符串。試試:

env->GetMethodID(s_getArtistsClassID, "getArtists", "(Landroid/content/Context;)Ljava/lang/String;" 
+0

我們走了。不知道這些字符串是什麼意思。想想我現在明白了。 :P – Jacob

+0

是的,這讓我等着去做。 – Jacob

+0

你在哪裏得到'Context'在這裏? –