Android:“/ sdcard”与Environment.getExternalStorageDirectory()之间的区别是什么

时间:2012-11-19 09:14:20

标签: android sd-card

我曾经使用path="/sdcard/myapp"来保存数据。 但是,编译器建议我使用Environment.getExternalStorageDirectory()而不是硬编码"/sdcard"

我的问题是:
如果我这样做,myapp的用户在更新时是否会丢失数据? 如果是,如何预防?

2 个答案:

答案 0 :(得分:2)

有时,某些设备制造商可能会使用不同的路径来存储外部存储。某些设备可能根本没有外部存储,并将其板载存储的一部分视为外部存储。在其他时候,“/ sdcard”也可能映射到另一个存储区域。

因此,使用"/sdcard".

通常不明智

另一方面,Environment.getExternalStorageDirectory()是一个系统API,所有设备制造商都将始终支持。它将始终正确映射到存储区域,该区域旨在用作该特定设备的外部存储。因此,只要需要对外部存储目录的引用,就可以安全地使用它。

答案 1 :(得分:0)

并非所有设备都有SD卡。有些人像平板电脑那样建立存储空间因此,您应该使用外部存储目录。

可能是目录映射到/ sdcard但可能是其他目录/ mount。

回答你的问题:不,他们不会在那里丢失数据。