網址爲:http://localhost 方法類型:發佈 頭:內容類型:應用程序/ JSON,解碼:2 數據:XX如何在Android中使用POST方法後得到的反應
我們怎樣才能做到這一點android ??,我如何得到這個答覆? 我看到的HttpClient已被棄用
任何幫助,將不勝感激
網址爲:http://localhost 方法類型:發佈 頭:內容類型:應用程序/ JSON,解碼:2 數據:XX如何在Android中使用POST方法後得到的反應
我們怎樣才能做到這一點android ??,我如何得到這個答覆? 我看到的HttpClient已被棄用
任何幫助,將不勝感激
嘗試使用HttpURLConnection的
String Url, query;
InputStream inputStream;
HttpURLConnection urlConnection;
byte[] outputBytes;
String ResponseData;
Context context;
try{
URL url = new URL(Url);
urlConnection = (HttpURLConnection) url.openConnection();
outputBytes = query.getBytes("UTF-8");
urlConnection.setRequestMethod("POST");
urlConnection.setDoOutput(true);
urlConnection.setConnectTimeout(15000);
urlConnection.setRequestProperty("Content-Type", "application/json");
urlConnection.connect();
OutputStream os = urlConnection.getOutputStream();
os.write(outputBytes);
os.flush();
os.close();
inputStream = new BufferedInputStream(urlConnection.getInputStream());
ResponseData = convertStreamToString(inputStream);
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
public String convertStreamToString(InputStream is) {
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
StringBuilder sb = new StringBuilder();
String line = null;
try {
while ((line = reader.readLine()) != null) {
sb.append((line + "\n"));
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return sb.toString();
}
我的迴應將是一個Json對象,雖然 – Venky
它會給在json字符串的響應,你可以將它轉換成jsonObject – AbhayBohra
它說未處理的異常:url中的java.io.IOException .openconnection – Venky
您可以使用HttpURLConnection的,如果你不想使用庫,否則你可以用排槍也使網絡調用,因爲抽射更容易管理網絡呼叫! 謝謝!
我可以得到一個例子,即時通訊新的android – Venky
https://www.numetriclabz.com/android-post-and-get-request-using -httpurlconnection /用於HttpURLConnection –
https://code.tutsplus.com/tutorials/an-introduction-to-volley--cms-23800排球 –
URL url = new URL("http://yoururl.com");
HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
conn.setReadTimeout(10000);
conn.setConnectTimeout(15000);
conn.setRequestMethod("POST");
conn.setDoInput(true);
conn.setDoOutput(true);
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("firstParam", paramValue1));
params.add(new BasicNameValuePair("secondParam", paramValue2));
params.add(new BasicNameValuePair("thirdParam", paramValue3));
OutputStream os = conn.getOutputStream();
BufferedWriter writer = new BufferedWriter(
new OutputStreamWriter(os, "UTF-8"));
writer.write(getQuery(params));
writer.flush();
writer.close();
os.close();
conn.connect();
............................................ .......................
private String getQuery(List<NameValuePair> params) throws UnsupportedEncodingException
{
StringBuilder result = new StringBuilder();
boolean first = true;
for (NameValuePair pair : params)
{
if (first)
first = false;
else
result.append("&");
result.append(URLEncoder.encode(pair.getName(), "UTF-8"));
result.append("=");
result.append(URLEncoder.encode(pair.getValue(), "UTF-8"));
}
return result.toString();
}
非常感謝,這有幫助,但我如何添加內容類型到這個??,我有一個JSON對象 – Venky
getQuery將返回包含您的JSON的字符串後,你可以提取它。如果代碼可以幫助你,那麼你可以標記爲答案謝謝 –
使用凌空http://www.androidhive.info/2014/05/android-working-with-volley-library-1/ –