Почему база данных SQLite очищается при очистке данных приложения из управления приложениями?

#android #database #sqlite #preserve

#Android #База данных #sqlite #сохранить

Вопрос:

Я создал простое приложение базы данных с использованием SQLite, которое сначала создает базу данных, а затем позволяет пользователям вставлять и просматривать вставленные записи. Но когда я очищаю данные из настроек приложения телефона Android, данные базы данных также очищаются. Почему это так и есть ли какой-либо способ сохранить данные, даже если пользователь удаляет их из настроек?

Комментарии:

1. Сохраните ее на SD-карте или, для Android 2.2 , включите агент резервного копирования для службы резервного копирования Android, предоставляемой Google?

Ответ №1:

Когда вы создаете базу данных, Android создает новый файл базы данных в папке /databases. При удалении данных Android отменяет все файлы, созданные в папке приложения, включая папку /database. Вы должны использовать постоянную базу данных, такую как поставщик контента

Комментарии:

1. ContentProvider ни в коем случае не является постоянным хранилищем, обычно он использует SQLiteOpenHelper, который с радостью поместит свой файл базы данных в папку базы данных вашего приложения, который будет удален при запуске вашего приложения.

Ответ №2:

Вы можете использовать контент-провайдера, чтобы он всегда сохранял данные, а также позволял вам обмениваться данными между различными приложениями :

Проверьте это контент-провайдеров.

Также проверьте этот пример для использования контент-провайдера.

Комментарии:

1. Поставщик контента — это API. Он не будет «сохранять данные все время».