Делает ли кто-нибудь "DROP TABLE notes"? на Android Notepadv3 Учебное пособие? - PullRequest
0 голосов
/ 28 января 2011

Я только что закончил учебники по Notepadv #.И затем я подключаю через консоль (оболочка adb) учебник Notepadv3 из файла данных.Я пытался что-то.

  1. Удалить таблицу заметок и перезапустить.
    • Не работают.
  2. Удалите файл данных (файл БД) и снова запустите.
    • Работа.

Если вы работали с учебниками Notepadv #, вы можете узнать о некоторой предварительной обработке в классе NotesDbAdapter.В этой позиции кода я обнаружил «выбор БД» в конструкторе, «создание таблицы» в методе onCreate и «обновление таблицы» в методе onUpgrade.

С помощью этого метода база данных (файл с именем data) создает таблицу, когда onCreateвызывается после конструктора.Нет, это не сработало.Выше 2-х подобных тест, вызванных этой ерундой.Кто-нибудь роняет таблицу заметок на консоль?Я не могу понять, почему create не работает.

ps - извините за глупый английский.

Ответы [ 2 ]

3 голосов
/ 28 января 2011

Ваш метод onCreate базы данных создаст базу данных, только если она не существует. Если он поврежден (т. Е. Вы удалили таблицу заметок) или существует, но он пуст, тогда приложение должно определить это и восстановить.

Вот почему пример блокнота завершается неудачно, когда вы отбрасываете таблицу (база данных существует, поэтому onCreate не вызывается и ваша база данных повреждена), но когда вы удаляете базу данных, она работает, потому что вызывается onCreate и воссоздает базу данных .

Так что, в принципе, не делайте этого: -)

Более подробное описание см. В документации SQLiteOpenHelper .

0 голосов
/ 28 января 2011

Пытался удалить приложение или удалить данные приложения из Настройки-> Управление приложением?

...