Sqlite не возвращает такой таблицы, но таблица появляется при получении на устройстве OnePlusTwo
Я скопировал файл базы данных из ресурсов в базу данных приложения, и он успешно скопирован. Когда я запрашиваю любую таблицу, она не возвращает такого исключения таблицы. Я получил файл БД с этого телефона, и он содержит все необходимые таблицы. Я знаю, что это немного странно, но эта ошибка появляется только на устройстве OnePlusTwo. Так что мой вопрос - это проблема конкретного устройства или общая проблема, с которой сталкивается кто-либо еще. Пожалуйста, укажите, сталкивался ли кто-либо с этой проблемой на любом другом телефоне или знает, как решить эту проблему. Я не опубликовал никакого кода, потому что он идет только на одном устройстве, но если кому-то понадобится, пожалуйста, укажите, что я опубликую эту часть
1 ответ
Я решил эту проблему, поместив одну строку кода перед копированием базы данных. Проблема в том, что когда вы создали базу данных, вам нужно сначала закрыть ее, прежде чем открывать какой-либо поток в ней. Эта проблема была не со многими устройствами, так как теперь все устройства справляются с этими ситуациями, но некоторые устройства, такие как OnePlusTwo, выдают ошибку по этому поводу. Итак, следующая строка, которую нужно добавить непосредственно перед копированием базы данных:
getReadableDatabase().close();
Это сначала закроет соединение, а затем откроет поток вывода в созданной базе данных. Если кому-то понадобится дополнительный код, я могу опубликовать пример кода. Если это не решит проблему, пожалуйста, опубликуйте код вашей базы данных.
Спасибо:)