База данных Android находит данные перед запуском приложения - PullRequest
0 голосов
/ 17 марта 2012

Мне нужно только выбрать операцию. Поэтому данные должны быть вставлены до запуска приложения. Каков наилучший способ сделать это?

1 Ответ

1 голос
/ 17 марта 2012

Используйте подкласс 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) {
}

}

...