[Android]_ch5.10_手勢資料庫
package com.example.ch5_gesture;
import java.util.ArrayList;
import android.R.integer;
import android.app.Activity;
import android.gesture.Gesture;
import android.gesture.GestureLibraries;
import android.gesture.GestureLibrary;
import android.gesture.GestureOverlayView;
import android.gesture.GestureOverlayView.OnGesturePerformedListener;
import android.gesture.Prediction;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
TextView tv1;
GestureOverlayView gv;
GestureLibrary gestureLibrary;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv1=(TextView)findViewById(R.id.textView1);
gv=(GestureOverlayView)findViewById(R.id.gestureOverlayView1);
gestureLibrary=GestureLibraries.fromRawResource(MainActivity.this, R.raw.gestures);
if(!gestureLibrary.load())
finish();
gv.addOnGesturePerformedListener(new OnGesturePerformedListener() {
@Override
public void onGesturePerformed(GestureOverlayView overlay, Gesture usr) {
ArrayList<Prediction> list=gestureLibrary.recognize(usr);
if(list.size()>0){
StringBuilder sb=new StringBuilder("手勢資料庫比對結果如下:\n");
for(int i=0;i<list.size();i++){
String name=list.get(i).name;
double score=list.get(i).score;
sb.append("第"+(i+1)+"個手勢:"+name+" 分數:"+score+"\n");
}
if(list.get(0).score>2.0){
sb.append("電腦判斷手勢符號為:\n");
sb.append("手勢:"+list.get(0).name+" 分數:"+list.get(0).score+"\n");
}else{
sb.append("電腦無法判斷此手勢符號...");
}
tv1.setText(sb);
}else{
Toast.makeText(MainActivity.this, "找不到資料", Toast.LENGTH_SHORT).show();
}
}
});
}
}
沒有留言:
張貼留言