【发布时间】:2012-04-02 18:20:56
【问题描述】:
我只需要选择操作。因此,应在应用程序启动之前插入数据。最好的方法是什么?
【问题讨论】:
标签: android database sqlite select insert
我只需要选择操作。因此,应在应用程序启动之前插入数据。最好的方法是什么?
【问题讨论】:
标签: android database sqlite select insert
使用SQLiteOpenHelper 的子类来访问您的数据库。 onCreate 将在创建数据库时调用一次。
要使用你的数据库,你可以这样做:
DBHelper db = new DBHelper(context);
db.getReadableDatabase().query(....);
db.close();
要扩展SQLiteOpenHelper,请执行以下操作(未测试用于创建表的 sql!):
public class DBHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "database.db";
private static final Integer DATABASE_VERSION = 1;
DBHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
/*
* Called ONCE on the very first db access (when the db file is created)
*/
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE mytable (_id PRIMARY KEY AUTOINCREMENT, value TEXT); \n" +
"INSERT INTO mytable (value) VALUES ('data'));");
}
/*
* Called every time you open a database
*/
@Override
public void onOpen(SQLiteDatabase db) {
}
/*
* Called ONCE if DATABASE_VERSION has changed since the last instantiation of DBHelper
*/
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
【讨论】: