tôi muốn xây dựng một ứng dụng Android cho trang web wordpress của tôi bằng cách sử dụng plugin wp-api. làm thế nào tôi có thể gửi HttpRequest (GET) và đáp ứng recive trong Json?cách gửi HttpRequest và nhận phản hồi Json trong Android?
Trả lời
Hãy thử mã dưới đây để có được json từ một URL
HttpClient httpclient = new DefaultHttpClient();
HttpGet httpget= new HttpGet(URL);
HttpResponse response = httpclient.execute(httpget);
if(response.getStatusLine().getStatusCode()==200){
String server_response = EntityUtils.toString(response.getEntity());
Log.i("Server response", server_response);
} else {
Log.i("Server response", "Failed to get server response");
}
Nơi để tìm HttpClient? Gói nào tôi phải đưa vào? – Tarion
@Tarion chỉ thêm' useLibrary 'org.apache.http.legacy'' vào tệp build.gradle ở cấp ứng dụng của bạn trong 'android' chặn trên 'defaultConfig'. –
try {
String line, newjson = "";
URL urls = new URL(url);
try (BufferedReader reader = new BufferedReader(new InputStreamReader(urls.openStream(), "UTF-8"))) {
while ((line = reader.readLine()) != null) {
newjson += line;
// System.out.println(line);
}
// System.out.println(newjson);
String json = newjson.toString();
JSONObject jObj = new JSONObject(json);
}
} catch (Exception e) {
e.printStackTrace();
}
Sử dụng chức năng này để nhận JSON từ URL.
public static JSONObject getJSONObjectFromURL(String urlString) throws IOException, JSONException {
HttpURLConnection urlConnection = null;
URL url = new URL(urlString);
urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod("GET");
urlConnection.setReadTimeout(10000 /* milliseconds */);
urlConnection.setConnectTimeout(15000 /* milliseconds */);
urlConnection.setDoOutput(true);
urlConnection.connect();
BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream()));
StringBuilder sb = new StringBuilder();
String line;
while ((line = br.readLine()) != null) {
sb.append(line + "\n");
}
br.close();
String jsonString = sb.toString();
System.out.println("JSON: " + jsonString);
return new JSONObject(jsonString);
}
Đừng quên để thêm phép Internet ở của bạn manifest
<uses-permission android:name="android.permission.INTERNET" />
Sau đó sử dụng nó như thế này:
try{
JSONObject jsonObject = getJSONObjectFromURL(urlString);
//
// Parse your json here
//
} catch (IOException e) {
e.printStackTrace();
} catch (JSONException e) {
e.printStackTrace();
}
đẹp giải pháp thấy, không yêu cầu nhập ứng dụng khách apache http! – Jlange
Có ít nhất hai lỗi chính ở đây. 1. 'urlConnection.setDoOutput (true);' thay đổi yêu cầu thành phương thức 'POST'. 2. Nó thực thi hai yêu cầu một cách hiệu quả, 'InputStreamReader mới (url.openStream()' mở 'url' một lần nữa, bỏ qua' urlConnection' và tất cả các thuộc tính của nó. xây dựng một thừa 'Chuỗi'. –
- 1. Gửi biểu mẫu và nhận phản hồi JSON với jQuery
- 2. Cách gửi yêu cầu HTTP POST và nhận phản hồi?
- 3. Gửi phản hồi JSON bằng Scrapy
- 4. Codeigniter PHP JSON gửi phản hồi HTML
- 5. Gửi phản hồi Json dưới dạng Chuỗi và Số nguyên ...
- 6. Cần gửi gói UDP và nhận phản hồi trong Java
- 7. Phoenix Framework: Gửi mẫu trả về trong phản hồi JSON
- 8. Python Gửi biểu mẫu và nhận phản hồi
- 9. Thử nhận phản hồi USSD trong android
- 10. Đăng dữ liệu đối tượng Json để nhận phản hồi mảng Json bằng cách sử dụng cú volley trong android
- 11. cách nhận phản hồi trong QtWebKit
- 12. Cách gửi yêu cầu http và truy xuất phản hồi json C++ Boost
- 13. Xử lý JSON $ .post Phản hồi JSON
- 14. Gửi lại phản hồi JSON khi không xác thực Passport.js
- 15. Phản hồi Zip JSON trong node.js
- 16. Gửi chuỗi lệnh và chờ phản hồi
- 17. Cách nhận phản hồi dưới dạng định dạng json (ứng dụng/json) trong yii?
- 18. Vấn đề gửi biểu mẫu Fabrik, nhận phản hồi JSON thay vì cảm ơn trang
- 19. Cách nhận url phản hồi trong XMLHttpRequest?
- 20. Phản hồi JSON trong postPath AFHTTPClient
- 21. Nhận json trên lời gọi phản hồi Ajax
- 22. Python urllib2: Nhận phản hồi JSON từ url
- 23. Nhận xét các khối xung quanh phản hồi JSON
- 24. Sử dụng IExtendedNetworkService để nhận phản hồi USSD trong Android
- 25. Phản hồi mảng JSon trên android imagebuttons với onclick
- 26. Cách nhận phản hồi chạm từ RecyclerView?
- 27. HttpWebRequest/HttpResponse: Cách gửi dữ liệu trong phản hồi?
- 28. Cách nhận phản hồi chuỗi từ Retrofit2?
- 29. cách gửi chỉ 200 phản hồi trong node.js
- 30. Gửi yêu cầu HTTP và nhận phản hồi HTTP bằng cách sử dụng javascript
http://developer.android.com/training/volley/index.html –
bạn có thể sử dụng http://stackoverflow.com/a/8655039 này – user1140237