Android sqlite прочитать и сравнить вопрос

1

У меня есть простая примерная игра, в которой есть меню с кнопками для всех уровней. Я хотел иметь его, где только уровень 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 ( "something" ); Есть ли лучший способ сделать то, что я хотел бы сделать? и почему он не сравнивается?

  • 1
    Что такое string.toString().equals("something") . Что за string ? Где ты это используешь? Что это возвращает? Какое значение id возвращает эта функция? Что вы ожидаете, что это "сделать"?
  • 0
    string является объектом String, и во время некоторых поисков многие люди говорили, что используют toString (). equals ("");
Теги:
compare

1 ответ

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

почему он не сравнивается?

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

  • 0
    1. Согласен, 2: Как я и думал, но я делал это в соответствии со всем примером кода, который опубликовали люди, 3. Есть еще много результатов, но я просто упростил и вынул все, что не нужно, 4. Сделаю.
  • 0
    Что касается # 3, весь цикл for не нужен и делает ваш код неэффективным.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню