Android 與 PHP 之間的交互通常通過 HTTP 請求來實現(xiàn)。在 Android 端,你可以使用 HttpURLConnection、Volley、Retrofit 等類庫來發(fā)起 HTTP 請求;而在 PHP 端,你需要創(chuàng)建一個服務(wù)器端腳本(例如使用 Apache 服務(wù)器或 Nginx 服務(wù)器)來處理這些請求并返回相應(yīng)的數(shù)據(jù)。
以下是一個簡單的 Android 與 PHP 交互的示例:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Thread(new Runnable() {
@Override
public void run() {
try {
URL url = new URL("https://yourserver.com/your_php_script.php");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.connect();
int responseCode = connection.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) {
BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream()));
StringBuilder response = new StringBuilder();
String responseLine;
while ((responseLine = br.readLine()) != null) {
response.append(responseLine);
}
connection.disconnect();
// 處理響應(yīng)數(shù)據(jù)
runOnUiThread(new Runnable() {
@Override
public void run() {
// 更新 UI 或處理響應(yīng)數(shù)據(jù)
}
});
}
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
}
}
your_php_script.php
)來處理請求并返回數(shù)據(jù):<?php
// 獲取請求參數(shù)
$param = isset($_GET['param']) ? $_GET['param'] : '';
// 處理數(shù)據(jù)(例如從數(shù)據(jù)庫中獲取數(shù)據(jù))
$data = array('key' => 'value');
// 設(shè)置響應(yīng)頭
header('Content-Type: application/json');
// 返回 JSON 數(shù)據(jù)
echo json_encode($data);
?>
在這個示例中,Android 端向 PHP 服務(wù)器發(fā)起一個 GET 請求,傳遞一個參數(shù) param
。PHP 服務(wù)器接收到請求后,處理數(shù)據(jù)并返回 JSON 格式的響應(yīng)。Android 端解析響應(yīng)數(shù)據(jù)并在 UI 上顯示。