就是这个例子是我从书上看的 是一个手势识别的例子 我现在在做的是手势保存 但是课本上是保存到sd中 安卓studio中的模拟器没法存 所以我决定用手机运行 但是根据课本上让改的这行代码我改了(我知道这个路径不会让我的结果存在手机里)然后就运行结果显示保存失败 就是我想问我该怎么改才能让我输入的图像存在我的手机本地里然后供我下一个软件识别图案使用呢 最好能有源码🥺
GestureOverlayView overlay = findViewById(R.id.mOverlay);
String path = getExternalFilesDir("").getAbsolutePath()+ File.separator;
Log.i("路径",path);
//获取手势库
GestureLibrary gestureLibrary = GestureLibraries.fromFile(path+"gesture");
//判断手势库是否加载
if (gestureLibrary.load()) {
Log.i("手势","手势文件已经装载");
Toast.makeText(ThreeActivity.this, "手势文件已经装载", Toast.LENGTH_SHORT).show();
}else{
Log.i("手势","手势文件装载失败");
Toast.makeText(ThreeActivity.this, "手势文件装载失败", Toast.LENGTH_SHORT).show();
}
//添加绘制后监听
overlay.addOnGesturePerformedListener(new GestureOverlayView.OnGesturePerformedListener() {
@Override
public void onGesturePerformed(GestureOverlayView overlay, Gesture gesture) {
//获取所有相似的手势
ArrayList<Prediction> recognizes = gestureLibrary.recognize(gesture);
if (recognizes==null){
recognizes = new ArrayList<>();
}
Log.i("手势","数量:" + recognizes.size());
//遍历相似的手势,相似度高于5的才打印
for (Prediction recognize : recognizes) {
Log.i("手势","名称:"+recognize.name+",相似度:" + recognize.score);
if (recognize.score > 5.0) {
Toast.makeText(ThreeActivity.this, "手势名称:" + recognize.name + " 相似度:" + recognize.score, Toast.LENGTH_SHORT).show();
}
}
//添加手势 (手势名称,手势)
gestureLibrary.addGesture("gesture", gesture);
//保存手势
gestureLibrary.save();
}
});