2012年12月17日月曜日

バイブ機能(Vibrator)

今回はアプリ制作時に地味に大切なバイブ機能について記します。

と、その前に。。


自分の作るアプリにバイブ機能は関係ない
と思っていませんか?

「振動プルプルしてUZA」
「ゲーム作っている訳ぢゃないから、バイブなんていらNE-YO」
などなど

まぁまぁ。。。
おさえておさえて


とりあえず記載すると。


AndroidManifest.xmlにパーミッションの追加

<uses-permission android:name="android.permission.VIBRATE"/>

メインソース

package com.example.vibtest;

import android.os.Bundle;
import android.os.Vibrator;
import android.app.Activity;

public class MainActivity extends Activity {

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    // Vibratorインスタンス取得
    Vibrator vib = (Vibrator)getSystemService(VIBRATOR_SERVICE);

    //100ミリ秒の振動
    vib.vibrate(100);
 
  //こんな使い方も
    long[] pattern = {50, 100, 500, 1000, 10, 500};  

    //50ミリ秒後に100ミリ秒の振動。500ミリ秒休憩して1000ミリ秒の振動。10ミリ秒休憩の500ミリ秒の振動
    vibrator.vibrate(pattern, -1);

    }
}

このような感じで使います。

第1引数に、振動させたい時間をミリ秒で指定します。

引数が2つの場合には、振動パターンを格納した配列を第1引数に
配列内の振動を繰り返す場合には第2引数を0、一度きりなら、-1

バイブを止める時は

vib.cancel();


結構、簡単に組み込めます。



そして、

話を戻して
なぜ、バイブが大事か?

ユーザーのタッチイベントが成功したことをユーザー
通知するために大事です。

意味わからない日本語になってしまいましたが。。。。

言い換えると、

ユーザーが画面をタッチしたときに、
ちゃんと押せているか不安になるのを
解消するためにバイブで軽く震わせます。

これで、ユーザーはボタンをしっかり押せたことを
認知して、ボタンを連打したり、無闇に画面遷移しなくなるでしょう。

想定外の操作をされると、サポート大変ですもんね。


0 件のコメント:

コメントを投稿