- ИнтеллигенцияX
- Как в Android Studio передавать данные на сервер в интернете
- Похожие записи:
- 4 комментария
- Отправка POST запроса
- Android. GET и POST запросы к web серверу
- Подготовка
- Работа с GET запросом
- Работа с POST запросом
- Рекомендуемые
- Комментарии
- Отправка POST-данных в Android
- Как отправить POST запрос с помощью HttpURLConnection?
ИнтеллигенцияX
Как в Android Studio передавать данные на сервер в интернете
Три поста назад я показал, как в Android Studio хранить локальные настройки (ФИО, должность и телефон спонсора — https://ds-release.ru/kak-rabotat-s-bazoj-dannyx-sqlite-v-android-studio/ ) в базе SQLite
А как передавать данные на центральный сервер приложения в интернете?
В данном примере сервер будет на php, но можно любой, данные будут передаваться на сервер методом POST.
Сначала в AndroidManifest.xml добавим строку
В activity_main.xml располагаем аналогичный (как в примере с SQLite) код
А вот в кнопке «Сохранить» напишем не сохранение в локальную SQLite, а передачу информации о спонсоре на сервер.
Для этого можно использовать, например, POST запрос с передачей параметров.
Используем асинхронное соединение с AsyncTask.
В файле MainActivity пишем такой код:
Если на сервере будет, например, php скрипт server.php такого содержания
Он запишет переданные в переменных данные в базу MySQL в таблицу DATA значения имени, должности и телефона.
Похожие записи:
4 комментария
Добрый день! Использую ваш код как исходник для своего приложения.
Я разрабатываю приложение WI-FI сканер, который после сканирования отправляет данные на сервер (данные такого типа имя сети, тип защиты, уровень сигнала, аппаратный адрес маршрутизатора) и при тестировании сервер не реагирует на то что я отправляю. На какой версии android работало у вас?
Подскажите пожалуйста причину?
Программирую недавно столкнулся вот с такой проблемой
Работало на всех аппаратах, на которых тестировал, андроид с 4 по 7
А Вы уверены, что проблема именно в версии андроида, а не на стороне веб сервера? Запускайте отладку, смотрите что передаете на сервер, со стороны сервера что на него приходит, думаю, разберетесь
Сделайте урок о том, как принимать данные с сервера. Спасибо
resultString = new String(data, «UTF-8»); // сохраняем в переменную ответ сервера, у нас «OK»
Вот и приняли данные с сервера :).
А потом с этим resultString можете делать, что хотите.
Источник
Отправка POST запроса
Здравствуйте! Решил попробовать написать приложение на Android. Задачу поставил такую, что надо отправить с android-а на сервер post запрос, но что-то видимо делаю не так, ниже приведу пример своего кода из Java и php. Что я не так делаю?
Отправка POST запроса
Добрый день! столкнулся с проблемой, не могу отправить пост запрос, сваливаюсь на OutputStream.
Отправка POST запроса
Здраствуйте, нужно на сайт отправить пост запрос з логином і паролем, потом сайт оддаст строку, ее.
Отправка POST запроса серверу
Здравствуйте. Пишу приложение для Android, которое получает данные о местонахождении и отправляет.
Спасибо, что сказали по поводу permission’а, потому что я о нём не знал и конечно у меня его не было в манифесте)) Буквально второй день, как пробую, что-то запилить на этом всём.
Я ниже приведу пример всего своего класса, т.к. я добавил поток, но это мне особо не помогло.
Вот что пишет в логе:
11-29 10:23:30.523: W/dalvikvm(333): threadid=9: thread exiting with uncaught exception (group=0x40015560)
11-29 10:23:30.533: E/AndroidRuntime(333): FATAL EXCEPTION: Thread-10
11-29 10:23:30.533: E/AndroidRuntime(333): java.lang.IllegalStateException: Target host must not be null, or set in parameters.
11-29 10:23:30.533: E/AndroidRuntime(333): at org.apache.http.impl.client.DefaultRequestDirector.determine Route(DefaultRequestDirector.java:572)
11-29 10:23:30.533: E/AndroidRuntime(333): at org.apache.http.impl.client.DefaultRequestDirector.execute(D efaultRequestDirector.java:292)
11-29 10:23:30.533: E/AndroidRuntime(333): at org.apache.http.impl.client.AbstractHttpClient.execute(Abstr actHttpClient.java:555)
11-29 10:23:30.533: E/AndroidRuntime(333): at org.apache.http.impl.client.AbstractHttpClient.execute(Abstr actHttpClient.java:487)
11-29 10:23:30.533: E/AndroidRuntime(333): at org.apache.http.impl.client.AbstractHttpClient.execute(Abstr actHttpClient.java:465)
11-29 10:23:30.533: E/AndroidRuntime(333): at com.example.reseptionsms.MainActivity$1$1.run(MainActivity.j ava:62)
11-29 10:23:30.533: E/AndroidRuntime(333): at java.lang.Thread.run(Thread.java:1019)
В php я ничего не менял у себя или сервер в любом случае должен дать какой либо ответ?
Источник
Android. GET и POST запросы к web серверу
5 сентября 2016 г. 3 Yehor Rykhnov 12662 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. Источник Отправка POST-данных в AndroidУ меня есть опыт работы с PHP, JavaScript и многими другими языками сценариев, но у меня нет большого опыта работы с Java или Android. Я ищу способ отправки данных POST в скрипт PHP и отображения результатов. * Обновленный ответ, который работает на Android 6.0+. Спасибо @Rohit Suthar , @Tamis Bolvari и @sudhiskr за комментарии. * Старый ответ Примечание: это решение устарело. Работает только на устройствах Android до 5.1. Android 6.0 и выше не включают в себя HTTP-клиент Apache, используемый в этом ответе. Http Client от Apache Commons — это путь. Он уже включен в Android. Вот простой пример того, как сделать HTTP Post используя его. для Android => 5 В org.apache.http классы и AndroidHttpClient класса были устаревшими в Android 5.1 . Эти классы больше не поддерживаются, и вы должны как можно скорее перенести любой код приложения с помощью этих API в классы URLConnection . Мысль поделиться своим кодом с помощью HttpUrlConnection Также вы можете опубликовать метод: Обновление 21/02/2016 для отправки запроса с помощью json , см. этот пример: ОБНОВЛЕНИЕ 24/08/2016 Используйте лучшую библиотеку, такую как:
На более низких уровнях API (в основном на Gingerbread и Froyo) HttpUrlConnection и HttpClient далеки от совершенства
С момента появления Honeycomb (API 11) было обязательным выполнять сетевые операции в отдельном потоке, отличном от основного потока Таким образом, мы можем отправлять данные методом http post и получать результат Это пример того, как размещать данные из нескольких частей БЕЗ использования внешних библиотек Apache: к @primpop answer я бы добавил, как преобразовать ответ в строку: Лучше использовать Apache Commons HttpClient, который также включен в Android. Посмотрите на Android Developer: Apache HTTP Client Package для получения общей информации о API. Вы можете использовать это для отправки HTTP-запроса POST на URL. Вы можете легко отправить запрос и получить ответ. Я всегда использую это. Я хорошо работаю со мной. Вы также должны добавить ниже файл Jar в папке libs Наконец отредактируйте свой build.gradle В последнем перестрой свой проект. Используйте okHttp библиотеку с открытым исходным кодом от Square. okHttp работает с Android 2.3 и выше и имеет лицензию Apache 2.0 на GitHub . Отправка данных POST так же проста, как добавление следующего в AsyncTask: okHttp также есть пространство имен на maven, поэтому добавить его в проект Android Studio очень просто. Просто добавьте compile ‘com.squareup.okhttp3:okhttp:3.11.0’ в свое приложение build.gradle. Полный код Добавьте в свою деятельность следующее: И назовите это используя: У меня работает следующее: Вы можете использовать URLConnection с , (для отправки данных) и (для получения). У Sun есть пример именно для этого . setDoOutput (true) getOutputStream() getInputStream() Если вы просто хотите добавить данные в URL-адрес, вы можете сделать это с помощью HttpUrlConnection, так как теперь HttpClient устарел. Лучшим способом было бы использовать библиотеку как Залп модернизации Мы можем публиковать данные в php-скрипте, извлекать результаты и отображать их, используя этот код, выполняемый через класс AsyncTask. Но использование таких библиотек, как volley или retrofit, гораздо лучше, потому что класс Asynctask и HttpurlConnection работают медленнее, чем библиотеки. Также библиотека будет загружать все и быстрее. Источник Как отправить POST запрос с помощью HttpURLConnection?Добрый вечер. Начал разбираться в программировании под android и нашел много поднобных инструкций по отправке POST запроса на php сервер с помощью HttpClient, но потом выяснил что он устарел и перестал поддерживаться последим SDK который у меня установлен. После чего узнал что следует пользоваться HttpURLConnection, но информации о том как осуществить с помощью него POST или GET запросы и обработать ответ от сервера не нашел. Надеюсь на вашу помощь, желательно с подробными примерами. Огромное спасибо.
Оценить 2 комментария Минимум как-то так. А там сами обработаете что и как требуется и положено. Особого отличия от HttpClient нет. По сути нужно заполнить OutputStream дополнительно к текстовым параметрам формы еще и бинарными данными. Рекомендую сначала настроить свой php и убедиться, что все работает при отправке файла через HTML-форму. Потом уже пробовать свой java-клиент. Для начала пробуйте мелкие бинарники передавать. Для отладки выводите лог и обрабатывайте ошибки буквально после каждого действия на клиенте и на сервере. Источник |