С Новым годом! Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
20 / 20 / 3
Регистрация: 15.05.2014
Сообщений: 80

Как встретить JSON из Android на сервере с PHP?

31.03.2015, 07:07. Показов 2105. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет, форумчане! Не могу понять как организовать встречу JSON на серваке с php, который приходит от Android приложения. Вот реализация (слямзил на просторах интернета):

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
GsonBuilder builder = new GsonBuilder();
            Gson gson = builder.create();
            String strJSON = gson.toJson(strArXLSMas); //здесь просто массив со значениями
            URL url;
            try {
                url = new URL("http://mysite/andapi.php?andro=3");
                HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                conn.setRequestMethod("GET");
                conn.setFixedLengthStreamingMode(strJSON.getBytes().length);
                conn.setRequestProperty("Content-Type", "application/json;charset=utf-8");
                conn.setRequestProperty("X-Requested-With", "XMLHttpRequest");
                conn.connect();
                int responseCode = conn.getResponseCode();
                respOne = ("Response Code : " + responseCode); // эта строка выводит 200, т.е. подключаюсь нормально
         
                BufferedReader in = new BufferedReader(
                        new InputStreamReader(conn.getInputStream()));
                String inputLine;
                StringBuffer response = new StringBuffer();
         
                while ((inputLine = in.readLine()) != null) {
                    response.append(inputLine);
                }
                in.close();
         
                //print result
                System.out.println(response.toString());
                
                OutputStream os = new BufferedOutputStream(conn.getOutputStream());
                os.write(strJSON.getBytes());
                os.flush();
                os.close();
                conn.disconnect();
Ну и собственно сам вопрос - я же не отправляю никаких ID и переменных, как мне встретить строку на сервере?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.03.2015, 07:07
Ответы с готовыми решениями:

Java, JSON и JSON Simple. Непонятка с созданием объекта JSON на сервере для отправки на фронт
Здравствуйте. Разрабатываю интернет-магазин на Java. Мне нужно на фронте получить список товаров из базы данных для отображения на...

Как принять JSON на tcp сервере?
Я с клиента андроид на tcp сервер qt хочу отправить JSON как на сервере методами Qt его можно принять?? И методы парсинга JSON какие есть??

Как распарсить Json-ответ Android приложении?
Добрый день! Android приложение получает ответ от сервера в формате Json. Есть 2 варианта ответа : 1. 2. Какой лучше...

3
426 / 406 / 68
Регистрация: 06.10.2012
Сообщений: 1,748
08.04.2015, 09:43
vindigo, вы используете метод GET, он не подходит для данной задачи. Надо использовать метод POST и быть уверенным, что сервер может обработать принимаемые данные. Я поискал несколько тем на английском языке. В принципе, это можно написать и самому.
http://hmkcode.com/android-sen... to-server/
В одной из тем обнаружил упоминание сжатия GZIP. Если ваш JSON больше нескольких сот килобайт, рекомендую ознакомиться (сервер должен будет уметь принимать GZIP). Честно говоря, не знаю, можно ли так делать, я пробовал скачивать с сервера огромные JSON'ы через GZIP, а вот закачивать не пробовал.
1
20 / 20 / 3
Регистрация: 15.05.2014
Сообщений: 80
08.04.2015, 12:42  [ТС]
Спасибо, CoolMind, уже понял, что нужен POST, мне нужно передать массив в 5000 строк по 8 полей. По вашей ссылке уже был, к сожалению, реализовано тоже через HttpCLient, а раз гуглы почему-то признают его устаревшим, то, я так думаю, в дальнейших обновлениях сдк вообще выведут этот класс из использования, хотелось бы реализовать через HttpURLConnection, чтобы так сказать идти в ногу со временем. Как реализую выложу может кому пригодится, просмотров у темы много, а ответили вы первый.

Основная проблема в том, что не могу пока понять как через этот класс отправить какой-нибудь идентификатор, чтобы принять на сервере. API на сайте пишу сам.
0
426 / 406 / 68
Регистрация: 06.10.2012
Сообщений: 1,748
08.04.2015, 13:32
vindigo, молодец, что столько дел одновременно делаешь. Всё же, между этими методами разница небольшая. Вот, например: http://stackoverflow.com/quest... using-post. В нижнем сообщении там даже указан другой способ построения массива "ключ:значение".
Устаревшие методы, тем не менее, поддерживаются, пока об этом явно не напишут. Я встречал пока что устаревание каких-то библиотек, например, Google Maps v1. Но и то они работают, просто ключ не получить, поэтому все переходят на v2.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.04.2015, 13:32
Помогаю со студенческими работами здесь

Как получить все значения id из Json? Android Studio
Работаю в Android Studio с VK API. Я получил Json при GET-запросе. В нём содержится следующее: {"count" : 75,...

Как выполнить python из php на сервере
Всем привет. Писал сайт на локальном сервере(OpenServer) из php запускал python следующим образом: exec('C:\python\mypython\python.exe...

Python в сервере. Использовать как php
Не могу найти в инете как на питоне серверную сторону писать. Нашёл только как самому сделать на питоне сервер и сравнение питона с пхп....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru