2017-08-03 33 views
0

我有非常簡單的要求。Android NDK - 如何強調對象類

的Java:

HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 

我想實現NDK/C相同++。

jmethodID openConnMethod = env->GetMethodID(URLclass,"openConnection","()Ljava/net/URLConnection;"); 

jobject urlconn = env->CallObjectMethod(URLObject, openConnMethod); 

如何將此URLConnection對象轉換爲HttpURLConnection對象?

回答

3

你不需要。 Casting不會改變對象的實際類型,它只是讓你把它作爲一個不同的類來引用它(在你的例子中,url.open正在返回一個HttpUrlConnection。如果不是它會拋出一個ClassCastException。類型不會更改,只是通過更具體的類型引用它)。在ndk世界中,您將每個java對象稱爲jobject。所以沒有必要施放它們。