2011-03-13 6 views
0

현재 모스 부호를 진동시키는 앱을 개발 중입니다. 내 응용 프로그램 점이나 대시를 진동하는 경우전화 진동 표시기

int dot = 100; 
int dash = 220; 
int short_gap = 200; 
int medium_gap = 700; 
s = new long[] {0, dot, short_gap, dash, medium_gap} 
Vibrator vibrator; 
vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);  
vibrator.vibrate(s, -1); 

가 어떻게 나타 내기 위해 표시를 추가하려면 :

나는 패턴을 진동이 코드를 사용하고?

나는 for 루프를 사용하여 long[]을 가로 지르고 if else 문을 사용하여 패턴 변경을 나타내는 textview 배경색을 변경할 수 있음을 알고 있습니다. 그렇다면 for 루프가 각 변경에 대해 진동 ms 내에 유지되도록하려면 어떻게해야합니까? 이 vibrate하기 전에 코드를 실행하고 진동을 시작하는 데 몇 MIL-초 걸리기 때문에 당신이 정확하려면

답변

1
dot = new long[] {200, 100}; 
dash = new long[] {700, 220}; 
String s = "01"; 
for (int i = s.length() - 1, i >= 0, i--) { 
    if (s.charAt(i) == "0") { 
    // CHANGE TEXTVIEW HERE 
    vibrator.vibrate(dot, -1); 
    } 
    else { 
    vibrator.vibrate(dash, -1); 
    } 
} 

, 당신은 그에 따라 시간을 단축해야 할 수도 있습니다. api에 따라 그런데


는 원래 코드는 내 원래의 코드는 0 점, short_gap, 대시, medium_gap 시작 .. 유 맞아

s = new long[] { short_gap, dot, medium_gap, dash} 
+0

옙해야한다. 나는 내 분류 자로 최대 36 자로 구성되어 있고 얼마나 많은 문자가 얼마나 많은 문자에 따라 매우 긴 배열에 넣어 각각 System.coppyarray를 사용하여 내가 ur 코드를 수정할 수 있는지 확인하려고합니다 – ben

+0

@ 벤자민 리 , 내 솔루션 (적어도) 확인입니까? - -b 신뢰 없음 ... –

+0

ur 솔루션은 적어도 ur 코드에서 작동 하나하지만 코드에 적용 할 수있는 것이 필요합니다. 시도해 보겠습니다. – ben