gpt4 book ai didi

java - 如何通过 Android 应用程序与外部 SQL 数据库通信?

转载 作者:太空宇宙 更新时间:2023-11-03 11:25:30 24 4
gpt4 key购买 nike

我有一个 Android 应用程序,它通过 PHP 脚本写入/读取外部 SQL 数据库。数据库和 PHP 脚本都托管在 Amazon Web Services (AWS) 上。应用向PHP脚本发送HTTP请求,PHP脚本与数据库通信。

是否有更简单的方法将应用程序与数据库连接起来?我觉得这种方法有点hacky。或者这是如何完成的?是否可以完全避免 PHP 脚本,而仅通过应用程序中的 Java 与数据库通信?

下面是获取数据库中所有内容的代码。

PHP脚本:

$servername = "";
$username = "";
$password = "";

$conn = mysqli_connect($servername, $username, $password);

if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}

$sql = "SELECT * FROM table";
$result = $conn->query($sql);

if($result->num_rows > 0){
while($row = $result->fetch_assoc()){
echo "rowname1: " . $row["rowname1"]. " rowname2: " . $row["rowname2"] . "\n";
}
} else {
echo "0 results";
}

$conn->close();

Java代码:

requestQueue = Volley.newRequestQueue(this);
String url = "";
StringRequest stringRequest = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
textDatabase.setText(response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
textDatabase.setText(error.toString());
}
});

requestQueue.add(stringRequest);

最佳答案

这是通过 API 执行此操作的正确方法。

Frontend Application (Android, iOS, browser) <-> API <-> Backend

您可以直接连接到数据库,但您不应该这样做。为此,您必须在应用程序中输入用户名和密码。这样做,您如何防止用户连接到您的数据库并更改他们想要的一切?反对这种方法的观点还有很多。

寻找 REST APIs,或者可能是 GraphQL

关于java - 如何通过 Android 应用程序与外部 SQL 数据库通信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54708005/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com