什么是nexus LG上的外部存储目录

时间:2013-04-16 02:52:26

标签: android android-external-storage

以下代码段正在尝试存储Gesture对象。

private Gesture mGesture;
private GestureLibrary store;
store.addGesture("test", mGesture);
store.save();

我想知道mGesture存储在哪里?

接下来是上面的代码,作者给出了以下代码:

final String path = new File(Environment.getExternalStorageDirectory(),
                    "gestures").getAbsolutePath();
Toast.makeText(this, getString(R.string.save_success, path), Toast.LENGTH_LONG).show();

所以我猜mGesture存储在path指示的某个地方。 但我不知道自己的道路是什么。我试过调试。它给了我类似的东西:"存储/模拟/ 0 /手势/"。但我无法在我的设备上找到此目录。 顺便说一句,我的设备是nexus 4

3 个答案:

答案 0 :(得分:0)

Nexus设备没有SD插槽。他们假装内部驱动器上的某个地方是SD卡。但是该函数返回的确切路径确实存在于您的设备上,否则您无法为其创建文件。

顺便说一句,不要依赖于设备之间返回的值相同。事实并非如此。

答案 1 :(得分:0)

是的,同意gabe,这只是一个建议,但你可以使用if和else与mkdirs一起检查目录或文件夹是否存在,如果它不存在,它将在指定位置创建一个新文件夹。

答案 2 :(得分:0)

由于Nexus 4没有外置SD,(我现在正在使用的Nexus 5也是如此),它的操作系统暂时模拟SD。因此,调用Environment.getExternalStorageDirectory()会返回以下路径:tempDirPath:/storage/emulated/0/,但稍后您可以/storage/emulated/legacy访问该路径。

尝试通过adb shell访问它,此legacy文件夹将存储模拟外部SD的内容。