Доброе утро вместе,android send http post request - правильный способ
Я нашел полезное руководство по выполнению запроса HTTP POST с помощью android. этот код работает отлично, но я хотел бы знать, если этот код является лучшим способом сделать это, или если у вас есть идеи, как я могу его оптимизировать.
private class PostClass extends AsyncTask<String, String, String> {
Context context;
public PostClass(Context c){
this.context = c;
}
@Override
protected String doInBackground(String... params) {
try {
URL url = new URL("xxxx");
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
String urlParameters = "xxx";
connection.setRequestMethod("POST");
connection.setDoOutput(true);
DataOutputStream dStream = new DataOutputStream(connection.getOutputStream());
dStream.writeBytes(urlParameters);
dStream.flush();
dStream.close();
BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream()));
final String response = br.readLine();
br.close();
return response;
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
protected void onPostExecute(String result){
Toast.makeText(getBaseContext(), result, Toast.LENGTH_SHORT).show();
}
}
Предлагаю вам использовать библиотеку Volley для запроса REST. Это проще, чем AsyncTask. – Tomislav
да это хорошо. как говорится в [Docs] (https://developer.android.com/reference/java/net/HttpURLConnection.html) –
Если вы не используете какую-либо библиотеку, это правильный и стандартный способ, который вы найдете в руководстве разработчика Google. –