SQLLite是安卓系统内置的数据库,支持标准的SQL语法和ACID事务原则,具有占据内存小,运算速度快的优点。
SQLiteOpenHelper
通过SQLiteOpenHelper类可以对数据库进行管理,它是一个抽象类,需要重写OnCreate和OnUpgrade方法来实现数据库的创建升级逻辑。
通过getReadableDatabase和getWritableDatabase方法来获取数据库可读写的对象,两者区别在于存储空间满了的时候前者会返回只读数据库,后者则会报错。第一次创建数据库的时候会调用onCreate方法,数据库已经存在时候会比对数据库的版本号,Helper构造时候传入的版本号高则会调用onUpgrade方法。
public class MyDB extends SQLiteOpenHelper {
String sql="create table Book (" +
" id integer primary key autoincrement," +
"author text," +
"price real," +
"pages integer," +
"name text," +
"category_id integer)";
String sql2= "create table Category (" +
"id integer primary key autoincrement," +
"category_name text,"