我有一个屏幕,用户在其中创建手势,然后用户按 Next 并在 Next 屏幕上要求用户确认该手势。基本上我希望将手势存储为密码。手势创建工作正常,我有以下代码行将手势存储在设备的内存中:
GestureLibrary store = GestureLibraries.fromRawResource(this, R.raw.gestures);;
store.addGesture("Gesture Password", mGesture);
store.save();
setResult(RESULT_OK);
我还在纠结如何识别手势,但现在我只是想弄清楚如何与内存中存储的手势进行比较。我有以下内容:
public void onGesturePerformed(GestureOverlayView overlay, Gesture gesture) {
ArrayList<Prediction> predictions = gestureLib.recognize(gesture);
for (Prediction prediction : predictions) {
if (prediction.score > 1.0) {
Toast.makeText(this, prediction.name, Toast.LENGTH_SHORT).show();
}
}
}
在哪里:
private GestureLibrary gestureLib = GestureLibraries.fromRawResource(this, R.raw.gestures);
据我了解,在我创建手势的第一个屏幕上,它存储在 raw.gestures 中,然后我尝试在确认屏幕中再次访问它,如果确认手势足够相似,吐司应该返回“手势密码”。但这由于某种原因不起作用,我错过了什么?我是否错误地存储和检索手势?