android 开发中如何实现让程序执行一条语句后延时一段时间后再执行下面的语句 20
现在的编程思想还是停留在单片机c开发上,用了for{inti=0;i<1000;i++}发现在android开发上没有延时效果,急求一个简单的延时,我是初学者希望给个实例...
现在的编程思想还是停留在单片机c开发上,用了for{int i=0;i<1000;i++}发现在android开发上没有延时效果,急求一个简单的延时,我是初学者希望给个实例,答案满意后加分哦
展开
6个回答
展开全部
方案1:线程阻断
try {
Thread.currentThread().sleep(2000);//阻断2秒
} catch (InterruptedException e) {
e.printStackTrace();
}
方案2:使用Handler的postDelayed延迟操作
mHandler .postDelayed(mRunnable, 3000); // 在Handler中执行子线程并延迟3s。
private Runnable mRunnable = new Runnable() {
@Override
public void run() {
mHandler.sendEmptyMessage(1);
}
};
Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
//3s后执行代码
}
};
try {
Thread.currentThread().sleep(2000);//阻断2秒
} catch (InterruptedException e) {
e.printStackTrace();
}
方案2:使用Handler的postDelayed延迟操作
mHandler .postDelayed(mRunnable, 3000); // 在Handler中执行子线程并延迟3s。
private Runnable mRunnable = new Runnable() {
@Override
public void run() {
mHandler.sendEmptyMessage(1);
}
};
Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
//3s后执行代码
}
};
展开全部
你这方法完全是利用了单片机处理速度慢才会有伪延时效果,实际上那时机器正在运算,放在好点的机器上运算速度快了当然就没延时效果了。正统的延时还是要用到楼上说的线程,安卓还有一个timer类也可以用于定时。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、用线程,sleep一定时间后,再发送message返回,主线程接收到返回消息再继续执行
2、sleep(1000);
2、sleep(1000);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
try {
Thread.currentThread().sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
Thread.currentThread().sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有好几种实现方法
你可以用线程
也可以用定时器
android的线程比java多了一个异步线程
你可以用线程
也可以用定时器
android的线程比java多了一个异步线程
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询