android SQLiteDatabase中的update函数用法是什么?

android SQLiteDatabase中的update函数用法是什么?,第1张

1·创建数据库Android 不自动提供数据库。在 Android 应用程序中使用 SQLite,必须自己创建数据库,然后创建表、索引,填充数据。Android 提供了 SQLiteOpenHelper 帮助你创建一个数据库,你只要继承 SQLiteOpenHelper 类,就可以轻松的创建数据库。

2·SQLiteOpenHelper 类根据开发应用程序的需要,封装了创建和更新数据库使用的逻辑。SQLiteOpenHelper 的子类,至少需要实现三个方法:构造函数,调用父类 SQLiteOpenHelper 的构造函数。

3·这个方法需要四个参数:

上下文环境(例如,一个 Activity),

数据库名字,

一个可选的游标工厂(通常是 Null),

一个代表你正在使用的数据库模型版本的整数。onCreate()方法,它需要一个 SQLiteDatabase 对象作为参数,根据需要对这个对象填充表和初始化数据。onUpgrage() 方法,它需要三个参数,一个 SQLiteDatabase 对象,一个旧的版本号和一个新的版本号,这样你就可以清楚如何把一个数据库从旧的模型转变到新的模型。

public class DatabaseHelper extends SQLiteOpenHelper { DatabaseHelper(Context context, String name, CursorFactory cursorFactory, int version) {  super(context, name, cursorFactory, version) } @Override public void onCreate(SQLiteDatabase db) { // TODO 创建数据库后,对数据库的 *** 作 } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // TODO 更改数据库版本的 *** 作 }   super.onOpen(db)  // TODO 每次成功打开数据库后首先被执行 }  } 复制代码接下来讨论具体如何创建表、插入数据、删除表等等。

1、设置一个DB_VERSION

public static final int DB_VERSION = 1

2、当你要更新表的时候就把DB_VERSION+1,就会触发onUpgrade,数据库就更新了,记得采纳

public DBHelper() {

    // for test

    daoConfig = new DbManager.DaoConfig()

            .setDbName(DB_NAME)

            .setDbVersion(DB_VERSION)

            .setDbDir(Environment.getExternalStorageDirectory())

            .setDbOpenListener(new DbManager.DbOpenListener() {

                @Override

                public void onDbOpened(DbManager db) {

                    db.getDatabase().enableWriteAheadLogging()

                }

            })

            .setDbUpgradeListener(new DbManager.DbUpgradeListener() {

                @Override

                public void onUpgrade(DbManager db, int oldVersion, int newVersion) {

                    updateTable(db, xx.class)

                    

                }

            })

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6668343.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存