我正在为Android OS编写一个应用程序,我需要在SQLite数据库中存储一些时间值。我一直在使用android.text.format.Time将时间值存储在应用程序中,然后将值作为millis插入数据库中作为REAL值。在SDK模拟器上,一切正常。在唯一的手机上,我有机会测试我的应用程序(到目前为止),我的时间代码无法按预期工作。一些相关代码:插入android.text.format.Time.toMillis值到droid上的SQLite数据库的问题
private static final String DATABASE_CREATE =
"create table " + DATABASE_TABLE + " ("
+ KEY_ROWID + " integer primary key autoincrement, "
+ KEY_START + " REAL, "
+ KEY_STOP + " REAL, "
+ KEY_DUR + " REAL);";
...
private SQLiteDatabase mDb;
ContentValues timerValues = new ContentValues();
...
timerValues.put(KEY_START, stime.toMillis(false));
timerValues.put(KEY_STOP, etime.toMillis(false));
timerValues.put(KEY_DURATION, stime.toMillis(false)-etime.toMillis(false));
int result = mDb.insert(DATABASE_TABLE, null, timerValues);
我拉从两个单独的函数这一数据与代码稍有不同的位,无论使用时间。设置(长毫米),两者都给出不正确的结果:开始和停止值恢复正确,但持续时间超过17小时。我是否错过了计算持续时间的事情,或者这看起来像是关于这个特定机器人的“特殊”东西?我将在周一测试另一个机器人,但任何想法都会受到赞赏。
你是说在一个地方说'KEY_DUR'而在另一个地方说'KEY_DURATION'? – 2010-04-24 04:39:01