Android. GET и POST запросы

Очень часто приложения для Android обмениваются информацией с сервером. Для передачи данных между сервером и приложением используется протокол HTTP. Здесь мы рассмотрим как передавать данные на сервер и получать ответ.

Внимание!

Запросы к сети, как и все остальные тяжелые задачи нужно выполнять в отдельном потоке. Для этого отлично подойдет AsyncTask.

Подготовка

Установим в манифесте разрешение на проверку интернета:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

GET-запрос

DefaultHttpClient hc = new DefaultHttpClient();
ResponseHandler response = new BasicResponseHandler();
HttpGet http = new HttpGet("http://site.ru/api.php?login=user1&psw=1234");
//получаем ответ от сервера
String response = (String) hc.execute(http, response);

Если надо передать в символы !»№;%?(), то такую строку нужно обработать:
String url = URLEncoder.encode(«ваша %?! строка», «UTF-8»);

POST-запрос

HttpClient httpclient = new DefaultHttpClient();
HttpPost http = new HttpPost("http://site.ru/api.php?");
List nameValuePairs = new ArrayList(2);
nameValuePairs.add(new BasicNameValuePair("login", "user1"));
nameValuePairs.add(new BasicNameValuePair("pswd", "1234"));
http.setEntity(new UrlEncodedFormEntity(nameValuePairs));
String response = (String) httpclient.execute(http, new BasicResponseHandler());

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Ваш комментарий будет опубликован после модерации