android 怎么使用SQLite存储数据
时间: 2024-09-20 21:06:36 浏览: 30
在Android中,SQLite是一种常用的本地数据库系统,可以用来存储应用程序的数据,而不是像SharedPreferences那样保存简单的键值对。以下是基本步骤:
1. **添加依赖**:首先,你需要在项目的build.gradle文件中添加sqlite-jdbc库作为依赖。
```gradle
dependencies {
implementation 'org.xerial:sqlite-jdbc:3.34.0'
}
```
2. **创建数据库连接**:在Application或Activity中初始化SQLiteOpenHelper,这是管理数据库版本升级的关键类。
```java
DatabaseHelper dbHelper = new DatabaseHelper(context);
Connection conn = dbHelper.getWritableDatabase();
```
3. **创建表**:通过SQL命令创建数据库表,例如创建一个用户表。
```java
String createTableQuery = "CREATE TABLE IF NOT EXISTS Users (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, email TEXT)";
conn.execSQL(createTableQuery);
```
4. **插入数据**:使用PreparedStatement避免SQL注入风险,并确保数据安全。
```java
String insertQuery = "INSERT INTO Users (name, email) VALUES (?, ?)";
PreparedStatement pstmt = conn.prepareStatement(insertQuery);
pstmt.setString(1, "John Doe");
pstmt.setString(2, "john.doe@example.com");
pstmt.executeUpdate();
```
5. **查询数据**:同样使用PreparedStatement查询数据,处理结果集。
```java
String selectQuery = "SELECT * FROM Users WHERE id=?";
pstmt.setInt(1, 1); // 查询id为1的用户
ResultSet resultSet = pstmt.executeQuery();
while (resultSet.next()) {
String name = resultSet.getString("name");
String email = resultSet.getString("email");
// ...处理查询结果
}
```
6. **关闭资源**:记得在完成操作后关闭连接、声明符等资源。
```java
resultSet.close();
pstmt.close();
conn.close();
```