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

Android 我应该在哪个类中声明SQLite数据库的模式?,android,sqlite,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 = "timest

我正在创建和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()等其他方法中声明?

看看教程。它会一步一步地引导你

无论何时保存数据,都应该执行insert(),因此在onSensorChange()中调用它是有意义的

---------编辑:具有时间戳列的默认值的实体声明

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 " + ");";

谢谢你,你能确认我是把COL_VALUE和COL_TIMESTAMP放在insert()中还是放在VALUE.put(String,VALUE)的位置吗?最好的方法是用TIMESTAMP作为默认值声明这个列,比如:“+COL_TIMESTAMP+”TIMESTAMP default CURRENT_TIMESTAMP,,则不必在应用程序代码中设置它的值,因为默认情况下数据库会这样做。