English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Analisi dell'uso della riconoscimento delle gesture in Android

Questo articolo analizza l'uso della funzione di riconoscimento delle gesture in Android. Lo condivido con tutti voi per riferimento. Ecco i dettagli specifici:

Sono molto contento di vedere la funzione di riconoscimento delle gesture su Android 1.6 SDK. Prima stavo pensando, come implementare la gestione delle gesture (o più esattamente, la gestione delle pen gesture) per controllare i personaggi dei giochi NDS in Android? Finalmente vedo un po' di luce in fondo al tunnel, ma ci sono ancora molti problemi dettagliati da risolvere per fare in modo che le gesture possano controllare i personaggi dei giochi come le pen gesture.

Nel simulatore Android 1.6 è preinstallato un programma chiamato Gestures Builder, che ti permette di creare i tuoi手势s (il codice sorgente di Gestures Builder si trova in sdk/samples, se sei interessato puoi guardarlo). I gesti creati vengono salvati in /sdcard/gestures, copialo nel tuo progetto all'interno di /res/raw e sarai in grado di utilizzare questi gesti nel tuo progetto. I gesti copiati in /res/raw sono readonly, il che significa che non puoi modificarli o aggiungerne di nuovi. Se vuoi modificare o aggiungere gesti, puoi caricare direttamente il file gestures presente sulla scheda SD.

Nell'esempio, ho creato questo tipo di gesto:

Passo due: crea GestureOverlayView all'interno di layout, questa view trasparente è quella che ti permette di disegnare手势s sopra di essa: puoi posizionarla sopra altre View:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  >
<TextView
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:text="@string/hello"
  />
<android.gesture.GestureOverlayView
  android:id="@+id/gestures"
  android:layout_width="fill_parent"
  android:layout_height="0dip"
  android:layout_weight="1.0"
  />
</LinearLayout>

Passo tre: carica Gesture:

mLibrary = GestureLibraries.fromRawResource(this, R.raw.gestures);
if (!mLibrary.load()) {
  finish();
{}

Passo quattro: aggiungi la funzione di risposta OnGesturePerformedListener:

GestureOverlayView gestures = (GestureOverlayView) findViewById(R.id.gestures);
gestures.addOnGesturePerformedListener(this);

Questi quattro passaggi ti permettono di realizzare un原型 di riconoscimento Gestures semplice:

Il risultato dell'esecuzione del programma è il seguente: scrivere una lettera 'a', il programma la riconosce e quindi mostra un toast con 'a':

Il codice completo è il seguente:

package com.ray.test;
import java.util.ArrayList;
import android.app.Activity;
import android.gesture.Gesture;
import android.gesture.GestureLibraries;
import android.gesture.GestureLibrary;
import android.gesture.GestureOverlayView;
import android.gesture.Prediction;
import android.gesture.GestureOverlayView.OnGesturePerformedListener;
import android.os.Bundle;
import android.widget.Toast;
public class TestGesture extends Activity implements OnGesturePerformedListener{
  GestureLibrary mLibrary;
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    GestureOverlayView gestures = (GestureOverlayView) findViewById(R.id.gestures);
    gestures.addOnGesturePerformedListener(this);
    mLibrary = GestureLibraries.fromRawResource(this, R.raw.gestures);
    if (!mLibrary.load()) {
      finish();
    {}
  {}
  @Override
  public void onGesturePerformed(GestureOverlayView overlay, Gesture gesture) {
    ArrayList predictions = mLibrary.recognize(gesture);
    // Vogliamo almeno una previsione
    if (predictions.size() > 0) {
      Prediction prediction = (Prediction) predictions.get(0);
      // Vogliamo almeno un po' di fiducia nel risultato
      if (prediction.score > 1.0) {
        // Mostra la spell
        Toast.makeText(this, prediction.name, Toast.LENGTH_SHORT).show();
      {}
    {}
  {}
{}

Chi è interessato a ulteriori contenuti relativi a Android può consultare la sezione speciale di questo sito: 'Concetti di gestione delle activity nel programming Android', 'Concetti di gestione delle viste View nel programming Android', 'Concetti di gestione del database SQLite nel programming Android', 'Concetti di gestione dei dati in formato JSON nel programming Android', 'Concetti di gestione del database nel programming Android', 'Riassunto delle tecniche di gestione dei file nel programming Android', 'Concetti di gestione della scheda SD nel programming Android', 'Tutorial di ingresso e avanzamento nel programming Android', 'Concetti di gestione delle risorse nel programming Android' e 'Riassunto delle tecniche di utilizzo dei controlli Android'.

Spero che il contenuto di questo articolo possa essere utile per la progettazione di applicazioni Android.

Dichiarazione: il contenuto di questo articolo è stato raccolto da Internet, il diritto d'autore spetta agli autori originali, il contenuto è stato contribuito e caricato dagli utenti di Internet, il sito web non detiene i diritti di proprietà, non è stato editato manualmente e non assume alcuna responsabilità legale. Se trovi contenuti sospetti di violazione del copyright, è possibile inviare una e-mail a: notice#oldtoolbag.com (al momento dell'invio dell'e-mail, sostituisci # con @) per segnalare il problema e fornire prove pertinenti. Una volta verificata, il sito web eliminerà immediatamente il contenuto sospetto di violazione del copyright.

Ti potrebbe interessare