Проблема с sqlite в устройстве андроид - PullRequest
2 голосов
/ 20 мая 2011

Я использую sqlite для сохранения некоторых строковых значений в базе данных, мое приложение отлично работает в эмуляторе. Но когда я попробовал его на Samsung Galaxy Tab, журнал cat говорит, что таких таблиц нет ... перед тем, как монтировать файлы apk на устройство, я попытался открыть его в режиме архива и нашел базу данных и таблицы в безопасности. моя папка "активы". Кто-нибудь может сказать мне, что со мной не так?

спасибо заранее ...

Счастливое кодирование

Ответы [ 3 ]

2 голосов
/ 20 мая 2011

Базы данных не принадлежат папке assets!Вы должны использовать SQLiteOpenHelper -класс для создания и обновления вашей базы данных, когда это необходимо.

Учебное пособие (или просто Google для него).

0 голосов
/ 20 мая 2011

У меня есть опыт с тем же, что вы испытываете сейчас.Это классика по фрагментации производителя устройства.Это случилось со мной раньше, когда я пытался запустить приложение на телефоне Samsung Nexus S, у которого был способ скопировать уже существующую базу данных в приложение из активов при установке (я полагаю, это то, что вы делаете в данный момент).Короче говоря, после некоторого тестирования лучшее и единственное решение, которое я смог найти, заключалось в том, чтобы фактически выполнить ручную работу и создать базу данных с помощью методов SQLiteHelper и таблиц, создавая запросы и воссоздавая ту же схему.этот метод работает на 100% на каждом телефоне, который я пробовал, так что это самое безопасное, что вы можете сделать.

Надеюсь, это поможет.

0 голосов
/ 20 мая 2011

Файл db должен быть доступен в папке "/ data / data / YOUR_PACKAGE / database /" на вашем устройстве.

Если вы впервые создаете базу данных, скопируйте файл базы данных из папки активов в указанное выше место (при первом обращении к базе данных).

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