Android:Handler消息处理
程序员文章站
2022-07-14 14:31:57
...
Handler的主要用途
1.未来某时做某事
2.线程间通信
1.未来某时做某事
package com.example.scrollview;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
public class HandlerActivity extends AppCompatActivity {
Handler handler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_handler);
handler=new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
Intent intent=new Intent(HandlerActivity.this,EventActivity.class);
startActivity(intent);
}
}, 3000); //利用handler的postDelayed函数进行延时之后未来的操作声明
}
}
在页面上停留3秒钟然后跳转到另一个指定的页面,利用handler的postDelayed函数进行延时之后未来的操作声明
2.线程间通信
package com.example.scrollview;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import com.example.scrollview.util.ToastUtil;
public class HandlerActivity extends AppCompatActivity {
Handler handler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_handler);
handler=new Handler(){
@Override
public void handleMessage(@NonNull Message msg) {
super.handleMessage(msg);
switch (msg.what){
case 1:
ToastUtil.showMessage(HandlerActivity.this,"线程通信");
break;
}
}
};
new Thread(){
@Override
public void run() {
super.run();
Message message=new Message();
message.what=1;
handler.sendMessage(message);
}
}.start();
}
}
在线程中进行通信,利用handler的消息传递进行操作。
推荐阅读
-
NO.2 Android Opencv 像素处理
-
站内信/消息功能的小型推送应用,用轮询还是长轮询?该如何处理
-
Android中handler倒计时
-
八、快速上手处理微信请求:接收、解析、处理微信后台发送给你服务器的消息(一)
-
Android Handler的使用详解
-
Android的线程通信:消息机制原理(Message,Handler,MessageQueue,Looper),异步任务AsyncTask,使用JSON
-
.NET微信公众号开发之公众号消息处理
-
android非RxJava环境下使用Handler实现预加载
-
Android之利用EventBus发送消息传递示例
-
Android中几种图片特效的处理的实现方法