Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
4 / 4 / 2
Регистрация: 04.04.2015
Сообщений: 186

Android json, передача переменной

08.05.2017, 16:37. Показов 1120. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. В android приложение формирую json файл, как его в php разобрать? Что я делаю не так?
Кликните здесь для просмотра всего текста
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
public void onClick(View v) {
        switch (v.getId()) {
            case R.id.ButtonMessage:
                String name="Данил";
                String order_id="1";
                String fromFirebaseId="f9AopqZ4mKI:APA91bFayy2W8mXf-TqIzdg4IJ4xMGMYW2r_Ppgkd8W7nKQ5MxgKDqkkaS-pHfxHXmH3v-pAXtiZSNSGHb2e2zuznlPyn14so8tcqvkg6Dl5WXm_aHe0qGVGx7Qt3-rj1JG15ji0B-rn";
                AddMessages addMessages=new AddMessages();
                addMessages.execute(name, order_id, fromFirebaseId);
                break;
 
 
        }
    }
    class AddMessages extends AsyncTask<String, String, String> {
 
        HttpURLConnection urlConnection = null;
        BufferedOutputStream bos = null;
        @Override
        protected void onPreExecute() {
            super.onPreExecute();
 
        }
 
        protected String doInBackground(String[] args) {
            try{
                URL url = new URL("http://test2.ru/index2.php");
 
                String _name = args[0];
                String _order_id = args[1];
                String _fromFirebaseId = args[2];
                Log.d("MyLOgs","name "+_name);
                Log.d("","order_id "+_order_id);
 
 
                JSONObject jsonObject = new JSONObject();
                jsonObject.put("name", _name);
                jsonObject.put("order_id", _order_id);
                jsonObject.put("fromFirebaseId", _fromFirebaseId);
 
 
                urlConnection = (HttpURLConnection) url.openConnection();
                urlConnection.setRequestProperty("Content-Type", "application/json");
                urlConnection.setRequestMethod("POST");
                urlConnection.setDoInput(true);
                urlConnection.setDoOutput(true);
                urlConnection.connect();
 
                bos = new BufferedOutputStream(urlConnection.getOutputStream());
                bos.write(jsonObject.toString().getBytes());
 
                String result = urlConnection.getResponseMessage();
                Log.d("", "server response: " + result);
            }//проверить, что вернет сервер
 
            catch(JSONException|MalformedURLException|ProtocolException e) {
                e.printStackTrace();
            }
            catch(IOException e){
 
            }
            finally {
                try{
                    bos.flush(); //очищает поток output-a
                    bos.close();
                }
                catch (IOException e){
 
                }
 
            }
        return null;
        }
        protected void onPostExecute(String result) {
            urlConnection.disconnect();
        }
 
    }

PHP
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
error_reporting(-1);
        ini_set('display_errors', 'On');
        
        $mysql_host="localhost"; //сервер
        $mysql_user="danil"; // пользователь
        $mysql_password="danil1213"; //пароль
        $database="android"; // название базы
    
        $name = $_POST['name'];
        $order_id = $_POST['order_id'];
        $fromFirebaseId = $_POST['fromFirebaseId'];
        
        
        
        require_once __DIR__ . '/firebase.php';
        require_once __DIR__ . '/push.php';
        
        $con = mysql_connect("$mysql_host", "$mysql_user", "$mysql_password") or die(mysql_error());
    $db=mysql_select_db("$database") or die(mysql_error());
 
 
    $result = mysql_query("INSERT INTO messages(name, order_id, fromFirebaseId) VALUES('$name', '$order_id', '$fromFirebaseId')");
    if ($result) {
        // successfully updated
        $response["success"] = 1;
        $response["message"] = "Product successfully updated.";
 
        echo json_encode($response);
    } else {
        $response["success"] = 0;
        $response["message"] = "Product not updated";       
        echo json_encode($response);
    }
Добавлено через 49 секунд
Если нашли ошибку, можете написать как будет правильно
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.05.2017, 16:37
Ответы с готовыми решениями:

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

Android Parse Json
Здравствуйте, я хочу, чтобы разобрать JSON * мой JSON является: { message: &quot;Magazines&quot;, magazines: , thumbnail:...

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

6
314 / 257 / 81
Регистрация: 31.10.2016
Сообщений: 619
08.05.2017, 19:57
Цитата Сообщение от danilshik Посмотреть сообщение
В android приложение формирую json файл
это вы делаете не так. вы на сервере просто принимаете key-value значения, а не json.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
                urlConnection.setRequestMethod("POST");
 
                urlConnection.setDoInput(true);
                urlConnection.setDoOutput(true);
 
                Map<String, String> params = new HashMap<>();
                params.put("name", name);
                params.put("order_id", orderId);
                params.put("fromFirebaseId", fromFirebaseId);
 
                OutputStream os = urlConnection.getOutputStream();
                BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(os, "UTF-8"));
                writer.write(getPostDataString(params));
                writer.flush();
                writer.close();
                os.close();
 
                urlConnection.connect();
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
private String getPostDataString(Map<String, String> params) throws UnsupportedEncodingException {
            StringBuilder result = new StringBuilder();
            boolean first = true;
            for(Map.Entry<String, String> entry : params.entrySet()){
                if (first)
                    first = false;
                else
                    result.append("&");
 
                result.append(URLEncoder.encode(entry.getKey(), "UTF-8"));
                result.append("=");
                result.append(URLEncoder.encode(entry.getValue(), "UTF-8"));
            }
 
            return result.toString();
        }
0
4 / 4 / 2
Регистрация: 04.04.2015
Сообщений: 186
08.05.2017, 23:44  [ТС]
Спасибо, а как можно с помощью Json?
0
314 / 257 / 81
Регистрация: 31.10.2016
Сообщений: 619
09.05.2017, 11:13
danilshik, тогда вопрос не в этом разделе, если вы хотите код сервера править. https://www.cyberforum.ru/php-beginners/ вам в помощь.
0
4 / 4 / 2
Регистрация: 04.04.2015
Сообщений: 186
09.05.2017, 11:42  [ТС]
вы не поняли, я про клиентскую часть, код формирования правильный?
Java
1
2
3
4
JSONObject jsonObject = new JSONObject();
                jsonObject.put("name", _name);
                jsonObject.put("order_id", _order_id);
                jsonObject.put("fromFirebaseId", _fromFirebaseId);
Добавлено через 12 секунд
json
0
314 / 257 / 81
Регистрация: 31.10.2016
Сообщений: 619
09.05.2017, 12:15
Цитата Сообщение от danilshik Посмотреть сообщение
код формирования правильный
да, правильный
0
4 / 4 / 2
Регистрация: 04.04.2015
Сообщений: 186
14.05.2017, 15:03  [ТС]
Чтобы не создавать новую тему
Имеется код
Кликните здесь для просмотра всего текста
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
public void onClick(View v) {
        switch (v.getId()) {
            case R.id.ButtonMessage:
                String method="addMessages";
                String name="Данил";
                String messages="Тестовое отправление";
                String order_id="1";
                String fromFirebaseId="f9AopqZ4mKI:APA91bFayy2W8mXf-TqIzdg4IJ4xMGMYW2r_Ppgkd8W7nKQ5MxgKDqkkaS-pHfxHXmH3v-pAXtiZSNSGHb2e2zuznlPyn14so8tcqvkg6Dl5WXm_aHe0qGVGx7Qt3-rj1JG15ji0B-rn";
                AddMessages addMessages=new AddMessages(this);
                addMessages.execute(method, name, messages, order_id, fromFirebaseId);
                break;
        }
class AddMessages extends AsyncTask<String, Void, String> {
 
        Context ctx;
        AddMessages(Context ctx){
            this.ctx=ctx;
        };
 
        @Override
        protected void onPreExecute() {
            super.onPreExecute();
 
        }
 
        protected String doInBackground(String... args) {
 
                String addMessages_url = "http://test2.ru/index2.php";
                String method=args[0];
                String name=args[1];
                String messages=args[2];
                String order_id=args[3];
                String fromFirebaseId=args[4];
 
            URL url = null;
            try {
                url = new URL(addMessages_url);
                HttpURLConnection httpURLConnection=(HttpURLConnection)url.openConnection();
                httpURLConnection.setRequestMethod("POST");
                httpURLConnection.setDoInput(true);
                httpURLConnection.setDoOutput(true);
                OutputStream OS = httpURLConnection.getOutputStream();
                BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(OS,"UTF-8"));
            String data=URLEncoder.encode("name","UTF-8")+"="+URLEncoder.encode(name,"UTF-8")+"&"+
                    URLEncoder.encode("messages","UTF-8")+"="+URLEncoder.encode(messages,"UTF-8")+"&"+
                    URLEncoder.encode("order_id","UTF-8")+"="+URLEncoder.encode(order_id,"UTF-8")+"&"+
                    URLEncoder.encode("fromFirebaseId","UTF-8")+"="+URLEncoder.encode(fromFirebaseId,"UTF-8");
                bufferedWriter.write(data);
                bufferedWriter.flush();
                bufferedWriter.close();
                OS.close();
                InputStream IS = httpURLConnection.getInputStream();
                IS.close();
                    return "Сообщение отправлено....";
 
 
 
            } catch (MalformedURLException e1) {
                e1.printStackTrace();
            } catch (IOException e1) {
                e1.printStackTrace();
 
 
            }
 
        return null;
        }
 
        protected void onPostExecute(String result) {
            Toast.makeText(ctx, result, Toast.LENGTH_LONG).show();
        }
 
    }

PHP
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
34
35
36
37
38
39
?php        
        $mysql_host="localhost"; //сервер
        $mysql_user="danil"; // пользователь
        $mysql_password="danil1213"; //пароль
        $database="android"; // название базы
    
        $name = $_POST['name'];
        $messages=$_POST['messages'];
        $order_id = $_POST['order_id'];
        $fromFirebaseId = $_POST['fromFirebaseId'];
        
        //$name = 'LFGUDFG';
        //$messages='SDFSDF';
        //$order_id = 'SDFSDFSDF';
        //$fromFirebaseId = 'SDFSDFSDF';
        
        
        
        require_once __DIR__ . '/firebase.php';
        require_once __DIR__ . '/push.php';
        
        $con = mysql_connect("$mysql_host", "$mysql_user", "$mysql_password") or die(mysql_error());
        
    $db=mysql_select_db("$database") or die(mysql_error());
 
 
    $result = mysql_query("INSERT INTO messages VALUES('$name', '$messages','$order_id', '$fromFirebaseId')");
    if ($result) {
        // successfully updated
        $response["success"] = 1;
        $response["message"] = "Product successfully updated.";
 
        echo json_encode($response);
    } else {
        $response["success"] = 0;
        $response["message"] = "Product not updated";       
        echo json_encode($response);
    }
?>
Не добавляется запись в БД, а понять в чем дело не пойму. Если в php изменить переменные на текст, до запись добавляется
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.05.2017, 15:03
Помогаю со студенческими работами здесь

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

JSON и Android: распарсить строку
Ребята помогите распарсить строку вида Делал так: public class JSON { private JSONObject jsonObject; ...

Android. Java. Парсинг. Json
Всем привет. В общем, проблема в следующем: нужно распарсить на андроиде json типа: {&quot;header&quot;: { &quot;param&quot;:...

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

Как встретить JSON из Android на сервере с PHP?
Привет, форумчане! Не могу понять как организовать встречу JSON на серваке с php, который приходит от Android приложения. Вот реализация...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача №1: при указании работ (справочник РаботыПоРемонтуСпецтехники),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru