SQLite轻
亮点:①轻 体积小 几百kb 嵌入式设备(小型设备)
②绿 不用安装 直接解压便可使用
③跨平台 android symbain linux windowsmobile
④单一文件
缺点:①多线程操作比较差劲
②对sql支持不全面 对表结构修改或许失败,但增加一个字段可以。
使用SQLite:
继承SQLiteOpenHelper , 并实现构造器 context,name,factory,version
name即为把数据存在本地的文件名字,若是传了null,则会把数据临时存在内存
factory 游标工厂,此游标工厂可由默认的,传入null
version 版本号,从1开始,控制版本的升级和降级。
亮点:①轻 体积小 几百kb 嵌入式设备(小型设备)
②绿 不用安装 直接解压便可使用
③跨平台 android symbain linux windowsmobile
④单一文件
缺点:①多线程操作比较差劲
②对sql支持不全面 对表结构修改或许失败,但增加一个字段可以。
注意这个数据库,会把所有类型都以字符串形式存储,这是为了简化设计,但我们建表时依然要区分开类型。
可以在数据库操作之前,先把语句放在SQLite工具中,执行,若运行良好则再把语句放进代码中,因为项目中sql语句的错误很难找出来。
使用SQLite:
继承SQLiteOpenHelper , 并实现构造器 context,name,factory,version
name即为把数据存在本地的文件名字,若是传了null,则会把数据临时存在内存
factory 游标工厂,此游标工厂可由默认的,传入null
version 版本号,从1开始,控制版本的升级和降级。
openHelper.getReadableDatabase(); openHelper.getWritableDatabase();
两者基本相同,通常获得可读可写的数据库,但当磁盘满了时,前者返回一个只可读的数据库,后者会报错。
调用方法返回SQLiteDatabase对象,会调用oncreate方法,可以在onCreate方法完成数据库表的建立。
oncreate方法只会调用一次。
而onUpgrade方法,只有当版本号改变时,才会调用。
onUpgrade方法中,有一个oldVersion , newVersion是为了区分用户过去的版本号,以实现不同的更新策略。
重写onDowngrade实现对版本的降级,注意一般情况下,都会抛异常,除非把其中的super方法注释掉。