本例介紹了OS中的Vibrator (震動)的用法,類MorseCodeConverter 提供了將字母數字到 Morse code 轉換:
比如:/* A */ new long[] { DOT, GAP, DASH } 分別對應Dot , Gap, Dash
DOT,GAP ,DASH 對應的時間定義為:
[java]
private static final long SPEED_BASE = 100;
static final long DOT = SPEED_BASE;
static final long DASH = SPEED_BASE * 3;
static final long GAP = SPEED_BASE;
static final long LETTER_GAP = SPEED_BASE * 3;
static final long WORD_GAP = SPEED_BASE * 7;
private static final long SPEED_BASE = 100;
static final long DOT = SPEED_BASE;
static final long DASH = SPEED_BASE * 3;
static final long GAP = SPEED_BASE;
static final long LETTER_GAP = SPEED_BASE * 3;
static final long WORD_GAP = SPEED_BASE * 7;有了這個轉換表,就可以使用vibrator 利用震動發送Morse code.
[java]
long[] pattern = MorseCodeConverter.pattern(text);
// Start the vibration
Vibrator vibrator
= (Vibrator)getSystemService(Context.VIBRATOR_SERVICE);
vibrator.vibrate(pattern, -1);
long[] pattern = MorseCodeConverter.pattern(text);
// Start the vibration
Vibrator vibrator
= (Vibrator)getSystemService(Context.VIBRATOR_SERVICE);
vibrator.vibrate(pattern, -1);
public void vibrate(long[] pattern, int repeat) 可以讓裝置以指定的模式來震動手機。repeat 為重複的次數,-1表示不重複。
此外Vibrator 還提供了public void vibrate(long milliseconds) 可以使手機震動給定時間。
作者:mapdigit