С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
vindigo
20 / 20 / 3
Регистрация: 15.05.2014
Сообщений: 80
#1

Как встретить JSON из Android на сервере с PHP? - Программирование Android

31.03.2015, 07:07. Просмотров 924. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.03.2015, 07:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как встретить JSON из Android на сервере с PHP? (Программирование Android):

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

Android JSON - Программирование Android
Народ можете скинуть статеек или пару примеров написать как принимать. Настроил сервер на элементарный ответ А вот теперь хочу что бы...

Json android изображение - Программирование Android
Нужна помощь, нужно парсить фотки с открытой группы вконтакте, в переложение

Android Parse Json - Программирование Android
Здравствуйте, я хочу, чтобы разобрать JSON * мой JSON является: { message: "Magazines", magazines: , thumbnail:...

Android Json Load More - Программирование Android
Здравствуйте, я работал JSON. У меня есть два класса (private class LoadDataToServer extends AsyncTask и class loadMoreListView extends...

Android json, передача переменной - Программирование Android
Здравствуйте. В android приложение формирую json файл, как его в php разобрать? Что я делаю не так? public void onClick(View v) { ...

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

Основная проблема в том, что не могу пока понять как через этот класс отправить какой-нибудь идентификатор, чтобы принять на сервере. API на сайте пишу сам.
0
CoolMind
421 / 404 / 65
Регистрация: 06.10.2012
Сообщений: 1,734
08.04.2015, 13:32 #4
vindigo, молодец, что столько дел одновременно делаешь. Всё же, между этими методами разница небольшая. Вот, например: http://stackoverflow.com/questions/9...ion-using-post. В нижнем сообщении там даже указан другой способ построения массива "ключ:значение".
Устаревшие методы, тем не менее, поддерживаются, пока об этом явно не напишут. Я встречал пока что устаревание каких-то библиотек, например, Google Maps v1. Но и то они работают, просто ключ не получить, поэтому все переходят на v2.
0
08.04.2015, 13:32
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.04.2015, 13:32
Привет! Вот еще темы с ответами:

MySQL через JSON в Android Studio - Программирование Android
Всем категорический привет! Осваивала коннект MySQL с AS через урок: http://devcolibri.com/1548#comment-6659 Вывод перечня продуктов из...

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

PHP json_decode (json или не json) - PHP
Третий день ломаю голову над вопросом: API вконтакте возвращает массив в json (как я полагаю) - вроде похоже на json Вот строка: ...

php и json: как обратится к массиву? - PHP
Здравствуйте! В общем как мне кажется я не могу понять какой-то элементарной вещи, сколько ищу и не врубаюсь. Мне надо превратить...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.