安卓APP期末作品:sqlite数据库增删改查
2023-04-16 22:38:04
Android Studio中的SQLite数据库:终极指南
对于移动应用程序开发人员来说,SQLite数据库是必不可少的工具,它提供了一种轻量级且高效的方式来存储和管理数据。在Android Studio中使用SQLite数据库需要我们理解其连接机制和增删改查操作。本文将深入探讨这些主题,并提供示例代码以帮助您入门。
连接SQLite数据库
要与SQLite数据库交互,我们需要创建一个继承自SQLiteOpenHelper类的类。在构造函数中,指定数据库的名称、版本号和CursorFactory。
public class MySQLiteOpenHelper extends SQLiteOpenHelper {
public MySQLiteOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
super(context, name, factory, version);
}
}
onCreate()和onUpgrade()方法
- onCreate(): 在数据库首次创建时调用,用于创建表和列。
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE table_name (id INTEGER PRIMARY KEY, name TEXT)");
}
- onUpgrade(): 在数据库升级时调用,用于更新表和列。
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("ALTER TABLE table_name ADD COLUMN new_column TEXT");
}
增删改查操作
插入记录
使用insert()方法插入一条记录。它接收表名、列名数组和值数组作为参数。
db.insert("table_name", null, new ContentValues());
更新记录
使用update()方法更新一条记录。它接收表名、列名数组、值数组和where子句作为参数。
db.update("table_name", new ContentValues(), "id = ?", new String[] { "1" });
删除记录
使用delete()方法删除一条记录。它接收表名和where子句作为参数。
db.delete("table_name", "id = ?", new String[] { "1" });
查询记录
使用query()方法查询一条或多条记录。它接收表名、列名数组、where子句、分组子句、排序子句和限制子句作为参数。
Cursor cursor = db.query("table_name", null, null, null, null, null, null);
代码示例
public class MainActivity extends AppCompatActivity {
private SQLiteDatabase db;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 创建一个SQLiteOpenHelper对象
SQLiteOpenHelper helper = new MySQLiteOpenHelper(this, "database.db", null, 1);
// 获取一个对数据库的读写访问
db = helper.getWritableDatabase();
// 插入一条记录
db.insert("table_name", null, new ContentValues());
// 更新一条记录
db.update("table_name", new ContentValues(), "id = ?", new String[] { "1" });
// 删除一条记录
db.delete("table_name", "id = ?", new String[] { "1" });
// 查询一条或多条记录
Cursor cursor = db.query("table_name", null, null, null, null, null, null);
// 遍历查询结果
while (cursor.moveToNext()) {
// 获取当前记录的id
int id = cursor.getInt(cursor.getColumnIndex("id"));
// 获取当前记录的name
String name = cursor.getString(cursor.getColumnIndex("name"));
// 打印当前记录的信息
Log.d("MainActivity", "id: " + id + ", name: " + name);
}
// 关闭数据库
db.close();
}
}
常见问题解答
-
如何在Android Studio中打开SQLite数据库?
使用SQLiteOpenHelper类的getWritableDatabase()或getReadableDatabase()方法。 -
如何关闭SQLite数据库?
使用SQLiteDatabase类的close()方法。 -
如何在SQLite中创建一个表?
使用SQLiteDatabase类的execSQL()方法,传入CREATE TABLE语句。 -
如何在SQLite中插入一条记录?
使用SQLiteDatabase类的insert()方法。 -
如何从SQLite中删除一条记录?
使用SQLiteDatabase类的delete()方法。