Android 与 PHP 之间的交互通常通过 HTTP 请求来实现。在 Android 端,你可以使用 HttpURLConnection、Volley、Retrofit 等类库来发起 HTTP 请求;而在 PHP 端,你需要创建一个服务器端脚本(例如使用 Apache 服务器或 Nginx 服务器)来处理这些请求并返回相应的数据。
以下是一个简单的 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();
// 处理响应数据
runOnUiThread(new Runnable() {
@Override
public void run() {
// 更新 UI 或处理响应数据
}
});
}
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
}
}
your_php_script.php
)来处理请求并返回数据:<?php
// 获取请求参数
$param = isset($_GET['param']) ? $_GET['param'] : '';
// 处理数据(例如从数据库中获取数据)
$data = array('key' => 'value');
// 设置响应头
header('Content-Type: application/json');
// 返回 JSON 数据
echo json_encode($data);
?>
在这个示例中,Android 端向 PHP 服务器发起一个 GET 请求,传递一个参数 param
。PHP 服务器接收到请求后,处理数据并返回 JSON 格式的响应。Android 端解析响应数据并在 UI 上显示。