Android sqlite прочитать и сравнить вопрос - PullRequest
1 голос
/ 07 января 2011

У меня есть простой пример игры, в котором есть меню с кнопками для всех уровней. Я хотел, чтобы только 1 уровень был «разблокирован» или кликабелен, а пользователь разблокирует уровни 1 на 1. Итак, я подумал об использовании предпочтений и установке логического свойства для каждого уровня, но я также хотел изучить SQL Итак, внедрили это в игру. Теперь я могу добавить значения в базу данных, но при их чтении и сравнении со строкой ничего не происходит:

public String getValue(Cursor cursor) {
    String id = new String();
    while (cursor.moveToNext()) {
        id = cursor.getString(0);
    }
    return id;
}

Затем я сравниваю его с помощью string.toString (). Equals ("что-то"); Есть ли лучший способ сделать то, что я хотел бы сделать? а почему не сравнить?

1 Ответ

2 голосов
/ 07 января 2011
  1. Почему бы не сохранить последний разблокированный уровень вместо каждого?Если они разблокировали уровень 3, не означает ли это, что они также имеют разблокированные уровни 1 и 2?Или я неправильно понимаю?
  2. Вы понимаете, что string.toString () ничего не делает правильно?Это уже строка.
  3. Вы перебираете весь Курсор и возвращаете только последний результат.Вы можете просто перейти к последнему результату или, что еще лучше, просто выбрать последнюю строку в таблице.Ваш код крайне неэффективен.
  4. Покажите больше кода вокруг вызова .equals ("что-то"), у вас может быть проблема там.не сравнить?

    Вы пытались отладить код или хотя бы распечатать значение строки, чтобы убедиться, что оно содержит значение, которое, по вашему мнению, оно содержит?Я почти уверен, что в реализации String.equals () нет ошибки, поэтому я бы сказал, что строка, с которой вы сравниваете, не содержит того, что вы думаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...