尝试在我的android应用程序的sqlite中获取“选项”列所在的“value”列的值=“lastclick”。在sqlite中检索sqlite列中的值
这里是我的功能代码:
public String getLastClick() {
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery("SELECT value FROM config where option='lastclick'", null);
cursor.moveToFirst();
return cursor.getString(0);
}
它似乎并没有被正确的工作...我使用一个条件语句下面的代码,它不会永远识别字符串即使我第一次在VD上安装应用程序时,它的值为0,我的onCreate函数会在数据库中插入一行“lastclick”值为“0”的行。
反正这里是代码:
DatabaseHandler db = new DatabaseHandler(this);
String lastClick = db.getLastClick();
// check if its the first time they've ever clicked
if (lastClick != "0") {
String millis = String.valueOf(Long.parseLong(dateString) - Long.parseLong(lastClick));
db.insertRecord(millis);
}
“选项” 和 “值” 都是VARCHAR的。
而且,千万记得要关闭你的'Cursor's。放一个'try {return cursor.moveToNext()? cursor.getString(0):null; } finally {cursor.close();}'很容易,应该是基本卫生的一部分。 – Jens