如何将Android应用连接到MySQL数据库?

65

我已经建立了一个使用mysql数据库的网站。我想知道如何将我的应用程序连接到该数据库。

我想要实现的是,我的应用程序应该发出请求来查找特定“ID”或名称的表。该表包含指向图像或图像名称的链接。我希望应用程序检索这些图像并在Android应用程序上显示它们。

有哪些方法可以实现这个目标?我能使用PHP开发Android应用吗?


1
你的Android应用将使用Java编写。个人而言,我发现最好也用Java编写我的服务器端(代码可以共享)。 - Tom
这里的数据是从后端数据库中填充的,使用PHP和MySQL连接Android应用程序到数据库。 - SRBhagwat
4个回答

22

Android默认不支持MySQL。通常访问数据库的方式是在其前面放一个Restful服务器,使用HTTPS协议连接到Restful前端。

看一下ContentProvider。它通常用于访问本地数据库(SQLite),但也可以用于从任何数据存储中获取数据。

我建议您考虑在本地拥有所有或部分网站数据的副本,这样当Android设备没有连接时,您的应用程序仍然可以正常工作。如果您选择这条路线,则可以使用服务来保持两个数据库同步。


8
通过使用 Web 服务的方式,可以在 PHP 或其他语言中编写 Web 服务方法。从您的 Android 应用程序中,通过使用 HTTP 客户端请求和响应,您可以访问 Web 服务方法,该方法将返回您想要的任何内容。
对于 PHP,您可以像这样创建 Web 服务。假设我们在服务器上有一个 PHP 文件,并且文件的路由为 yourdomain.com/api.php
if(isset($_GET['api_call'])){
    switch($_GET['api_call']){
       case 'userlogin':
           //perform your userlogin task here
       break; 
    }
}

现在你可以使用Volley或Retrofit向上述PHP脚本发送网络请求,实际上PHP脚本将处理数据库操作。
在这种情况下,PHP脚本被称为RESTful API。
您可以从此教程学习MySQL的所有操作。Android MySQL Tutorial to Perform CRUD

3
是的,您可以将您的安卓应用连接到 PHP,以从数据库中获取结果。使用 web 服务通过 ASYNC 任务和 http POST 请求连接到后端脚本。请查看此链接以获取更多信息: 连接 MySQL 数据库

2
使用Android Volley,它非常快速,可以更好地操作请求。基本上,您将创建一个具有键值参数的映射,用于PHP请求(POST/GET),PHP将执行所需的处理,并将数据作为JSON(json_encode())返回。然后,您可以根据需要解析JSON,或者使用来自Google的GSON让其进行解析。 在Volley中发送POST请求并在PHP中接收

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接