android 什么时候初始化数据库

android 什么时候初始化数据库,第1张

1)它的数据库初始化不是用sql语句,而是用一个现成的sqlite的二进制文件进行直接copy到Android系统的数据库路径中。我一方面不太放心这种二进制文件的直接copy,另一方面,如果sqlite数据库的二进制结构有所升级或变动,我的程序就无法对所有sqlite版本兼容了。

2)DataBaseHelper 类虽然是extends SQLiteOpenHelper,但它完全没有按照原来SQLiteOpenHelper类原先的使用逻辑,没有重载onCreate和onOpen之类,自己去写了检测数据库是否存在,打开和关闭数据库等函数。使得这个类扩展SQLiteOpenHelper几乎没有意义,差不多是重建了应用逻辑,让我用不了SQLiteOpenHelper。getReadableDatabase等函数,很不爽(也许是本人的洁癖)。

SQLite也支持SQL标准类型,VARCHAR、CHAR、BIGINT等。

创建数据库

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

1、构造函数,调用父类 SQLiteOpenHelper 的构造函数。这个方法需要四个参数:上下文环境(例如,一个 Activity),数据库名字,一个可选的游标工厂(通常是 Null),一个代表你正在使用的数据库模型版本的整数。

2、onCreate()方法,它需要一个 SQLiteDatabase 对象作为参数,根据需要对这个对象填充表和初始化数据。

3、onUpgrage() 方法,它需要三个参数,一个 SQLiteDatabase 对象,一个旧的版本号和一个新的版本号,这样可以清楚如何把一个数据库从旧的模型转变到新的模型。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存