POSTコマンドを使用してWebサービスからデータを取得しようとしています。しかし、私はこの奇妙なことに固執している:私のコードは特定の時点の後に実行されないと私は本当に理由を知らない。私はそれをチェックするためにブレークポイントとLog.d()を使用しました。このラインgetOutputStreamの後にコードが実行されない - Android
OutputStream out = urlConnection.getOutputStream();
何も後
private void getResponse(String code)
{
String strurl = "http://example.com/api/something.json";
String Token = app.Settings.UserToken;
String myid= app.ID.toString();
try {
URL url = new URL(strurl);
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setDoOutput(true);
urlConnection.setConnectTimeout(5000);
urlConnection.setRequestMethod("POST");
urlConnection.setRequestProperty("Content-Type", "text/plain");
OutputStream out = urlConnection.getOutputStream();
String outstr = "{\"response\": {";
outstr += "\"token\":\"" + Token + "\",";
outstr += "\"myid\":\"" + myid+ "\",";
outstr += "\"code\":\"" + code + "\",";
outstr += "}}";
out.write(outstr.getBytes());
int respCode = urlConnection.getResponseCode();
if (respCode == 200) {
Gson gson = new GsonBuilder()
.registerTypeAdapter(Boolean.class, new BooleanTypeAdapter())
.create();
InputStream in = urlConnection.getInputStream();
JsonReader reader = new JsonReader(new InputStreamReader(in, "UTF-8"));
reader.beginObject();
while (reader.hasNext()) {
String token = reader.nextName();
if (token.equals("name")) {
}
}
reader.endObject();
reader.close();
} else {
return;
}
urlConnection.disconnect();
return;
} catch (Exception e) {
e.printStackTrace();
return;
} finally {
}
}
が実行されます。どんな考え?