android 在清除缓存时,存储在本地数据库中的数据被删除,如何避免Flutter-SQLite-Dart应用程序中的此问题?

aemubtdh  于 2022-12-09  发布在  Android
关注(0)|答案(1)|浏览(390)

我正在使用Flutter-SQLite-Dart开发一个移动的应用程序,它具有与测验应用程序一样的基本功能。我将问题和答案存储到本地数据库中,当缓存被清除时,存储的数据将被删除。我需要保存这些数据而不会丢失。使用什么方法来实现此问题的解决方案?

wpx232ag

wpx232ag1#

对于Android,你在应用信息中有两个选项-清除数据(清除存储)和清除缓存。
默认情况下,SQLite DB保存在内部应用数据目录中,因此当您清除该高速缓存(应用缓存目录)时,所有DB数据仍然有效。但如果您清除数据(清除存储),则会删除DB +缓存+其他数据。
如果你想在清除数据(清除存储)或卸载应用程序后保留DB,你有一些选择:

Auto Backup for Apps可自动备份面向Android 6.0并在其上运行的应用中的用户数据(API级别23)或更高。Android通过将应用数据上传到用户的Google Drive来保留应用数据,在Google Drive中,数据受用户的Google帐户凭据保护。每个应用用户的数据量限制为25 MB。存储备份数据免费。您的应用可以自定义备份过程

  • 您可以尝试更改DB保存目录。例如,将其保存到Documents等。
  • 使用firebase_database

所有这些选择都有优点和缺点...
请注意,当用户尝试清除应用数据时,Android将显示一个包含以下信息的警报对话框:
将永久删除此应用程序的所有数据。这包括所有文件、设置、帐户、数据库等。

相关问题