ผมเขียน Android ให้ไป get ค่า json มาจาก google place ผ่าน url แต่ค่ามาไม่ครบทุกตัว ผมมีโค้ดมาด้วยช่วยดูให้ทีว่าผมทำอะไรพลาดไป
Code (Android-Java)
keyword = (EditText)findViewById(R.id.keyword);
searchPlace = (Button)findViewById(R.id.searchPlace);
searchPlace.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
url = "https://maps.googleapis.com/maps/api/place/textsearch/json?query=" +
keyword.getText().toString() + "&key=" + API_KEY;
Log.d("URL Request", url);
new RequestTask().execute(new String[]{url});
}
});
public class RequestTask extends AsyncTask<String, Void, JSONObject> {
@Override
protected JSONObject doInBackground(String... url) {
String urlQuery = url[0];
HttpClient client = new DefaultHttpClient();
HttpConnectionParams.setConnectionTimeout(client.getParams(), 10000);
JSONObject jsonRes = null;
HttpPost post = new HttpPost(url[0]);
try {
StringEntity se = new StringEntity(urlQuery.toString(), HTTP.UTF_8);
Log.d("URL", url[0]);
Log.i("SEND QUERY", urlQuery.toString());
post.addHeader("content-type", "application/json;charset=UTF-8;");
post.setEntity(se);
HttpResponse response;
response = client.execute(post);
resFromServer = EntityUtils.toString(response.getEntity());
Log.i("JSON Response", resFromServer);
} catch (Exception e) {
e.printStackTrace();
}
return jsonRes;
}
}
Tag : Mobile, Android, Mobile
Date :
2015-07-17 14:51:58
By :
funrun
View :
1139
Reply :
3
ใช้ .toString หรือเปล่าครับ ถ้าเป็น .toString ผมลองแล้วมันได้ผลออกมาเหมือนกับตอนที่ไม่ใส่ .toString
ผมเลยไม่แน่ในว่าจริงๆ มัน get ค่ามาครบแต่โชว์ออกไม่หมดหรือว่ามันรับค่าได้ไม่ครบกันแน่ เพราะผมลองใช้ keyword=โลตัส แล้วมันโชว์ค่าไม่ครบ แต่ถ้าเปลี่ยนเป็น keyword=กรุงเทพ มันโชว์ค่าออกได้หมด
Date :
2015-07-18 22:16:34
By :
funrun
สรุปแล้วค่ามาหมดครับ แค่มันโชว์ออกมาไม่หมด อันนี้สรุปหลังจากที่นั่ง งง+ทำ อยู่นาน
Date :
2015-07-19 03:35:59
By :
funrun
Load balance : Server 00