我想將數據從Android設備發送到PHP。我試過了,但是我錯了,我不知道。我該如何糾正?從Android發送數據
這是我所做的Android代碼。
public class php_connect extends Activity {
InputStream is;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main1);
JSONObject json = new JSONObject();
try {
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://10.0.2.2/food/food.php");
json.put("id",1);
json.put("name","john");
Log.i("jason Object", json.toString());
httppost.setHeader("json", json.toString());
StringEntity se = new StringEntity(json.toString());
se.setContentEncoding("UTF-8");
se.setContentType("application/json");
httppost.setEntity(se);
HttpResponse response = httpclient.execute(httppost);
int statusCode = response.getStatusLine().getStatusCode();
Toast.makeText(getApplicationContext(),String.valueOf(statusCode), Toast.LENGTH_SHORT).show();
is = se.getContent();
Log.e("log_tag", "connection success ");
Toast.makeText(getApplicationContext(), "Successfully Connected", Toast.LENGTH_SHORT).show();
}
catch(Exception e){
Log.e("log_tag", "Error in http connection "+e.toString());
Toast.makeText(getApplicationContext(), "Fail to Connect", Toast.LENGTH_SHORT).show();
}
}
}
我得到響應爲200併成功連接,但無法在PHP中看到數據。
我的PHP代碼:
<?php
$data = file_get_contents('php://input');
$json = json_decode($data,true);
var_dump($json);
$id=$json['id'];
echo $id;
?>
我總是空的結果。
var_dump($ data)'打印什麼? – 2011-06-02 07:38:26
它給出了NULL結果 – ramesh 2011-06-02 08:12:44
這可能意味着你沒有像PHP手冊中暗示的'特殊的php.ini指令'(請參閱我的答案)。我不確定這些特殊指令是什麼。我建議嘗試我建議的替代方法 – 2011-06-02 08:17:57