Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.89
PeterBox
0 / 0 / 0
Регистрация: 08.02.2013
Сообщений: 8
#1

использование JSON и PHP - Android

17.07.2013, 19:58. Просмотров 2315. Ответов 2
Метки нет (Все метки)

Разбираюсь с использованием в приложении баз данных с помощью JSON и PHP. В данной области - новичек. Требуется прочитать данные с MySQL, обработать их и вернуть на сервер новые или измененные данные. Нашел пример http://www.androidhive.info/2012/05/...ith-php-mysql/. Если кратко, то его суть сводится к тому, что в activity формируется массив параметр/значение, передается в PHP, в котором уже формируется запрос к MySQL и который может вернуть другой массив параметр/значение для дальнейшей работы activity. Пример заработал, начал решать свою задачу и уперся во внесение изменений, после редактирования одновременно нескольких таблиц сразу. Вопрос: как передать в PHP сразу всю необходимую информацию, т.е. по родительской и дочерним таблицам одним вызовом? Может концептуально меня не туда занесло?
Так в примере формируются и передаются в PHP параметры для одной записи:
Java
1
2
3
4
5
6
7
8
9
10
           // Building Parameters
            List<NameValuePair> params = new ArrayList<NameValuePair>();
            params.add(new BasicNameValuePair(TAG_PID, pid));
            params.add(new BasicNameValuePair(TAG_NAME, name));
            params.add(new BasicNameValuePair(TAG_PRICE, price));
            params.add(new BasicNameValuePair(TAG_DESCRIPTION, description));
         // sending modified data through http request
            // Notice that update product url accepts POST method
            JSONObject json = jsonParser.makeHttpRequest(url_update_product,
                    "POST", params);
Как правильно в этот массив params записать информацию по записи из родительской таблицы, нескольким записям дочерней, и дать это понять PHP?
принимающий скрипт:
Кликните здесь для просмотра всего текста
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
40
41
42
43
44
45
46
47
<?php
 
/*
 * Following code will update a product information
 * A product is identified by product id (pid)
 */
 
// array for JSON response
$response = array();
 
// check for required fields
if (isset($_POST['pid']) && isset($_POST['name']) && isset($_POST['price']) && isset($_POST['description'])) {
 
    $pid = $_POST['pid'];
    $name = $_POST['name'];
    $price = $_POST['price'];
    $description = $_POST['description'];
 
    // include db connect class
    require_once __DIR__ . '/db_connect.php';
 
    // connecting to db
    $db = new DB_CONNECT();
 
    // mysql update row with matched pid
    $result = mysql_query("UPDATE products SET name = '$name', price = '$price', description = '$description' WHERE pid = $pid");
 
    // check if row inserted or not
    if ($result) {
        // successfully updated
        $response["success"] = 1;
        $response["message"] = "Product successfully updated.";
 
        // echoing JSON response
        echo json_encode($response);
    } else {
 
    }
} else {
    // required field is missing
    $response["success"] = 0;
    $response["message"] = "Required field(s) is missing";
 
    // echoing JSON response
    echo json_encode($response);
}
?>

Может где-то уже было, не нашел. Направьте, пожалуйста, в нужном направлении.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.07.2013, 19:58     использование JSON и PHP
Посмотрите здесь:

Android Массив из json
Android Создать JSON
Android C JSON в ListView
Android Ошибка - Errororg.json.JSONExceprion: Value bd.json of type java.lang.String cannot be converted to JSONObject
Android JSON parser
Обработка Json Android
Android Как встретить JSON из Android на сервере с PHP?
Неверный JSON Android
Android JSON
Функция возврата JSON PHP Android
Android JSON и Андроид
Парсинг Json Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Wenceslaus
Android Developer
129 / 129 / 4
Регистрация: 05.07.2013
Сообщений: 205
18.07.2013, 11:16     использование JSON и PHP #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от PeterBox Посмотреть сообщение
List<NameValuePair> params = new ArrayList<NameValuePair>();
Это хорошо ровно до тех пор, пока вы передаёте небольшое количество данных. Когда данных много, лучше строить "общение" сервера и клиента через json'ы. Для Android есть библиотека, которая преобразовывает модели данных (тут могут быть просто поля, массивы, массивы других моделей) в json строку.
Java
1
String json = new Gson().toJson(dataModel);
Передавать на сервер тоже не сложно:
Java
1
2
3
4
HttpPost httpPost = new HttpPost(url);
HttpEntity entity = new StringEntity(json, HTTP.UTF_8);
httpPost.addHeader("Content-type", "application/json");
httpPost.setEntity(entity);
Принимать данные (json) с сервера можно тоже через Gson:
Java
1
DataModel model = (DataModel) new Gson().fromJson(jsonResponse, DataModel.class);
Теперь что касается сервера:
PHP
1
2
$input = json_decode(file_get_contents('php://input'), true); //принимаем json
var_dump($input); //преобразовываем в массив данных (если нужно)
Остаётся данные из ассоциативного $input сохранить в базе.

Если вкратце, то всё.
PeterBox
0 / 0 / 0
Регистрация: 08.02.2013
Сообщений: 8
18.07.2013, 12:02  [ТС]     использование JSON и PHP #3
Спасибо, буду разбираться.
Yandex
Объявления
18.07.2013, 12:02     использование JSON и PHP
Ответ Создать тему
Опции темы

Текущее время: 09:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru