尝试在我的Android应用程序的sqlite中获取“option”列的值,其中“option”列为=“lastclick”。
这是我的函数代码:
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);
}
“option”和“value”都是varchar。
答案 0 :(得分:2)
比较Strings
的正确方法是使用equals
方法,而不是:
if (lastClick != "0") {
写:
if (!lastClick.equals("0")) {