Как отправить get запрос android studio

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?

  1. Это стандартный пакетJava.
    Для его использования не требуется устанавливать или подключать каких-либо сторонних библиотек. А, писать программы с его использованием можно практически «не оглядываясь» на версию Android;
  2. Больше возможностей контролировать процесс обмена данными.
    В частности, можно без труда анализировать ответ сервера, что часто требуется при работе с RestAPI;
  3. Более простая и компактная реализация программ для работы сHTTP.
    Для того чтобы отправить даже простой запрос в библиотеке от Apache требуется работа с тремя объектами. В java.net всё сводится, по сути, к одному HttpURLConnection. При этом без ущерба для архитектуры приложения;
  4. JavaSE и, в частности,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 мы в угловых скобках указываем три типа данных:

  1. Тип входных данных. Это данные, которые пойдут на вход AsyncTask.
  2. Тип промежуточных данных. Данные, которые используются для вывода промежуточных результатов.
  3. Тип возвращаемых данных. То, что вернет AsyncTask после работы.

Весь класс будет выглядеть примерно так:

Ну и само использование:

На сервере для нашего случая в php у нас к примеру (параметр «result» мы и пытаемся на клиенте получить):

Источник

Сделать обычный get запрос

PHP обычный запрос
Вот PHP код $finishdaygs = mysql_query(«SELECT SUM(summoney) FROM `money` WHERE `idhuman` =.

обычный запрос sql
Дополнительные сведения: Не удалось включить ограничения. По меньшей мере одна строка содержит.

обычный запрос убирает строки. почему?
добрый день! Есть 2 запроса. В ЗАПРОСЕ1 есть одинаковые строки, они все нужны. ЗАПРОС2 .

Сделать из DSL-N10 обычный хаб
Имеется GPON-модем с одним ethernet-портом и он раздаёт wi-fi. Нужно подключить к ентому порту.

Решение

Нет . А как правильно подключить, если что у меня android studio.

Добавлено через 6 минут
Кстати я через «module import» уже загрузил library и вот пытаюсь ввести строчку

Не чего, не получается

Добавлено через 8 минут
Может так пойдёт? Вручную скинуть в папку с проектом.

Добавлено через 34 минуты
Всё, вроде вгрузил я jar. Короче я сначала jar скинул в папку «libs», затем в «Gradle Scripts» —> «build.gradle (Module:app)» добавил строчку «compile files(‘libs/asynchttp.jar’)». Profit Теперь осталось разобраться с библиотекой

Добавлено через 4 минуты
Аааа всё равно удаляется строчка

Добавлено через 7 минут
Даже уже начали появляться подсказки, а вот когда ставишь «;» сразу стирается

Добавлено через 2 минуты
Помогите пожалуйста

Я уже загрузил jar и начинаю писать «import com.loopj.android.http.*», а вот когда дописываю «;» всё сразу удаляется

Добавлено через 5 минут
Всё отлично, import прописывается

Добавлено через 12 минут
Где у меня тут ошибка ?

Добавлено через 18 минут
При компиляции вылетает ошибка —>
Error: (19, 15) error: no suitable method found for get(String)
method AsyncHttpClient.get(Context,String,Header[],RequestParams,ResponseHandlerInterface) is not applicable
(actual and formal argument lists differ in length)
method AsyncHttpClient.get(Context,String,RequestParams,ResponseHan dlerInterface) is not applicable
(actual and formal argument lists differ in length)
method AsyncHttpClient.get(Context,String,ResponseHandlerInterface) is not applicable
(actual and formal argument lists differ in length)
method AsyncHttpClient.get(String,RequestParams,ResponseHandlerInte rface) is not applicable
(actual and formal argument lists differ in length)
method AsyncHttpClient.get(String,ResponseHandlerInterface) is not applicable
(actual and formal argument lists differ in length)

Добавлено через 28 минут
Попробовал пример с офф. сайта, тоже не работает

Предыдущий вариант был веселей)

Вроде бы всё, заработало В логах вроде нет ошибок (красненьких).

01-07 19:00:45.676 1418-1418/com.example.lol.myapplication W/EGL_emulation﹕ eglSurfaceAttrib not implemented
01-07 19:00:46.886 1418-1418/com.example.lol.myapplication V/AsyncHttpResponseHandler﹕ Progress 4096 from 1 (409600%)
01-07 19:00:46.886 1418-1418/com.example.lol.myapplication V/AsyncHttpResponseHandler﹕ Progress 7381 from 1 (738100%)
01-07 19:00:46.886 1418-1418/com.example.lol.myapplication V/AsyncHttpResponseHandler﹕ Progress 11477 from 1 (1147700%)
01-07 19:00:46.940 1418-1418/com.example.lol.myapplication V/AsyncHttpResponseHandler﹕ Progress 15573 from 1 (1557300%)
01-07 19:00:46.940 1418-1418/com.example.lol.myapplication V/AsyncHttpResponseHandler﹕ Progress 19669 from 1 (1966900%)
01-07 19:00:46.940 1418-1418/com.example.lol.myapplication V/AsyncHttpResponseHandler﹕ Progress 23765 from 1 (2376500%)
01-07 19:00:46.946 1418-1418/com.example.lol.myapplication V/AsyncHttpResponseHandler﹕ Progress 27861 from 1 (2786100%)
01-07 19:00:46.946 1418-1418/com.example.lol.myapplication V/AsyncHttpResponseHandler﹕ Progress 31957 from 1 (3195700%)
01-07 19:00:46.946 1418-1418/com.example.lol.myapplication V/AsyncHttpResponseHandler﹕ Progress 32768 from 1 (3276800%)
01-07 19:00:46.946 1418-1418/com.example.lol.myapplication V/AsyncHttpResponseHandler﹕ Progress 36864 from 1 (3686400%)
01-07 19:00:46.956 1418-1418/com.example.lol.myapplication V/AsyncHttpResponseHandler﹕ Progress 40141 from 1 (4014100%)
01-07 19:00:46.956 1418-1418/com.example.lol.myapplication V/AsyncHttpResponseHandler﹕ Progress 44237 from 1 (4423700%)
01-07 19:00:46.956 1418-1418/com.example.lol.myapplication V/AsyncHttpResponseHandler﹕ Progress 48333 from 1 (4833300%)
01-07 19:00:46.956 1418-1418/com.example.lol.myapplication V/AsyncHttpResponseHandler﹕ Progress 51964 from 1 (5196400%)

Вот только остался один вопрос, как вывести html странички?

Добавлено через 7 минут
Если кому нибудь нужно то вот, что у меня получилось —>

Добавлено через 21 минуту
В лог у меня получилось вывести сообщение а вот как вывести в «Medium Text»?

Добавлено через 2 часа 0 минут
УРААААА, всё получилось. Теперь у меня всё выводится в textview при нажатии на button . It’s a magic

Как сделать запрос AJAX, подождать результат и сделать новый запрос?
У меня есть массив элементов, и forEach который вызывает AJAX запрос для каждого элемента Как.

Как сделать идентичный обычный калькулятор Виндовса в делфи
Как сделать идентичный обычный калькулятор Виндовса в делфи, чтобы можно было вводить с цифровой.

Как сделать import класса TObject в обычный юнит?
Добрый день, Разбираюсь с инклюдами и алгоритмом подключения файлов в CBuilder. Есть Vcl.

Не могу сделать обычный калькулятор в билдере с помощью print f И scan f
не могу сделать обычный калькулятор в билдере с помощью print f И scan f! киньте кто нить готовый.

Источник

Читайте также:  Es проводник для android apk
Оцените статью