【问题标题】:Why SQLite database cleared on clearing data of application from Application Management?为什么 SQLite 数据库清除应用程序管理中的应用程序数据?
【发布时间】:2011-10-18 11:40:18
【问题描述】:

我使用 SQLite 创建了一个简单的数据库应用程序,它首先创建数据库,然后允许用户插入和查看插入的记录。但是当我从android手机的应用程序设置中清除数据时,数据库的数据也被清除了。为什么会这样?有什么方法可以保留数据,即使用户从“设置”中清除数据?

【问题讨论】:

  • 将其存储在 SDCard 上,或者,对于 Android 2.2+,是否包含 Google 提供的 Android 备份服务的备份代理?

标签: android database sqlite preserve


【解决方案1】:

当您创建数据库时,Android 在 /databases 文件夹中创建一个新的数据库文件。当您删除数据时,Android 会取消在应用程序文件夹中创建的每个文件,包括 /database 文件夹。你应该使用像Content Provider这样的持久数据库

【讨论】:

  • ContentProvider 绝不是持久存储,它通常使用 SQLiteOpenHelper,它会很乐意将其数据库文件放入应用程序的数据库文件夹中 - 当您对应用程序进行核对时,该文件夹将被擦除。跨度>
【解决方案2】:

您可以使用 Content Provider 以便它始终保留数据,也可以让您在不同的应用程序之间共享您的数据:

检查这个Content Providers

也可以查看Sample for using Content Provider

【讨论】:

  • 内容提供者是一个 API。它不会“始终保留数据”。
猜你喜欢
  • 2011-04-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-14
  • 1970-01-01
  • 2011-01-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多