- Android. GET и POST запросы к web серверу
- Подготовка
- Работа с GET запросом
- Работа с POST запросом
- Рекомендуемые
- Комментарии
- Отправляем GET запрос в Android без Apache
- Gamedev suffering
- Блог о разработке игр и серверных технологиях
- Android: послать GET/POST запрос с помощью AsyncTask
- JSONParser
- AsyncTask
- Сделать обычный get запрос
- Решение
Android. GET и POST запросы к web серверу
5 сентября 2016 г. 3 Yehor Rykhnov 12665 android, java—>
Довольно часто приложению необходимо обмениваться информацией с сервером, для этого используется HTTP или HTTPS протокол. Рассмотрим простой пример запроса к серверу и получение ответа от него.
Запросы к web серверу нужно выполнять в отдельном потоке.
Подготовка
Установим в манифесте разрешение на работу с интернетом:
Работа с GET запросом
Для передачи спец символов (например: !»№;%?()) необходимо их преобразовать с помощью URLEncoder:
Работа с POST запросом
Если у вас есть вопросы или предложения по улучшению кода описанного в статье пишите в комментариях.
Я всегда открыт к конструктивному диалогу
Рекомендуемые
Комментарии
Для того, чтобы работал 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?
Бесполезно придумывать защиту от дурака — ведь дураки так гениальны
кодер.укр
Мы публикуем полезные материалы для веб разработчика с подробным описанием без лишней «воды», с рабочими (проверенными) примерами.
Основная наша задача — это донести материалы максимально просто и понятно до читателя.
Вы можете связаться с нами по э-почте: info@кодер.укр
или с помощью формы обратной связи
Семён • 3 июля 2021 г., 1:39 Вопрос .Как сделать так , чтобы в tor браузер был постоянный ip адрес ..У меня проблема в. Как изменить размер шрифта текста, чтоб был больше 5ти? |
Dmentiy • 19 мая 2021 г., 13:15 Спасибо за мануал, наконец то руки дошли до авторизации. В миграцию добавил пользователя п. Подпишитесь на рассылку и Вы будете получать новые статьи первым. Copyright © 2014 — 2021 by кодер.укр. All Rights Reserved. Источник Отправляем GET запрос в Android без ApacheКогда заходит разговор о работе с HTTP под Android чаще всего сразу же вспоминают библиотеку классов от Apache. При этом незаслуженно игнорируя другой не менее эффективный способ обмена данными. Этот способ по праву можно считать если не очевидным, то, по крайней мере, хорошо известным для тех, кто программирует на Java. Однако в среде Android разработчиков он пока почему-то не получил широкого распространения. Речь идёт о пакете java.net, который входит в состав «обычного» Java SE, но доступен также и в Android. Для отправки запроса потребуется всего два класса из этого пакета URL и HttpURLConnection. Вначале создадим подключение к тому ресурсу, к которому планируется оправить запрос. Для этого создадим объект класса URL и на его основе получим объект класса HttpURLConnection. Затем собственно отправляем сам запрос и обрабатываем результат: В чём преимущество java.net перед Apache?
Последнее преимущество обычно принято как-то сбрасывать со счетов. Однако про него почему-то столь же часто вспоминают, когда дело доходит до сложных или просто не тривиальных задач и все остальные способы разобраться в проблеме исчерпаны. О том насколько влияет наличие и качество документации на возможность освоения для новичков, и говорить не приходится. Из недостатков рассматриваемого способа можно отметить только один. HttpURLConnection позволяет получить данные только в виде набора байт. Поэтому, чтобы получить ответ с сервера в виде строки требуется выполнить преобразования. Источник Gamedev sufferingБлог о разработке игр и серверных технологияхAndroid: послать GET/POST запрос с помощью AsyncTaskЧтобы в приложении выполнять тяжелые задачи можно вводить отдельный поток и использовать Handler для обратной связи и обновления экрана. Для решения подобных задач сделали отдельный класс – AsyncTask. Т.е. его цель – это выполнение тяжелых задач и передача в UI-поток результатов работы. При этом нам не надо задумываться о создании Handler и нового потока. Для отправки запросов вроде как тоже рекомендуется использовать AsyncTask. JSONParserДанные с сервера частенько отправляют в формате JSON. Поэтому, можно воспользоваться классом для отправки запросов в json формате. Код нашёл на просторах http://stackoverflow.com AsyncTaskЧтобы работать с AsyncTask , необходимо создать класс-наследник и в нём переопределить необходимые методы: doInBackground – будет выполнен в новом потоке, здесь решаем все свои задачи onPreExecute – выполняется перед doInBackground, имеет доступ к UI onPostExecute – выполняется после doInBackground (не срабатывает в случае, если AsyncTask был отменен), имеет доступ к UI При описании класса-наследника AsyncTask мы в угловых скобках указываем три типа данных:
Весь класс будет выглядеть примерно так: Ну и само использование: На сервере для нашего случая в php у нас к примеру (параметр «result» мы и пытаемся на клиенте получить): Источник Сделать обычный get запрос обычный запрос sql РешениеНет Добавлено через 6 минут Не чего, не получается Добавлено через 8 минут Добавлено через 34 минуты Добавлено через 4 минуты Добавлено через 7 минут Добавлено через 2 минуты Я уже загрузил jar и начинаю писать «import com.loopj.android.http.*», а вот когда дописываю «;» всё сразу удаляется Добавлено через 5 минут Добавлено через 12 минут Добавлено через 18 минут Добавлено через 28 минут
Предыдущий вариант был веселей) Вроде бы всё, заработало 01-07 19:00:45.676 1418-1418/com.example.lol.myapplication W/EGL_emulation﹕ eglSurfaceAttrib not implemented Вот только остался один вопрос, как вывести html странички? Добавлено через 7 минут Добавлено через 21 минуту Добавлено через 2 часа 0 минут Как сделать запрос AJAX, подождать результат и сделать новый запрос? Как сделать идентичный обычный калькулятор Виндовса в делфи Не могу сделать обычный калькулятор в билдере с помощью print f И scan f Источник |