返回

安卓APP期末作品:sqlite数据库增删改查

Android

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();
    }
}

常见问题解答

  1. 如何在Android Studio中打开SQLite数据库?
    使用SQLiteOpenHelper类的getWritableDatabase()或getReadableDatabase()方法。

  2. 如何关闭SQLite数据库?
    使用SQLiteDatabase类的close()方法。

  3. 如何在SQLite中创建一个表?
    使用SQLiteDatabase类的execSQL()方法,传入CREATE TABLE语句。

  4. 如何在SQLite中插入一条记录?
    使用SQLiteDatabase类的insert()方法。

  5. 如何从SQLite中删除一条记录?
    使用SQLiteDatabase类的delete()方法。