在Android中将默认值插入SQLite数据库的约定

时间:2014-03-11 16:43:32

标签: android sqlite conventions

我目前正在构建一个利用Android中的SQLite数据库的应用程序,我知道在我的SQLiteOpenHelper子类中覆盖“onCreate”时会设置这些表。

但是,我希望使用一组默认信息创建数据库,并想知道插入它的常规位置是什么?我应该在onCreate中使用SQL执行此操作,还是稍后通过检查诸如“onFirstRun”之类的首选项并使用我的Helper类在某个Activity中的某个值中插入某些值?

任何帮助/提示都会赞赏,欢呼。

2 个答案:

答案 0 :(得分:0)

我通常在类扩展SQLiteHelper的类的OnCreate上添加默认数据,因为它只执行一次(除非你卸载应用程序)并且它非常简单明了:

public class XXX extends SQLiteOpenHelper {
 String sqlCreate = "CREATE TABLE X (codigo INTEGER, nombre TEXT)";
 String sql ="Insert into X ....";
}

@Override
public void onCreate(SQLiteDatabase db) {
    db.execSQL(sqlCreate);
    db.execSQL(sql);
}

答案 1 :(得分:0)

如果您尚未发布已存储的应用程序,最好在onCreate of SQLiteOpenHelper中插入默认信息。如果已经发布,则通过进行必要的验证在SQLiteOpenHelper的onUpgrade中执行。这样,与db相关的所有代码都保持在一起,您可以优雅地管理升级方案。