我应该在哪个类中声明SQLite数据库的模式?

时间:2013-10-10 14:25:18

标签: android sqlite

我正在创建用于记录气压计数据的SQLite数据库。但是,我不知道在哪里为它声明架构。我的教程没有提到在声明以下内容之前为数据库创建一个类:

    static final String TABLE_NAME = "table_sensor_data";
static final String COL_ID = "_id";
static final String COL_VALUE = "value";
static final String COL_TIMESTAMP = "timestamp";
private static final String DB_SCHEMA = "CREATE TABLE " + TABLE_NAME + "("
        + COL_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + COL_TIMESTAMP
        + " INTEGER NOT NULL, " + COL_VALUE
        + " REAL " + ");";

我希望在应用程序首次运行时实现数据存储,并在每次气压计更改时继续记录数据(使用时间戳),是否有人可以通知我可以使用的声明以确保录制开始并继续?我只需要在onSensorChange()方法中声明,还是在onStart()等其他方法中声明?

1 个答案:

答案 0 :(得分:0)

查看Saving Data in SQL Databases教程。它会一步一步指导你。

每当你想保存数据时都应该执行insert(),所以在onSensorChange()中调用它是有意义的。

---------编辑:具有timestamp列的默认值的实体声明

private static final String DB_SCHEMA = "CREATE TABLE " + TABLE_NAME + "("
        + COL_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + COL_TIMESTAMP
        + " TIMESTAMP DEFAULT CURRENT_TIMESTAMP, " + COL_VALUE
        + " REAL " + ");";