我有一個 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
提交
取消