私は Android アプリで AndEngine というゲーム エンジン (まったくの初心者です) を使用しています。画面上のジョイスティックの位置に基づいて、アプリケーションから別の URL をロードする必要があります (.cgi サーバーへのアップロード)。ジレンマは、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();
}
}
}
}
**以前に (AndEngine なしで) HTTPConnection クラスを使用して URL を開くことを試みましたが、役に立ちませんでした。ですから、ここで何か間違ったことをしていたのかもしれません。AndEngine GLES2 を使用。さらに情報が必要な場合は、お知らせください (これが SO に関する最初の質問です)。
また、AndEngine を使用して .xml レイアウトを設定しようとしました
@Override
protected int getLayoutID() {
return R.layout.main;
}
しかし、次のように書かれています:「タイプControlのメソッドgetLayoutID()は、スーパータイプメソッドをオーバーライドまたは実装する必要があります」
Nicolas Gramlich に応じて編集: インターネット アクセス許可が設定され、コンパイラは元々 1.6 でした。何が問題なのかはまだわかりません。