2012-03-08 241 views
3

感谢以前的答复,如何删除而数据重新安装应用程序

是可以删除的SQLite存储的内容一旦重新安装应用程序。我将数据存储在数据库中,一旦我再次重新安装同一个应用程序,以前的数据仍然保存在sqlite中。我想删除存储的内容,而重新安装应用程序。我不确定这一点。

+3

您可以将应用程序代码版本存储在sharedPreferences中,并在开始时检查版本是否不同。如果是这样..删除数据库 – SERPRO 2012-03-08 12:38:26

+0

您是否尝试清除设置>应用程序>管理应用程序>“您的应用程序”中的数据>清除数据?据我所知,它会删除所有存储的内容,当你卸载应用程序。 – rizzz86 2012-03-08 12:39:46

+0

是的,它会清除所有的数据一旦卸载,但我的情况是重新安装。 – RAAAAM 2012-03-08 12:41:19

回答

1

感谢所有答复,

我维护版本代码的所有版本,一旦我重新安装应用程序,我检查版本,如果我找到的版本变化,我只是删除了数据库。这种情况只适用于重写APk的安装(即不需要卸载应用程序)。当我们进行卸载时,应用程序的内部数据和sqlite会自动删除。

0

sqlite数据库作为文件存储在您的文件系统上,以删除数据。您只需要删除该文件。

你想要做的是设置一些检测应用程序是否第一次运行的方式,如果这是应用程序第一次运行,然后检查数据库是否存在,如果它删除它。然后重新创建数据库为空。

或者,如果数据库存在,则可以通过并删除每个表中的所有数据/在第一次运行时删除数据库中的每个表。

1

这似乎是一个黑客,也许不是真正的答案,但你可以 - 随着你的应用程序的每个新版本 - 在代码中增加一个标识符(从10到11),然后检查存储的首选项该标识符。如果代码中的常量高于先前设备上存储的标识符,那么可以将数据库清理为任何您认为其状态应为的数据。然后,每个新发布的版本,你增加这个数量的应用程序..

编辑:API 9级及以上,你可以 - 只要你的应用程序启动 - 写在其中安装应用程序的日期(见有关如何查找安装日期的说明,请参阅here)。如果您确认它是在写入日期之后安装的,请杀死数据!

+0

如果我重新安装相同版本的应用程序。这种方式是行不通的。 – 2012-03-08 12:43:49

+0

@SunilKumarSahoo你为什么要重新安装相同的版本并丢失所有数据?为此目的,你可以去'管理应用程序'和手动清除数据。 – SERPRO 2012-03-08 12:45:52

+0

我同意@SERPRO,这听起来像一个愚蠢的想法... – 2012-03-08 12:49:54

0

当您删除该应用程序时,该数据库也应该被删除。除非你保持一定的麻烦。如果你只是更新应用程序,那么数据应该保留。如果您需要在重新安装时删除数据,请尝试以下操作:

每次启动活动时,请致电PackageManager.getPackageInfo()并检查lastUpdateTime。将它与存储在数据库中的时间戳或共享首选项进行比较。如果lastUpdateTime较新,请删除您的数据库。

0

应用程序SharedPreferance在卸载应用程序时被删除,因此保存boolean以确定应用程序是否第一次运行。

相关问题