【问题标题】:How to get data from MySQL database to Android app [closed]如何从 MySQL 数据库获取数据到 Android 应用程序 [关闭]
【发布时间】:2014-04-07 20:19:12
【问题描述】:

从我的 android 应用程序中,我想从我的表中获取一些数据,其中包含我的在线 MySQL 数据库中的两列。有人可以向我解释如何编写 PHP 脚本或我需要的东西,通过从我的数据库中获取一些值并将其返回到我的应用程序来响应来自我的 Android 应用程序的调用吗?然后如何从我的应用程序中调用该函数以及如何处理(保存在我的应用程序中)返回的数据?提前非常感谢!

【问题讨论】:

  • 没有人会为您编写代码,请向我们展示您迄今为止所做的尝试。
  • 好吧,除了我试图分析这个例子basic4ppc.com/android/forum/threads/…,我还没有尝试任何东西,但我不明白如何让 PHP 代码响应我来自 Android 应用程序的 HttpPost 调用。

标签: php android mysql database communication


【解决方案1】:

Android 框架没有内置的 MySQL 连接器,甚至不鼓励为此使用外部 jar。实现此目的的最佳方式是通过远程服务器中的 Web 服务,因此您无需将直接 MySQL 查询发送到数据库,而是将 HTTP POST 发送到远程 Web 服务器(例如,用 PHP、Python 或其他语言编写)你想要),这将连接到本地数据库并进行查询。

我认为this example 可能会对您有所帮助。

【讨论】:

  • 我已经尝试过这个例子,但我不明白从哪里以及如何调用这个 PHP 脚本。我知道在 Android 中使用 HttpPost,但我不知道如何在 PHP 脚本中处理它。如何将数据库中的数据返回给Android应用?
  • 您应该有一个用您最喜欢的语言(在本例中为 PHP)编写的远程服务器,它将充当您的 Android 应用程序和数据库之间的中介。因此,从您的 Android 应用程序中,您通过 HTTP POST 请求将一些代码发送到远程服务器,服务器执行该代码的操作(例如,从数据库中提取一些值)并通过 echo 将其写入,因此您的 Android app 可以检索该值。这是基本架构。
  • 不,在该脚本中,您将定义如何处理该请求。例如,您可以添加一个名为codePOST 条目,当code 的值为giveMeTheRows 时,您的PHP 脚本将连接到您的本地数据库,获取您需要的所有行并将它们放入标准输出(例如,通过echo 或通过json_encode())。
  • 就是这样。要发送 HTTP POST 请求,请遵循以下 sn-p:androidsnippets.com/…
  • 你可以随意调用它,但是如果你像code一样发送它,你必须像$_POST['code']一样收集它。因此,如果您获得该 var 并且它在您的脚本中对您具有特定含义,您可以告诉它执行您需要的任何操作并返回一个响应,您稍后将在您的 Android 应用程序中将其处理为响应。
【解决方案2】:

当你向 php 脚本发出 http 请求时,你会根据你发送的方法,GET 或 POST 来处理请求。所以例如

$id=$_POST['id'];

您可以从那里执行任何服务器端查询以获取所需的信息。完成后,只需回显响应即可。我建议使用 JSON 作为格式,因为它更容易处理。

echo json_encode(array('success'=>true,'data'=>$data));

【讨论】:

  • $id=$_POST['id']; 的这一行是什么?
  • 捕获您可能想要发送到服务器的任何数据。
【解决方案3】:

你可以扩展SQLiteOpenHelper类来编写你自己的sqlite帮助接口。

尝试在 Android 网站 here 上学习一些教程。

或遵循简洁的教程here from vogella

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-12
    • 2012-12-15
    • 2019-01-17
    • 1970-01-01
    • 2012-11-20
    • 2013-10-27
    • 2020-03-26
    • 2016-10-15
    相关资源
    最近更新 更多