ジェスチャーに対応する(1):Gesture Builderを使う


Android SDKではジェスチャー機能に対応しています。アプリ開発者は自分の使いたいジェスチャーのデータを用意して、アプリケーションに対応コードを追加することでユーザの利便性を向上できます。

ページ送り機能などタッチスクリーンでサッとできればとても便利ですが、直感的に理解できるジェスチャーを心がけたほうが良いでしょう。アプリケーションごとにジェスチャーを自由に設定できる反面、Androidとして統一の指標があるわけではないので、アプリケーションごとに同じジェスチャーでも動作が違う、など混乱する可能性もあります。事前にユーザがジェスチャーを確認できるように誘導すると良いでしょう。

以下のステップでジェスチャーに対応していきます。ジェスチャーに対応する(1)では「ジェスチャーの作成」について解説します

  1. ジェスチャーの作成
  2. 作成したジェスチャーを登録する
  3. ジェスチャーを入力する
  4. 登録されたジェスチャーから最も認識率の高いジェスチャーを選択する

では続きをどうぞ

ジェスチャーの作成


個々のジェスチャーは名前(String)と入力ストローク(指の動き)から構成されています。いくつかのジェスチャーを1つのファイルにまとめて認識に使います。

ジェスチャーを作るためのツールGesture BuilderがAndroid SDKのSamplesに同梱されています。

Eclipseのメニューから、ファイル(F)>新規(N)>プロジェクト(R)>Androidプロジェクトを選択、
外部ソースからプロジェクトを作成、Gesture Builderのパスを指定します。

C:\android\android-sdk-windows\samples\android-10\GestureBuilder

「Gesture Builderでジェスチャーを作成すると、SDカードに出力されるよ、エミュレータの場合はSDカードがマウントされてるか確認しよう」

Gesture Builderで作ったデータは開発者がテンプレートとして利用します。テンプレートとはユーザーの入力したジェスチャーと比べて、入力が該当したジェスチャーと合致するか判断する基準のことです。
Gesture Builderを起動すると以下のようにまっくろな画面を表示します。

Add Gestureを選択して新規にジェスチャーを作りましょう。
名前のほか、画面をタッチしてテンプレートとなるジェスチャーを入力します。

入力が完了したらDoneで画面を戻ります。一筆書き以外もテンプレートとして利用することは可能ですが、書き順や画数が複雑になればなるほど、認識時の難易度(正しい結果が得られない)が上がります。注意してジェスチャーを作ってください。

今回は小文字のg、記号の△をテンプレートとして登録しました。いくつか入力を繰り返してテンプレートを増やしてください。gestureの出力先ファイルは以下の通りです。

/mnt/sdcard/gesture

これでgestureを認識するためのテンプレートが完成しました。おつかれさまでした。
テンプレート作成時の書き方、書き順など認識率に大きく影響を与える要素です。丁寧に作りたいところですね。

次回「作成したジェスチャーを登録する」では、ジェスチャーをアプリケーションに組み込んでいきます。トゥットゥルー

One Comment