使用我在Android中的php脚本来访问数据库


Using my php scripts in Android to access database

我需要一些重要的帮助来设置我的Android应用程序以向/从我的数据库添加/接收数据。我正在使用Amazon的RDS服务与xampp的phpMyAdmin相关联。我已经成功地将我的数据库实例连接到 phpMyAdmin 中的数据库。此外,我还编写了 php 脚本来执行 SQL 中的基本 CRUD(创建、读取、更新、删除)命令。我一直在遵循本教程。

对我来说的问题是,在他的教程中,他使用了这样的字符串:

private static String url_all_products = "http://api.androidhive.info/android_connect/get_all_products.php";

在调用 makeHttpRequest(url_all_products) 中运行他的 PHP 脚本。但是我没有自己的网站来做这件事,我很确定我不需要一个来做这件事。

接下来,我有一个 test.php 文件,它执行一个简单的 echo 语句,当我在 Web 浏览器中运行它时它可以工作:

http://localhost/phpfiles/test.php

这就引出了我的第二个问题。我不想使用localhost,因为我需要这些 php 文件和从数据库中检索数据的能力,以便任何使用我的应用程序的人都可以访问。这是我使用亚马逊RDS服务的唯一原因,因此可以在云上访问我的数据库。

那么,如何使用 Amazon RDS 提供给我的主机地址来访问数据库,以及在哪里存储所有 php 文件,以便我可以按照教程所示的方式在 Android 中正确使用它们呢?它们目前保存在 xampp/htdocs/phpfiles/ 中。

我觉得我错过了对这一切的一些基本理解,我做错了。如果有人能为我指出正确的方向,那将让我度过美好的一天。

听起来您根本不需要在本地计算机上安装 XAMPP。您将其托管在亚马逊上,并且希望它可以在互联网上使用,因此您的本地计算机不参与其中。您可以在本地使用 XAMPP 进行测试和开发,但对于生产用途,您将专门使用 Amazon RDS 云。

但是我没有自己的网站来做这件事,我很确定我不需要一个来做这件事。

您可能不想要一个网站,但您确实希望您的服务托管在互联网上。这就是您的 RDS 实例的用途,从技术上讲,本教程指的是恰好通过网页公开的 API。这比在端口 3306 上直接向互联网打开 MySQL 要好得多。

然后,您将使用您的亚马逊主机 - 您确实应该使用FQDN(例如api.example.com而不是IP地址),但IP地址从技术方面可以正常工作。

您引用的文件位于本地 XAMPP 安装中;位于 xampp/htdocs/phpfiles/ 文件夹中,并且需要位于 RDS 实例上。

然后,您的应用程序访问您在那些文件中公开的 API,这些 API 将信息返回您的应用程序。