阅读量:0
在Android应用程序中查询MySQL数据库,你需要遵循以下步骤:
(图片来源网络,侵删)1、设置MySQL数据库: 你需要在你的服务器上设置一个MySQL数据库,这将是你想要从你的Android应用程序查询的数据的来源。
2、设置PHP脚本: 你需要创建一个PHP脚本来处理来自Android应用程序的请求,这个脚本将接收来自应用程序的请求,查询MySQL数据库,然后将结果发送回应用程序。
3、创建Android应用程序: 在你的Android应用程序中,你需要使用HttpURLConnection或者OkHttp等库来发送HTTP请求到你的PHP脚本,你需要解析返回的JSON数据并在你的应用程序中显示它。
以下是一个简单的示例:
1. 设置MySQL数据库
假设你已经在服务器上设置了MySQL数据库,并且有一个名为users
的表,其中包含id
,name
和email
字段。
2. 设置PHP脚本
在你的服务器上,创建一个名为get_user.php
的文件,并添加以下代码:
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // 创建连接 $conn = new mysqli($servername, $username, $password, $dbname); // 检查连接 if ($conn>connect_error) { die("连接失败: " . $conn>connect_error); } // 获取用户ID $user_id = $_POST['user_id']; $sql = "SELECT name, email FROM users WHERE id = '".$user_id."'"; $result = $conn>query($sql); if ($result>num_rows > 0) { // 输出数据为JSON格式 while($row = $result>fetch_assoc()) { echo json_encode($row); } } else { echo "0 results"; } $conn>close(); ?>
3. 创建Android应用程序
在你的Android应用程序中,你可以使用以下代码来发送HTTP请求并解析返回的JSON数据:
import android.os.AsyncTask; import org.json.JSONException; import org.json.JSONObject; 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 GetUser().execute("http://yourserver.com/get_user.php"); } private class GetTher extends AsyncTask<String, Void, String> { @Override protected String doInBackground(String... urls) { StringBuilder result = new StringBuilder(); try { URL url = new URL(urls[0]); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("POST"); conn.setDoOutput(true); conn.setDoInput(true); conn.connect(); BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream())); String line; while ((line = reader.readLine()) != null) { result.append(line); } reader.close(); } catch (Exception e) { e.printStackTrace(); } return result.toString(); } @Override protected void onPostExecute(String result) { try { JSONObject jsonObject = new JSONObject(result); String name = jsonObject.getString("name"); String email = jsonObject.getString("email"); // 在这里更新你的UI } catch (JSONException e) { e.printStackTrace(); } } } }
注意:这只是一个基本的示例,你可能需要根据你的具体需求进行修改,你可能需要处理网络错误,或者在查询数据库时使用更复杂的SQL语句。