android - 防止删除数据库或清除应用程序的共享首选项

标签 android database sharedpreferences

我想防止在清除时删除共享首选项或数据库,这样只有在卸载应用程序时才会清除。如何在应用程序上保持共享偏好安全。清除?

Image

最佳答案

值得注意的是,Android 中存在三种类型的数据清除,其中您的应用程序无法控制:

  • 清除数据
  • 清除缓存
  • 清除默认值

清除数据 清除数据将清除应用程序工作目录下的所有内容。这包括驻留在应用程序目录中的应用程序保存的任何共享首选项、数据库和文件。这也将清除应用程序的缓存,因为它也是应用程序工作目录的一部分。

清除缓存 应用程序可以访问缓存目录来保存文件,主要用于缓存生成的图像或临时文件等目的。

清除默认值 此选项将清除注册到此应用程序的任何 Intent 。

卸载应用程序将清除所有三组数据。因此,在安装之间维护数据的唯一方法是将其保存到外部存储,但请注意,用户和每个应用程序都可以访问外部存储,因此可以随时修改或删除。

值得一读的链接:

http://developer.android.com/guide/topics/data/data-storage.html#

Android: Save file permanently (even after clear data / uninstall)

What's the difference between clear cache & clear data in Android settings

关于android - 防止删除数据库或清除应用程序的共享首选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20673862/

相关文章:

android - 来自 SVG 的 Android 和 iOS Assets

java - 在条件sqlite数据库中使用OR语句

php - 多语言社交网站 - 数据库驱动?

android - 如何从当前 Activity 中获得结果然后返回到上一个 Activity

java - 动态设置 EditTextPreference 标题

java - 如果应用程序关闭并重新打开,动态创建的图像按钮即使在使用后也为空

java - 安装 Genymotion Eclipse 插件

android - 无法从 androidx.fragment.app.Fragment.getViewModelStore 处的分离 fragment 访问 spy ( fragment )对象的 ViewModel

android - BitmapFactory.decodeFile() 在某些设备中返回 null

sql-server - 通过 Octopus 和 TeamCity 将数据库包部署到 SQL Server