我正在爲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