Android 中如何使用 Volley 和 PHP 作为中间层链接 MySQL 数据库

在中链接MySQL数据库,一般须要使用到JDBC驱动或则第三方库,这儿我们以使用和PHP作为中间层来实现这个功能为例。

android 链接mysql数据库_Android

(图片来源网路,侵删)

步骤如下:

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数据库的基本步骤,注意,这只是一种可能的实现方法,实际的实现可能会按照你的具体需求和环境有所不同。

相关新闻

QQ渠道

技术支持:QQ2854399

关注公众号
关注公众号
微信客服
返回顶部