#sqlite
#sqlite
Вопрос:
происходит что-то, по-видимому, без какой-либо причины.
Мое приложение использовало базу данных SQLite, которая находилась в папке assets и копировалась в папке app databases.
Затем, чтобы выполнить некоторые тесты, я удалил файл из папки assets в Android Studio, очистил все данные приложения на телефоне, удалил приложение, а затем запустил свой проект в режиме отладки
Затем у меня есть процедура, которая проверяет, есть ли уже файл базы данных в папке приложения, и я не могу объяснить, как, но, похоже, база данных все еще там, и я могу читать записи из нее!!
Как это может быть возможно? Где приложение принимает эту базу данных?
Редактировать
Вот код, который я использую, чтобы проверить, существует ли база данных:
private boolean checkDataBase() {
SQLiteDatabase checkDB = null;
try {
String myPath = DB_PATH DB_NAME;
checkDB = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY);
}catch(SQLiteException e){
}
if(checkDB != null){
checkDB.close();
}
return checkDB != null ? true : false;
}
где мой путь: /data/user/0/packagename/databases/mydb.db
пожалуйста, обратите внимание, что файл «mydb.db» не существует в моем проекте Android Studio, но когда я загружаю его, я также могу запросить его и получить реальные результаты
Комментарии:
1. Опубликуйте свой код для проверки базы данных
2. У меня такое ощущение, что база данных каким-то образом поступает из резервной копии в облаке. Я попытался отключить подключение к данным перед запуском приложения, и приведенная выше функция говорит, что база данных не существует! вы подтверждаете?