Android数据库插入数据
时间: 2024-08-12 09:08:49 浏览: 55
在Android中,SQLite是最常用的本地数据库管理系统,用于存储应用程序的数据。插入数据通常涉及到以下几个步骤:
1. **创建数据库和表**:首先,你需要通过`SQLiteOpenHelper`类创建一个数据库和表。这个类负责数据库的打开、关闭以及版本管理。例如,创建一个简单的用户表(users):
```java
public class DatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "my_database";
private static final int DATABASE_VERSION = 1;
private static final String TABLE_USERS = "users";
private static final String COLUMN_ID = "id";
private static final String COLUMN_NAME = "name";
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
String createTableQuery = "CREATE TABLE " + TABLE_USERS + " (" +
COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
COLUMN_NAME + " TEXT)";
db.execSQL(createTableQuery);
}
// ... 其他方法如onUpgrade等
}
```
2. **获取数据库实例**:在需要操作数据库的地方,从`DatabaseHelper`中获取`SQLiteDatabase`对象。
```java
DatabaseHelper dbHelper = new DatabaseHelper(context);
SQLiteDatabase db = dbHelper.getWritableDatabase();
```
3. **插入数据**:使用`insert()`或`insertWithOnConflict()`方法插入新记录。例如,插入一个新的用户:
```java
ContentValues contentValues = new ContentValues();
contentValues.put(COLUMN_NAME, "John Doe");
long newRowId = db.insert(TABLE_USERS, null, contentValues);
```
4. **处理结果**:`insert()`方法会返回新插入的行的ID,如果插入成功,`newRowId`将是正数。如果不希望处理自动增长的ID,可以设置第二个参数为` SQLiteDatabase.CONFLICT_IGNORE`等模式。
5. **关闭连接**:完成操作后别忘了关闭数据库连接:
```java
db.close();
```
阅读全文