我在我的 Android 应用程序中使用了一个名为 AndEngine 的游戏引擎(我对它完全陌生)。我需要根据屏幕操纵杆的位置(上传到 .cgi 服务器)从应用程序加载不同的 URL。困境是我无法打开 URL 连接!这可能看起来很简单,但我到处寻找,尝试了多种解决方案,但没有任何效果。在基本的 Android 中,我一直使用 WebView(loadUrl() 方法),并且效果很好。但是,我不知道如何在使用 AndEngine 的同时创建 webview。我的偏好是没有显示连接(在 AndEngine 场景下加载?),因为我需要屏幕来处理其他事情。我也尝试过其他解决方案。我刚刚尝试了这段代码,但是当我检查服务器时,什么都没有打开:
@Override
public void onLoadResources() {
//methods n/a to this question
try {
URL url = new URL(setUrl);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
readStream(con.getInputStream());
} catch (Exception e) {
e.printStackTrace();
}
return scene; // AndEngine return statement
}
private void readStream(InputStream in) {
BufferedReader reader = null;
try {
reader = new BufferedReader(new InputStreamReader(in));
String line = "";
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
**我之前尝试过使用 HTTPConnection 类(没有 AndEngine)打开一个 URL,但无济于事。所以可能是我在这里做错了什么。使用 AndEngine GLES2。如果需要更多信息,请告诉我(这是我关于 SO 的第一个问题)。
还尝试使用在 AndEngine 上设置我的 .xml 布局
@Override
protected int getLayoutID() {
return R.layout.main;
}
但它说:“Control 类型的方法 getLayoutID() 必须覆盖或实现超类型方法”
编辑以回应 Nicolas Gramlich: Internet 权限已设置,编译器最初为 1.6。还是不知道是什么问题。