一、SQLite简介
亮点:
①轻量级数据库:SQLite和C/S模式的数据库软件不同,体积小,没有服务客户端,只要一个动态库就可以工作了(在Linux下多K)
②绿:核心引擎本身的话是不依赖第三方的软件,不需要安装的,拷贝即可使用
③单一个文件,一个数据库只有一个文件
④跨平台,支持过个嵌入式设备
槽点:
①多线程性能差
②不支持全部的SQL
何时使用数据库保存数据:当有大量结构相似的数据需要保存,比如:通讯录、短信息,聊天记录;
二、Android下创建SQLite数据库的正确姿势
(1)核心类
①SQLiteOpenHelper
②SQLiteDataBase
(2)使用方法
第一步:也就是创建一个类继承SQLiteOpenHelper并实现父类的构造
第二步:从写onCreate方法和onUpgrade方法
第三步:在Activity中,创建MySQLOpenHelper对象(注意!!!至此没有创建数据库)
第四步:调用MySQLOpenHelper的getReadableDataBase或者getWriteableDatabase方法获取SQLiteDataBase对象
(3)SQLiteOpenHelper的oncreate方法和onUpgrade方法
①onCreate方法(必须实现的方法)
当调用getReadableDataBase或者getWriteableDatabase方法,第一次创建数据库的时候会执行这个方法
作用:在这个方法中做创建表和初始化数据的操作
②onUpgrade方法(必须实现的方法)
当调用getReadableDatabase或getWriteableDatabase方法时,如果数据库版本号变大的话,就会调用这个方法
作用:在这个方法中做数据库或者表结构修改的操作,比如给表添加字段或者给数据库增加新的表
③onDowngrade方法(可选)
当调用getReadableDatabase或getWriteableDatabase方法时,如果数据库版本号变小则会调用这个方法;
作用:处理数据库版本降级的操作,如果不重新这个方法就会默认数据库降级会抛异常
注意:onCreateonUpgrade由系统调用,不需要手动调用
四、Android下数据库操作表的简单粗暴方法(通过sql语句)
(1)相关API
①插入删除修改相关操作sqlitedatabase的execSQL方法
②查询操作:sqlitedatabase的rawQuery方法
③查询结返回Curor(游标,类似JDBC当中的ResultSet)
curor相关方法moveToNext()移动到下一行getCount()返回查询到的结果一共有多少行getColumnCount()返回一条结果中有多少列getString(index),getInt(index)根据列序号返回相应记录(序号从开始)(2)代码