📅  最后修改于: 2023-12-03 14:39:10.825000             🧑  作者: Mango
Android-PHP MYSQL是一种常见的解决方案,用于将Android应用程序与服务器端的PHP代码和MYSQL数据库集成在一起。结合使用这三种技术可以创建很多种基于网络的Android应用程序,因为它们允许我们处理数据库中的数据,同时展示这些数据到Android屏幕上。
Android是一个移动操作系统,被广泛应用于智能手机、平板电脑和其他移动设备。Android使用Java进行编程,可以创建强大的移动应用程序。
PHP是一种服务器端的脚本语言,一种开源的脚本语言。它可以运行在web服务器上,生成动态的web页面。PHP可执行查询和更新MYSQL数据库。
MYSQL是一个开源的关系型数据库管理系统,被广泛应用于互联网应用程序的数据存储。MYSQL使用SQL(结构化查询语言)来交互数据。
以下是一个简单的PHP文件,它将数据插入MYSQL数据库,并返回一个成功或失败的JSON响应。
<?php
header('Content-type: application/json');
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接状态
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// 定义插入数据的变量
$name = $_POST['name'];
$email = $_POST['email'];
// 在表中插入数据
$sql = "INSERT INTO users (name, email) VALUES ('$name', '$email')";
if ($conn->query($sql) === TRUE) {
echo '{"success": true, "msg": "Data inserted successfully."}';
} else {
echo '{"success": false, "msg": "Error: ' . $sql . '<br>' . $conn->error . '"}';
}
$conn->close();
?>
以下是一个用于访问PHP文件的Java类。
public class HttpHandler {
private static final String TAG = HttpHandler.class.getSimpleName();
public HttpHandler() {
}
public String makeServiceCall(String reqUrl) {
String response = null;
try {
URL url = new URL(reqUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
// 读取响应
InputStream in = new BufferedInputStream(conn.getInputStream());
response = convertStreamToString(in);
} catch (MalformedURLException e) {
Log.e(TAG, "MalformedURLException: " + e.getMessage());
} catch (IOException e) {
Log.e(TAG, "IOException: " + e.getMessage());
} catch (Exception e) {
Log.e(TAG, "Exception: " + e.getMessage());
}
return response;
}
// 将InputStream转换为String
private String convertStreamToString(InputStream is) {
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
StringBuilder sb = new StringBuilder();
String line;
try {
while ((line = reader.readLine()) != null) {
sb.append(line).append('\n');
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return sb.toString();
}
}
Android-PHP MYSQL是一种基于网络的解决方案,允许我们从MYSQL数据库中查询和更新数据,并将数据展示到移动设备的屏幕上。学习这种技术可以创建很多种有用的Android应用程序。