我正在使用Flutter-SQLite-Dart开发一个移动的应用程序,它具有与测验应用程序一样的基本功能。我将问题和答案存储到本地数据库中,当缓存被清除时,存储的数据将被删除。我需要保存这些数据而不会丢失。使用什么方法来实现此问题的解决方案?
wpx232ag1#
对于Android,你在应用信息中有两个选项-清除数据(清除存储)和清除缓存。默认情况下,SQLite DB保存在内部应用数据目录中,因此当您清除该高速缓存(应用缓存目录)时,所有DB数据仍然有效。但如果您清除数据(清除存储),则会删除DB +缓存+其他数据。如果你想在清除数据(清除存储)或卸载应用程序后保留DB,你有一些选择:
Auto Backup for Apps可自动备份面向Android 6.0并在其上运行的应用中的用户数据(API级别23)或更高。Android通过将应用数据上传到用户的Google Drive来保留应用数据,在Google Drive中,数据受用户的Google帐户凭据保护。每个应用用户的数据量限制为25 MB。存储备份数据免费。您的应用可以自定义备份过程
所有这些选择都有优点和缺点...请注意,当用户尝试清除应用数据时,Android将显示一个包含以下信息的警报对话框:将永久删除此应用程序的所有数据。这包括所有文件、设置、帐户、数据库等。
1条答案
按热度按时间wpx232ag1#
对于Android,你在应用信息中有两个选项-清除数据(清除存储)和清除缓存。
默认情况下,SQLite DB保存在内部应用数据目录中,因此当您清除该高速缓存(应用缓存目录)时,所有DB数据仍然有效。但如果您清除数据(清除存储),则会删除DB +缓存+其他数据。
如果你想在清除数据(清除存储)或卸载应用程序后保留DB,你有一些选择:
Auto Backup for Apps可自动备份面向Android 6.0并在其上运行的应用中的用户数据(API级别23)或更高。Android通过将应用数据上传到用户的Google Drive来保留应用数据,在Google Drive中,数据受用户的Google帐户凭据保护。每个应用用户的数据量限制为25 MB。存储备份数据免费。您的应用可以自定义备份过程
所有这些选择都有优点和缺点...
请注意,当用户尝试清除应用数据时,Android将显示一个包含以下信息的警报对话框:
将永久删除此应用程序的所有数据。这包括所有文件、设置、帐户、数据库等。