Android 正确使用线程和计时器
我有三个功能-动画,声音,振动。所有这些单独工作都非常好。我需要同时启动这3个功能,继续播放3秒钟,然后停止。我希望每15秒重复一次。实现这一目标的正确方法是什么? 我的振动代码如下Android 正确使用线程和计时器,android,Android,我有三个功能-动画,声音,振动。所有这些单独工作都非常好。我需要同时启动这3个功能,继续播放3秒钟,然后停止。我希望每15秒重复一次。实现这一目标的正确方法是什么? 我的振动代码如下 public void vibration(){ int dash = 1000; int medium_gap = 500; long[] pattern = { 0, // Start immediately dash, medium_gap,dash , mediu
public void vibration(){
int dash = 1000;
int medium_gap = 500;
long[] pattern = { 0, // Start immediately
dash, medium_gap,dash , medium_gap
};
// Only perform this pattern one time (-1 means "do not repeat")
v.vibrate(pattern, -1);
}
动画代码:
linear = (LinearLayout) findViewById(R.id.lay);// this line is after setContentView in onCreate
public void anim(){
drawable.addFrame(new ColorDrawable(Color.RED), 1000);
drawable.addFrame(new ColorDrawable(Color.WHITE), 500);
drawable.setOneShot(false);
linear.setBackgroundDrawable(drawable);
drawable.start();
}
使用声音池发出声音:
sp = new SoundPool(5, AudioManager.STREAM_NOTIFICATION, 0);
buzzer = sp.load(this, R.raw.buzzer, 0);
public void sound(){
sp.play(buzzer, 1,1, 0, 0, 1); //start alert tone
}
您需要实现线程才能在指定的时间内一起运行
Thread myTime = new Thread()
{
void run(){
sleep(3000) //sleep untill 3 sec than stop
//your code
}
}
你可以使用倒计时。对于每一个滴答声,你可以设置每一个滴答声15秒,并在onTick()方法中执行所需的操作。对吗?@Tamilselvan你能给我提供一个关于如何实现这一点的代码片段吗?我对使用线程和计时器知之甚少。谢谢。@newtoandroid你为什么要复制?你已经有3个答案了。@SimonZettervall只是因为我没有得到一个合适的答案。如果你有任何解决办法,请帮助:请停止张贴重复的问题,这就是为什么我会选择这一个!如果原件不符合要求,请解释、重新编辑问题、澄清。