Различие между использованием URLCOnnection Object и Httppost в клиенте Android - PullRequest
4 голосов
/ 22 февраля 2012

Я использую URLConnection Object для отправки данных с моего клиента Android на сервер.

URL url = new URL("http://10.0.2.2:8080/hello");
URLConnection connection = url.openConnection();
connection.setDoOutput(true);
ObjectOutputStream out=new ObjectOutputStream(connection.getOutputStream());
String s="check"+","+susername;
out.writeObject(s);
out.flush();
out.close();

Но я видел много программ для Android, отправляющих данные с использованием httppost следующим образом.

HttpClient client=new DefaultHttpClient();
HttpPost httpPost=new HttpPost(LOGIN_ADDRESS);
List pairs=new  ArrayList();
String strUsername=username.getText().toString();
String strPassword=password.getText().toString();
pairs.add(new BasicNameValuePair("username", strUsername));
pairs.add(new BasicNameValuePair("password", strPassword));
httpPost.setEntity(new UrlEncodedFormEntity(pairs));
HttpResponse response= client.execute(httpPost);

Пожалуйста, объясните разницу между ними.Как бы вы получили данные в последующем случае в сервлете.пожалуйста, дайте краткое объяснение на этом HttpPost.В интернете я нахожу только код.Просьба дать пошаговое объяснение HttpPost и его методов, а также о том, как следует получать данные в сервлете.Ссылки будут хорошо.

1 Ответ

9 голосов
/ 22 февраля 2012

Это сообщение в блоге довольно хорошо объясняет разницу между ними (на самом деле это HttpURLConnection, но это просто подкласс URLConnection).Некоторые основные моменты из этой статьи:

  • HttpURLConnection легко позволяет кодировать gzip
  • HttpURLConnection позволяет легко кэшировать результаты
  • HttpURLConnection новее и активно развивается наэто будет становиться все быстрее и лучше
  • HttpURLConnection имеет некоторые досадные ошибки на платформах foryo и pre-froyo
  • HttpClient проверен и верен.Он существует уже давно и работает
  • HttpClient практически не разрабатывается, потому что он очень старый и API полностью заблокирован.Разработчики Android не могут сделать ничего особенного, чтобы улучшить его.

Хотя в конце статьи рекомендуется использовать HttpURLConnection на всех платформах выше froyo, лично мне нравится использовать HttpClient, независимо от того,какие.Это проще для меня и имеет больше смысла.Но если вы уже используете HttpURLConnection, вы должны полностью использовать его.С этого момента он получит много любви от разработчиков Android.

...