1.创建数据库
做小demo那我们可以用Storeconfig类。这个可以创建数据库名,其余的值设为默认。我给的名字是RdbStoreTest.db。
onstart方法内
// private static final RdbOpenCallback Callback = new RdbOpenCallback() { @Override public void onCreate(RdbStore rdbStore) { //数据库创建时被回调,开发者可以在该方法中初始化表结构,并添加一些应用使用到的初始化数据。 rdbStore.executeSql("CREATE TABLE IF NOT EXISTS test" +"(id INTEGER PRIMARY KEY AUTOINCREMENT,name TEXT NOT NULL, age INTEGER, INTEGER, salary REAL)"); } @Override public void onUpgrade(RdbStore rdbStore, int i, int i1) { } }; @Override public void onStart(Intent intent) { super.onStart(intent); super.setUIContent(ResourceTable.Layout_ability_main); // 创建数据库 准备配置信息,只配置数据库名字,其他为默认值 StoreConfig config = StoreConfig.newDefaultConfig("RdbStoreTest.db"); //创建数据库的实质循环,重要的核心类 DatabaseHelper helper=new DatabaseHelper(this); //进一步通过helper,获取数据库对象 //传入四个参数 RdbStore rdbStore = helper.getRdbStore(config, 1, Callback, null);
getRdbStore传入参数:
第一个参数数据库基本信息,也就是config
第二个参数为版本号,便于开发者识别。这里设为1
第三个参数回调
第四个可以填null
然后通过RdbOpenCallback做初始化表结构,
因为这个类是抽象类,所以实例化时会自动创建抽象方法onCreate,onUpgrade
类名 | 接口名 | 描述 |
RdbOpenCallback | public abstract void onCreate(RdbStore store) | 数据库创建时被回调,开发者可以在该方法中初始化表结构,并添加一些应用使用到的初始化数据。 |
RdbOpenCallback | public abstract void onUpgrade(RdbStore store, int currentVersion, int targetVersion) | 数据库升级时被回调 |
用sql语句创建表格,当然也可以不用
public void onCreate(RdbStore rdbStore) { //开发者可以在该方法中初始化表结构,并添加一些应用使用到的初始化数据。 rdbStore.executeSql("CREATE TABLE IF NOT EXISTS test" +"(id INTEGER PRIMARY KEY AUTOINCREMENT,name TEXT NOT NULL, age INTEGER, INTEGER, salary REAL)");