|
|
|
Android - ขอความช่วยเหลือการส่งข้อมูล JSON จาก Android ไปแสดงผลบน PHP |
|
|
|
|
|
|
|
ผมจะต้องการส่งข้อมูลจาก Android ซึ่งเป็น JSON ไปยัง PHP : เมื่อส่งแล้ว PHP ไม่สามารถแสดงผล JSON ที่ส่งไปได้คับอยากให้ช่วยดูว่าผิดที่ ANDROID หรือ PHP ครับและตรงจุดไหน
Code (Android-Java)
public void putGenData(BioharnessGendata genData){
jsonData.put("pkt_num",genData.getSeqNo());
jsonData.put("uid",String.valueOf(uid));
jsonData.put("hr",genData.getHR());
jsonData.put("br",genData.getBR());
jsonData.put("tmp",genData.getTemp());
jsonData.put("pos",genData.getPosture());
}
public void sendData(){
String temp = new String();
url="http://172.22.8.16/zephyr.php";
response = doPost(url,jsonData);
temp = EntityUtils.toString(response.getEntity());
}
public static HttpResponse doPost(String url,JSONObject j) throws ClientProtocolException, IOException {
HttpParams httpParameters = new BasicHttpParams();
int timeoutConnection = 3000;
HttpConnectionParams.setConnectionTimeout(httpParameters, timeoutConnection);
int timeoutSocket = 5000;
HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket);
httpclient = new DefaultHttpClient(httpParameters);
request = new HttpPost(url);
StringEntity s = new StringEntity(j.toString());
s.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
entity = s;
request.setEntity(entity);
response = httpclient.execute(request);
return response;
}
}
Code (PHP)
$json = $_POST['jsonData'];
$data = json_decode($json, TRUE);
echo $json;
Tag : Mobile, Android, Tablets, JAVA, Mobile
|
|
|
|
|
|
Date :
2014-02-19 19:54:22 |
By :
A |
View :
1247 |
Reply :
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าเป็นผม ผมจะ POST data ไปทีละตัว จะได้ไม่ต้องไป decode json ฝั่ง php ดังนี้
Code (Android-Java)
public void sendData(){
String url = "http://172.22.8.16/zephyr.php";
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("dataname", datavalue));
getHttpPost(url,params);
}
public String getHttpPost(String url,List<NameValuePair> params) {
StringBuilder str = new StringBuilder();
HttpClient client = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
try {
httpPost.setEntity(new UrlEncodedFormEntity(params,HTTP.UTF_8));
HttpResponse response = client.execute(httpPost);
StatusLine statusLine = response.getStatusLine();
int statusCode = statusLine.getStatusCode();
if (statusCode == 200) { // Status OK
HttpEntity entity = response.getEntity();
InputStream content = entity.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(content));
String line;
while ((line = reader.readLine()) != null) {
str.append(line);
}
} else {
Log.e("Log", "Failed to download result..");
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return str.toString();
}
Code (PHP)
echo $_POST["dataname"];
|
|
|
|
|
Date :
2014-02-19 20:36:09 |
By :
blacklion |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณมากครับผมท่าน blacklion ผมลืมบอกเพิ่มเติมไปคับพอดีมันมีข้อมูลที่ใช้ส่งตัวหนึ่งมันมีขนาดยาวมากคับซึ่งจะเอาไปแสดงเป็นกราฟถ้าเกิดเป็นกรณีนี้จะมีวิธีไหนบ้างคับ ขอบคุณสำหรับคำตอบคับผม ^^"
|
|
|
|
|
Date :
2014-02-19 21:05:28 |
By :
A |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|