安卓连接mysql,查找goods表里的name,price,cover并显示到list
时间: 2023-06-26 20:09:32 浏览: 80
要在安卓应用程序中连接 MySQL 数据库,可以使用以下步骤:
1. 在应用程序的 build.gradle 文件中添加以下依赖项:
```
dependencies {
implementation 'mysql:mysql-connector-java:8.0.23'
}
```
2. 在 AndroidManifest.xml 文件中添加以下权限:
```
<uses-permission android:name="android.permission.INTERNET" />
```
3. 创建一个 AsyncTask 类来连接 MySQL 数据库,并执行查询操作。以下是一个示例代码:
```
private class LoadData extends AsyncTask<Void, Void, Void> {
private ArrayList<String> names = new ArrayList<>();
private ArrayList<String> prices = new ArrayList<>();
private ArrayList<String> covers = new ArrayList<>();
@Override
protected Void doInBackground(Void... voids) {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://hostname:port/database", "username", "password");
Statement st = con.createStatement();
ResultSet rs = st.executeQuery("SELECT name, price, cover FROM goods");
while (rs.next()) {
names.add(rs.getString("name"));
prices.add(rs.getString("price"));
covers.add(rs.getString("cover"));
}
con.close();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
// 将 name,price,cover 显示到 list
}
}
```
在 `doInBackground` 方法中,我们连接到 MySQL 数据库,并执行查询操作。查询结果存储在 `names`、`prices` 和 `covers` 数组列表中。
在 `onPostExecute` 方法中,我们将查询结果显示到列表中,可以使用 `ArrayAdapter` 或自定义适配器来实现。以下是一个示例代码:
```
ArrayAdapter adapter = new ArrayAdapter(MainActivity.this, android.R.layout.simple_list_item_1, names);
listView.setAdapter(adapter);
```
其中 `listView` 是列表视图控件。
注意:上述代码仅用于演示如何连接 MySQL 数据库和显示查询结果,实际应用程序中需要进行错误处理、线程管理等操作。
阅读全文