以下代码段尝试存储一个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

===============>>#1 票数:0

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

顺便说一句,不要依赖于返回的值在设备之间是相同的。 不是。

===============>>#2 票数:0

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

===============>>#3 票数:0

由于Nexus 4没有外部SD(与我现在正在使用的Nexus 5相同),因此其操作系统会临时模拟SD。 因此,调用Environment.getExternalStorageDirectory()返回以下路径: tempDirPath:/storage/emulated/0/ ,但您以后可以在/storage/emulated/legacy对其进行访问。

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

  ask by Fihop translate from so

未解决问题?本站智能推荐: