我有一个 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);
1 回答
开满天机
TA贡献1786条经验 获得超13个赞
这是通过 API 做到这一点的正确方法。
Frontend Application (Android, iOS, browser) <-> API <-> Backend
您可以直接连接到数据库,但不应该。为此,您必须在应用程序中输入用户名和密码。这样做,你如何防止用户连接你的数据库并改变他们想要的一切?反对这种方法的观点还有很多。
寻找REST APIs
,或者也许GraphQL
。
添加回答
举报
0/150
提交
取消