Android 中如何使用 Volley 和 PHP 作为中间层链接 MySQL 数据库
在中链接MySQL数据库,一般须要使用到JDBC驱动或则第三方库,这儿我们以使用和PHP作为中间层来实现这个功能为例。
(图片来源网路,侵删)
步骤如下:
1、创建PHP脚本联接MySQL数据库
2、在中使用库调用PHP脚本
3、解析返回的JSON数据
1.创建PHP脚本联接MySQL数据库
我们须要在服务器端创建一个PHP脚本来联接MySQL数据库,这个脚本将接收来自应用的恳求,之后查询数据库并返回结果。
<pre class="brush:php;toolbar:false”>
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检测连接
if ($conn>connect_error) {
die(“连接失败: ” . $conn>connect_error);
}
$sql = “SELECT id, firstname, lastname FROM MyGuests”;
$result = $conn>query($sql);
$response = array();
if ($result>num_rows > 0) {
// 输出每行数据
while($row = $result>fetch_assoc()) {
$response[] = array(‘id’=>$row[‘id’], ‘firstname’=>$row[‘firstname’], ‘lastname’=>$row[‘lastname’]);
}
} else {
echo “0 结果”;
}
echo json_encode($response);
$conn>close();
?>
2.在中使用库调用PHP脚本
在应用中,我们可以使用库来发送HTTP恳求,须要在项目的build.文件中添加依赖:
dependencies { ... implementation 'com.android.volley:volley:1.2.1'}
我们可以创建一个,并使用来发送恳求:
RequestQueue queue = Volley.newRequestQueue(this);String url ="http://www.yourwebsite.com/script.php";StringRequest stringRequest = new StringRequest(Request.Method.GET, url, new Response.Listener() { @Override public void onResponse(String response) { // 处理响应 } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { // 处理错误 } });queue.add(stringRequest);
3.解析返回的JSON数据
在前面的方式中,我们可以解析返回的JSON数据,这儿我们使用org.json库来解析JSON:
import org.json.JSONArray;import org.json.JSONObject;...@Overridepublic void onResponse(String response) { JSONArray jsonArray = null; try { jsonArray = new JSONArray(response); for (int i = 0; i < jsonArray.length(); i++) { JSONObject obj = jsonArray.getJSONObject(i); String id = obj.getString("id"); String firstname = obj.getString("firstname"); String lastname = obj.getString("lastname"); // 使用这些数据更新UI或执行其他操作 } } catch (JSONException e) { e.printStackTrace(); }}
以上就是在中链接MySQL数据库的基本步骤,注意,这只是一种可能的实现方法,实际的实现可能会按照你的具体需求和环境有所不同。