0
私のアンドロイドアプリから自分のPHPコードにデータを送信してそこに取得しようとしていますが、私のウェブサイトに値を印刷すると、私はアンドロイドのために試してみました例のいくつかは以下のとおりです。アンドロイドからphpにデータを送信して取得しています
OutputStream os = null;
InputStream is = null;
HttpURLConnection conn = null;
try {
//constants
URL url = new URL(tempURL);
JSONObject jsonObject = new JSONObject();
jsonObject.put("message", "message");
jsonObject.put("password", "password");
String message = jsonObject.toString();
Toast.makeText(this, "message = " + message, Toast.LENGTH_SHORT).show();
conn = (HttpURLConnection) url.openConnection();
conn.setReadTimeout(10000 /*milliseconds*/);
conn.setConnectTimeout(15000 /* milliseconds*/);
conn.setRequestMethod("POST");
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setFixedLengthStreamingMode(message.getBytes().length);
//make some HTTP header nicety
conn.setRequestProperty("Content-Type", "application/json;charset=utf-8");
conn.setRequestProperty("X-Requested-With", "XMLHttpRequest");
//open
conn.connect();
//setup send
os = new BufferedOutputStream(conn.getOutputStream());
os.write(message.getBytes());
//clean up
os.flush();
//do something with response
is = conn.getInputStream();
//String contentAsString = readIt(is,len);
} catch (IOException | JSONException e) {
e.printStackTrace();
} finally {
//clean up
try {
os.close();
is.close();
} catch (IOException e) {
e.printStackTrace();
}
conn.disconnect();
}
もう一つは次のとおりです。
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://samplewebsite.com/welcome.php");
try {
List<NameValuePair> nameValuePairs = new ArrayList<>(2);
nameValuePairs.add(new BasicNameValuePair("state", "state"));
nameValuePairs.add(new BasicNameValuePair("tag", "tag"));
Toast.makeText(this, "nameValuePairs = " + nameValuePairs, Toast.LENGTH_LONG).show();
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
httpclient.execute(httppost);
// msgTextField.setText(""); // clear text box
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
} catch (IOException e) {
// TODO Auto-generated catch block
}
私はPHPで試してみましたが、コードのいくつかは、次のとおりです。
print_r("tag = " + $_POST['tag']);
と
$json = file_get_contents('php://input');
$obj = json_decode($json);
$tag = $obj->{'tag'};
$state = $obj->{'state'};
私に助けてください、これらの試験のいずれもプレーは私のために働いた。どんな解決策が役に立つでしょう。ありがとう!
どこのPHPコードをホストしていますか?何かエラーが出ていますか?私はあなたが別のスレッドを使用しているかどうかは分かりませんが、バックグラウンドスレッドに置かないと、アプリはクラッシュするはずです。 – Rafa
'welcome.php'の投稿をどのように扱うかを教えてください –
RESTコンソールを使ってAndroid以外でこれを最初にテストし、サーバ側で動作していることを知っておく必要があります。その後、クライアントをデバッグできます。 –