2014-07-22 181 views
0

如果我的应用程序使文件&将其存储在应用程序的内部存储器中,即在路径<internal_storage>/data/data/<package>中,如果我卸载应用程序将我存储的文件从位置中删除?如果我给任何模式写入文件(world_readable,world_writable似乎已被废弃),任何应用程序(如文件管理器)都可以查看我创建的文件?我对这个话题做了大量的研究,这对我没有太大的帮助。Android和内部存储内存

回答

1

如果我卸载应用程序将我存储的文件从位置删除?

是的。

同时在写入文件时,如果我给任何模式(world_readable,world_writable似乎已被弃用),像文件管理器的任何应用程序都可以看到我创建的文件?

  • MODE_PRIVATE:默认模式,其中所创建的文件只能通过调用应用程序(或共享相同的用户ID的所有应用程序)访问。

  • MODE_APPEND:与openFileOutput(String, int)一起使用,如果文件已经存在,则将数据写入现有文件的末尾而不是将其擦除。

  • MODE_WORLD_READABLE:允许所有其他应用程序对已创建文件具有读取访问权限。

  • MODE_WORLD_WRITEABLE:允许所有其他应用程序对创建的文件具有写入权限。

在过去的两个模式(这两者都是不建议使用),下面应该考虑:

创建世界可读的文件是很危险的,容易造成 安全漏洞应用。强烈不鼓励;相反, 应用程序应使用更正式的交互机制,如 ContentProviderBroadcastReceiverService。没有 保证此访问模式将保留在文件上,例如 它经历备份和恢复。

+0

有什么方法可以将数据存储在平板电脑的内存中,这些数据在应用程序卸载时不会丢失? – user3773828

+0

内部存储,没有。您可以将其保存到外部存储设备,并知道随时可能会被删除/丢失。也许考虑使用网络来存储和检索自己的基于Web的服务的数据? – curtisLoew

+0

通过内部存储我的意思是设备的二级存储器,这是与设备捆绑在一起的2 GB大容量内存,如果我无法访问该设备,我无法以与访问SD相同的方式访问它的原因是什么卡? – user3773828