Запросы к web серверу нужно выполнять в отдельном потоке.
Подготовка
Установим в манифесте разрешение на работу с интернетом:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Работа с GET запросом
DefaultHttpClient hc = new DefaultHttpClient();
ResponseHandler response = new BasicResponseHandler();
HttpGet http = new HttpGet("http://api.devreadwrite.com/v1/getUserData?id=1");
//получаем ответ от сервера
String response = (String) hc.execute(http, response);
Для передачи спец символов (например: !"№;%?()) необходимо их преобразовать с помощью URLEncoder:
String url = URLEncoder.encode("данные %?!", "UTF-8");
Работа с POST запросом
HttpClient httpclient = new DefaultHttpClient();
HttpPost http = new HttpPost("http://api.devreadwrite.com/v1/getUserData");
List nameValuePairs = new ArrayList(2);
nameValuePairs.add(new BasicNameValuePair("id", "1"));
nameValuePairs.add(new BasicNameValuePair("value2", "2"));
http.setEntity(new UrlEncodedFormEntity(nameValuePairs));
//получаем ответ от сервера
String response = (String) httpclient.execute(http, new BasicResponseHandler());
devreadwrite.com



Подборка адаптивных шаблонов для вашей CMS
Статьи по
Как получить и установить HTTPS сертификат на сайта

Комментарии
Для того, чтобы работал DefaultHttpClient - нужно установить бибилотеку apache.http. Для этого, в Android Studio:
Ответить1. Открываем Build->Edit Libraries and Dependencies->Dependencies.
2. Нажимаем на плюсик (+)
3. Выбираем Library Dependency
4. В поле поиска пишем org.apache.http и нажимаем "Enter" или жмем на кнопку поиска
Должно найти библиотеку org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2
5. Выбираем ее.
6. Жмем "Ok"
Если хотим тестить на локальном сервере - обращаемся к локальному хосту по ip. К хосту привязываем ip сетевой карты.
ОтветитьПодскажите плиз, как написать POST для https?
Ответить