Android studio post php

Интеллигенция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 запроса
Здраствуйте, нужно на сайт отправить пост запрос з логином і паролем, потом сайт оддаст строку, ее.

Читайте также:  Установить html5 для андроид

Отправка 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

Используйте лучшую библиотеку, такую ​​как:

  • Избегайте HttpUrlConnection и HttpClient

На более низких уровнях API (в основном на Gingerbread и Froyo) HttpUrlConnection и HttpClient далеки от совершенства

  • И избегайте AsyncTask слишком
  • Они намного быстрее
  • Они все кешируют

С момента появления 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 запросы и обработать ответ от сервера не нашел.

Надеюсь на вашу помощь, желательно с подробными примерами. Огромное спасибо.

  • Вопрос задан более трёх лет назад
  • 36845 просмотров

Оценить 2 комментария

Минимум как-то так. А там сами обработаете что и как требуется и положено.

Особого отличия от HttpClient нет.

По сути нужно заполнить OutputStream дополнительно к текстовым параметрам формы еще и бинарными данными.
Вот какой-то пример есть: Upload a file using HTTPUrlConnection.

Рекомендую сначала настроить свой php и убедиться, что все работает при отправке файла через HTML-форму. Потом уже пробовать свой java-клиент. Для начала пробуйте мелкие бинарники передавать.
Смотрите, чтобы сервер ваш не согласился на прием файла очень большого размера, который ему просто некуда будет сохранить, т.е. нужно ограничение по размеру принимаемого файла. Или прием данных нежелательного содержания, например, какой-либо исполняемый код. Ну, это уже все другие вопросы.

Для отладки выводите лог и обрабатывайте ошибки буквально после каждого действия на клиенте и на сервере.

Источник

Читайте также:  4pda калькулятор для андроида
Оцените статью