2017-08-03 57 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。所以没有必要施放它们。