Android异步通信中实现子线程的定时启动
16lz
2021-01-26
在子线程的run方法中加入
handler.postDelayed(this,1000);
此处的handler是Handler的实例化对象。
this指向的是一个实现了Runnable接口的内部类
这行代码的作用为1s后再次开启这个线程
完整的实现安卓界面中的定时功能的代码
public class MainActivity extends AppCompatActivity { private TextView textView; Handler handler=new Handler(){ @Override public void handleMessage(@NonNull Message msg) { super.handleMessage(msg); switch (msg.what){ case 0: textView.setText("结束"); break; default: textView.setText(msg.arg1+""); break; } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView = findViewById(R.id.textview1); new Thread(new MyRunable()).start(); } int time=10; private class MyRunable implements Runnable{ @Override public void run() { //发送消息 Log.i("testT"," "+time+""); if (time<=0){ //发送结束 handler.sendEmptyMessage(0); }else{ Message message=new Message(); message.what=1; message.arg1=time; handler.sendMessage(message); handler.postDelayed(this,1000); time--; } } };}
更多相关文章
- SpringBoot 2.0 中 HikariCP 数据库连接池原理解析
- android中的surfaceSurface、SurfaceHolder及SurfaceHolder.Call
- Android内存泄漏分析心得
- Android(安卓)Handler学习之异步与多线程(★推荐)
- Android消息处理
- 2019寒冬之下,作为一个android码农,是如何进入腾讯的?
- android View中如何判断长按事件
- Android在代码中开启OpenGL 4xMSAA 抗锯齿
- AIDL/IPC Android(安卓)AIDL/IPC 进程通信机制——超详细讲解及