Android studio 创建一个sqlite数据库 并实现增删改查功能
时间: 2023-06-27 13:00:55 浏览: 574
首先,我们需要在 Android Studio 中创建一个 SQLite 数据库。
1. 在项目中创建一个新的文件夹,命名为“database”或者其他你喜欢的名称。
2. 在该文件夹下创建一个新的类,命名为“DatabaseHelper”。
3. 在该类中,继承“SQLiteOpenHelper”类,并重写“onCreate”和“onUpgrade”方法。
```java
public class DatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "myDatabase.db";
private static final int DATABASE_VERSION = 1;
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
// 创建表格
String sql = "CREATE TABLE IF NOT EXISTS student ("
+ "_id INTEGER PRIMARY KEY AUTOINCREMENT, "
+ "name TEXT, "
+ "age INTEGER)";
db.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// 更新表格
String sql = "DROP TABLE IF EXISTS student";
db.execSQL(sql);
onCreate(db);
}
}
```
在这个例子中,我们创建了一个名为“myDatabase.db”的数据库,以及一个名为“student”的表格(包含三个字段:_id、name、age)。如果该表格不存在,则在“onCreate”方法中创建该表格。如果该表格已经存在,但版本号发生了变化,则在“onUpgrade”方法中更新该表格。
接下来,我们需要创建一个“DataHelper”类来实现数据库的增删改查功能。
```java
public class DataHelper {
private DatabaseHelper dbHelper;
private SQLiteDatabase db;
public DataHelper(Context context) {
dbHelper = new DatabaseHelper(context);
db = dbHelper.getWritableDatabase();
}
public void insert(String name, int age) {
ContentValues cv = new ContentValues();
cv.put("name", name);
cv.put("age", age);
db.insert("student", null, cv);
}
public void update(int id, String name, int age) {
ContentValues cv = new ContentValues();
cv.put("name", name);
cv.put("age", age);
db.update("student", cv, "_id = ?", new String[] { String.valueOf(id) });
}
public void delete(int id) {
db.delete("student", "_id = ?", new String[] { String.valueOf(id) });
}
public Cursor queryAll() {
Cursor cursor = db.query("student", null, null, null, null, null, null);
return cursor;
}
public Cursor queryById(int id) {
Cursor cursor = db.query("student", null, "_id = ?", new String[] { String.valueOf(id) }, null, null, null);
return cursor;
}
public void close() {
db.close();
dbHelper.close();
}
}
```
在这个例子中,我们创建了一个“DataHelper”类,用于实现增删改查功能。我们在该类中创建了以下方法:
1. “insert”方法:用于向表格中插入数据。
2. “update”方法:用于更新表格中的数据。
3. “delete”方法:用于删除表格中的数据。
4. “queryAll”方法:用于查询表格中的所有数据。
5. “queryById”方法:用于根据ID查询表格中的数据。
6. “close”方法:用于关闭数据库连接。
最后,我们可以在 Activity 中调用这些方法来实现具体的操作。例如:
```java
DataHelper dataHelper = new DataHelper(this);
dataHelper.insert("Tom", 20); // 插入一条数据
dataHelper.update(1, "Jerry", 22); // 更新一条数据
dataHelper.delete(1); // 删除一条数据
Cursor cursor = dataHelper.queryAll(); // 查询所有数据
while (cursor.moveToNext()) {
int id = cursor.getInt(cursor.getColumnIndex("_id"));
String name = cursor.getString(cursor.getColumnIndex("name"));
int age = cursor.getInt(cursor.getColumnIndex("age"));
Log.d("SQLite", "_id=" + id + ", name=" + name + ", age=" + age);
}
cursor.close();
dataHelper.close(); // 关闭数据库连接
```
这样,就可以实现一个简单的 SQLite 数据库的增删改查功能了。
阅读全文