0

在我的 android 应用程序中,我在 mysql 数据库中查询特定的食物 ID。

例子:

Food A - (food_id 5)

食物 A 是三个食物组的一部分,每个组都有自己的唯一 ID。

例子:

Meal A - (meal_id = 3), 
Meal B - (meal_id = 8),
Meal C - (meal_id = 20)

我目前正在通过 php 连接到 mysql 数据库,并且可以成功查询有问题的 food_id 并将 JSON 响应接收到我的 android 应用程序中。

我被困住了如何通过 php/JSON 将其传回以创建三个 mysql 行(每餐返回一个),其中将包括在一些新字段中添加的一些额外信息。最好通过将数组从 android 传递到我的 php 服务来为我服务吗?这看起来如何?

4

3 回答 3

0

您可以使用HTTPClient将数据发送到您的 PHP 文件

这是一个简单的例子:

    url = "http://10.0.218.211/post.php"; 

HttpClient httpclient = new DefaultHttpClient();  
HttpPost post = new HttpPost(url);  

try {  

        List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);  
        nameValuePairs.add(new BasicNameValuePair("meal1", "important message 1"));  
        nameValuePairs.add(new BasicNameValuePair("meal2", "important message 2"));
        post.setEntity(new UrlEncodedFormEntity(nameValuePairs));  

        // Execute HTTP Post Request  
        HttpResponse response = httpclient.execute(post);  

        } catch (ClientProtocolException e) {  
        // TODO Auto-generated catch block  
        } catch (IOException e) {  
        // TODO Auto-generated catch block  
        }
  }

AndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET"></uses-permission>

post.php

<?php

$meal1 = $_POST['meal1'];
$meal2 = $_POST['meal2'];

?>
于 2012-12-01T01:33:13.260 回答
0

听起来您需要设计某种 API。典型的选项是 SOAP 或 REST 的实现。由于 SOAP 有很多开销,您可以选择为您的系统创建一个 REST 接口。我只是猜测,但这样的 API 调用可能有意义:

POST /user/meal

使用包含以下表单字段的表单: userId - 为膳食创建膳食计划的用户 ID - 以逗号分隔的膳食列表,或者数组元素

您的 PHP 脚本只需要从 $_POST 获取 POST 参数、插入适当的行并返回有效的 HTTP 状态代码。

于 2012-12-01T01:34:36.473 回答
0

只需使用 anHttpClient向您要处理传入数据的 PHP 应用程序端点发出请求,在服务器上发布您要使用的数据。您可以以任何适合您的格式发布 - 查询字符串、JSON 等。

于 2012-12-01T01:36:53.997 回答