ジェスチャーに対応する(1):Gesture Builderを使う
|Android SDKではジェスチャー機能に対応しています。アプリ開発者は自分の使いたいジェスチャーのデータを用意して、アプリケーションに対応コードを追加することでユーザの利便性を向上できます。
ページ送り機能などタッチスクリーンでサッとできればとても便利ですが、直感的に理解できるジェスチャーを心がけたほうが良いでしょう。アプリケーションごとにジェスチャーを自由に設定できる反面、Androidとして統一の指標があるわけではないので、アプリケーションごとに同じジェスチャーでも動作が違う、など混乱する可能性もあります。事前にユーザがジェスチャーを確認できるように誘導すると良いでしょう。
以下のステップでジェスチャーに対応していきます。ジェスチャーに対応する(1)では「ジェスチャーの作成」について解説します
- ジェスチャーの作成
- 作成したジェスチャーを登録する
- ジェスチャーを入力する
- 登録されたジェスチャーから最も認識率の高いジェスチャーを選択する
では続きをどうぞ
ジェスチャーの作成
個々のジェスチャーは名前(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を認識するためのテンプレートが完成しました。おつかれさまでした。
テンプレート作成時の書き方、書き順など認識率に大きく影響を与える要素です。丁寧に作りたいところですね。
次回「作成したジェスチャーを登録する」では、ジェスチャーをアプリケーションに組み込んでいきます。トゥットゥルー