私は、Android上のアプリケーションからphpファイル(ローカルでホストされている)にJSONオブジェクトを送信するのに少し苦労しています。Wiresharkは私のアプリケーション(Eclipse / ADKでのエミュレーション)からのアクティビティを記録していないため、phpビットは私の問題とは無関係であり、ほぼ確実に私の送信方法と関係があります。
try {
JSONObject json = new JSONObject();
json.put("id", "5");
json.put("time", "3:00");
json.put("date", "03.04.12");
HttpParams httpParams = new BasicHttpParams();
HttpClient client = new DefaultHttpClient(httpParams);
//
//String url = "http://10.0.2.2:8080/sample1/webservice2.php?" +
// "json={\"UserName\":1,\"FullName\":2}";
String url = "http://localhost/datarecieve.php";
HttpPost request = new HttpPost(url);
request.setEntity(new ByteArrayEntity(json.toString().getBytes(
"UTF8")));
request.setHeader("json", json.toString());
HttpResponse response = client.execute(request);
HttpEntity entity = response.getEntity();
// If the response does not enclose an entity, there is no need
if (entity != null) {
InputStream instream = entity.getContent();
}
} catch (Throwable t) {
Toast.makeText(this, "Request failed: " + t.toString(),
Toast.LENGTH_LONG).show();
}
私が見つけた例からこれを変更したので、私はいくつかの完全に良いコードを取り、それを壊したと確信しています。私はマルチスレッドの要件を理解しているので、アプリケーションがハングして死ぬことはありませんが、その実装については確信がありません。Asynctaskを使用するとこの問題が修正されますか、それとも他の重要なことを見逃しましたか?
あなたが提供できるどんな助けにも感謝します。