【问题标题】:Sending and Receiving data with MySQL + Android使用 MySQL + Android 发送和接收数据
【发布时间】:2011-10-24 06:00:53
【问题描述】:

我的服务器上有一个 MySQL 数据库。我需要我的 android 应用来做两件事。

  1. Android 应用需要发送 3 个不同的整数。 MySQL 数据库中已经设置了这些数据类型。我猜我需要编写一个 PHP 脚本并基本上让 Android 执行它,对吗?

  2. 然后数据库需要将浮点数和整数发送回 Android 应用程序。再一次,我猜这也需要一个由 Android 执行的 PHP 脚本。

我不熟悉在 Android 中使用 PHP 和远程数据库,因此非常感谢任何帮助。

【问题讨论】:

  • 您需要公开一个服务来侦听并等待这些参数到达。我会制作一个 PHP 页面,从 URL 中获取这些参数并处理它们,无论如何我也不熟悉 PHP,但应该不那么难。然后,您应该必须从 Android 设备传递那些动态构建 URL 的参数。可能是一个起点......

标签: php android mysql database


【解决方案1】:

如果您只是进行 INSERT,这真的很简单。

在 Android 应用程序中这样设置:

try{
            HttpClient httpclient = new DefaultHttpClient();
            HttpPost httppost = new HttpPost("http://example.com/insert.php?i="+cUser.getUserId());
            HttpResponse response = httpclient.execute(httppost);

    }catch(Exception e){
            Log.e("log_tag", "Error in http connection "+e.toString());
    }

其中 cUser.getUserId() 是您要作为 $_GET['i'] 变量传递给 insert.php 的整数。

【讨论】:

    【解决方案2】:

    除了通过 PHP/Web 服务器建立隧道,您还可以直接调用 mySQL DB - 如果 DB 安装在具有外部 IP(我猜是)的服务器上,并且 mySQL 配置为从外面的世界。您可以直接使用JDBC,也可以使用一些框架连接到数据库。

    使用以下 JDBC 字符串(另请参阅 here):

    jdbc:mysql://<yourhost>:<yourport>/<yourdatabase>
    

    标准端口是 3306。

    您可能需要在 mySQL 中启用网络;见here

    在这种情况下,您根本不需要 PHP 或 Web 服务器。说了这么多,从长远来看,如果您尝试在服务器上编写具有某些逻辑的应用程序,那么中间层(即 PHP/Web 服务器)可能就是您所追求的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-13
      • 1970-01-01
      • 1970-01-01
      • 2011-08-06
      • 2020-02-09
      • 2019-09-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多