2012-03-20 46 views
3

我的理解是,如果我将任何数据保存到Android平台的内部存储中,用户可以通过以下方式轻松删除这些数据:设置 - >应用程序 - >管理应用程序 - >(选择您的应用程序) - >清除数据我可以将数据保存到Android上的内部存储中吗?用户无法删除它?

有没有一种方法可以保存数据(或SharedPreferences)的方式,它不能被用户删除?

+0

你可以把它放在一个不关心清除数据选项的地方,但我不知道这是否可以放在内部存储器 – njzk2 2012-03-20 13:59:45

+0

对不起,你能澄清一下你的意思吗?一个不关心清晰数据选项的地方'? – Crocodile 2012-03-20 14:06:35

+0

基本上你的包数据目录之外的任何目录。如果你在/ sdcard /中创建了一个文件,如果你的用户清除了数据,它将不会被删除(至少我不认为它会) – njzk2 2012-03-20 15:00:51

回答

5

你问的问题有两个方面。

首先,有没有一种方法可以存储用户无法删除的数据。

不,这是不可能的,也不应该。

其次,在管理应用程序时调用“清除数据”时,有没有办法将数据存储在擦除区域之外。

是的,那是可能的。您需要添加访问SD卡的权限,请参阅herehere。寻找

WRITE_EXTERNAL_STORAGE 

有关访问外部存储的全部细节,请参见here

编辑:

没有办法保存数据(SharedPreferences)的方式,由是不可删除用户,也不应该有。这对恶意应用程序来说是一种很好的方式来对手机做恶意的事情(如果没有其他的话,填满手机上的内部存储并使其失败,没有选择“清除数据”来修复它)。

保存未使用设置中的清除数据选项删除的数据。您唯一的选择是保存到'外部存储'中,这个'外部存储'同时被视为'内部sd卡'和'外部sd卡'。基本上,任何不能通过清除数据删除的地方。

我相信这会回答你的问题。如果不是这样,那么请澄清你想知道的内容,而不是在评论中说'它不回答我的问题'。告诉我我没有回答,并且如果有的话请选择最正确的答案。

+0

那么,如果你看看整个问题的实际答案是不是根据你的答复,但谢谢你的答案清除它:-) – Crocodile 2012-03-20 19:38:04

0

如果数据不是很大,请将其写入项目中的xml文件。没有卸载应用程序,无法删除它。

+0

如何将它写入一个xml文件?我正在考虑保存安装应用程序后获得的动态数据。例如:用户特定的信息 – Crocodile 2012-03-20 14:23:33

+0

我不介意android允许这样做。也许你可以使用资产,但我不确定这是你想不想的。 – Tugrul 2012-03-20 21:00:11

相关问题