Chcę zbudować aplikację na Androida dla mojej strony z wordpress za pomocą wtyczki wp-api. jak mogę wysłać HttpRequest (GET) i odpowiedź odpowiedzi w Json?jak wysłać HttpRequest i uzyskać odpowiedź Json w systemie Android?
Odpowiedz
Spróbuj poniżej kod, aby uzyskać json z 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");
}
Gdzie znaleźć HttpClient? Który pakiet mam dołączyć? – Tarion
@ Tarion wystarczy dodać' useLibrary 'org.apache.http.legacy'' w pliku build.gradle poziomu aplikacji w 'android' blok powyżej '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();
}
Użyj tej funkcji, aby uzyskać JSON z adresu 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);
}
Nie zapomnij dodać uprawnienie do Internetu w swoim oczywistym
<uses-permission android:name="android.permission.INTERNET" />
następnie używać go tak:
try{
JSONObject jsonObject = getJSONObjectFromURL(urlString);
//
// Parse your json here
//
} catch (IOException e) {
e.printStackTrace();
} catch (JSONException e) {
e.printStackTrace();
}
Nicea rozwiązanie, nie wymaga importowania klienta HTTP apache! – Jlange
Co najmniej dwa główne błędy tutaj. 1. 'urlConnection.setDoOutput (true);' zmienia żądanie do metody 'POST'. 2. Skutecznie wykonuje dwa żądania, 'new InputStreamReader (url.openStream()' otwiera 'url' raz jeszcze, pomijając' urlConnection' i wszystkie jego właściwości. 3. 'sb.append (line +" \ n ")' konstruuje nadmiar 'String'. –
- 1. Jak wysłać prostą odpowiedź json w Rails?
- 2. Jak mogę wysłać odpowiedź json w kontrolerze symfony2
- 3. Jak wysłać zdarzenie wskaźnika w systemie Android?
- 4. Jak pobrać dużą odpowiedź JSON w Android Sybase Unwired Platform
- 5. Slim - Jak wysłać odpowiedź z nagłówkiem "Content-Type: application/json"?
- 6. użyciu python urllib2 wysłać żądanie POST i uzyskać odpowiedź
- 7. Jak wysłać żądanie HTTP POST i otrzymać odpowiedź?
- 8. Odpowiedź Połączenie przychodzące w systemie Android 6.0
- 9. jak wysłać tylko odpowiedź 200 w node.js
- 10. Jak przeanalizować odpowiedź usługi sieci Web w systemie Android?
- 11. Alamofire Uzyskaj żądanie i odpowiedź JSON
- 12. Jak wysłać obiekt JSON przez żądanie HttpClient z systemem Android?
- 13. JSON Array iteracja w systemie Android/Java
- 14. Jak uzyskać wysokość ekranu w systemie Android?
- 15. Należy wysłać pakiet UDP i otrzymać odpowiedź w Javie
- 16. NSURLSessionDownloadTaskDelegate Odpowiedź JSON
- 17. Jak uzyskać wartość przełączania w systemie Android?
- 18. Jak uzyskać aktualną godzinę w systemie Android?
- 19. Jak uzyskać odpowiedź XMLHttpRequest?
- 20. Jak uzyskać szerokość i wysokość widoku obrazu w systemie Android?
- 21. Jak uzyskać szerokość i wysokość wyświetlanego obrazu w systemie Android?
- 22. jMeter RegEx Odpowiedź JSON
- 23. JEditable, jak obsłużyć odpowiedź JSON?
- 24. Jak mogę zakończyć odpowiedź i wysłać kod HTTP 404?
- 25. Jak uzyskać nieprzetworzoną odpowiedź JSON z żądania jQuery $ .getJSON()?
- 26. Wyciąg Json odpowiedź
- 27. Jak wysłać odpowiedź od przechwytywacza i wstrzymać dalszą realizację?
- 28. Jak odczytać JSON (odpowiedź serwera) w JavaScript?
- 29. Prześlij dane obiektu Json, aby uzyskać odpowiedź tablicy Json za pomocą volley w Androidzie
- 30. Jak uzyskać odpowiedź po POST w AngularJS?
http://developer.android.com/training/volley/index.html –
można użyć tej http://stackoverflow.com/a/8655039 – user1140237