以下代码段正在尝试存储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
答案 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的内容。