Android学习笔记——Handler实例
时间:2022-03-10 18:00
Handler的实质就是异步消息处理。
实例一:
Handler的基本用法
XML布局代码:
Java代码:
实例二:
Handler与ProgressBar的结合使用
XML布局代码:
Java代码:
实例三:
Handler与线程的关系(一)
XML布局代码:
public class HandlerMsgActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); initContent(); } private void initContent() { setContentView(R.layout.activity_handlermsg); // 打印当前线程 System.out.println("activity---->" + Thread.currentThread().getId()); // 生成一个HandlerThread对象(具有循环处理消息的功能),实现了Looper来处理消息队列 HandlerThread handlerThread = new HandlerThread("handler_thread"); // 让一个线程运行,必须用[线程名称].start()方法 handlerThread.start(); MyHandler myHandler = new MyHandler(handlerThread.getLooper()); Message msg = myHandler.obtainMessage(); Bundle b = new Bundle(); b.putInt("age", 20); b.putString("name", "滔滔1024"); msg.setData(b); //msg.arg1与msg.arg2的消耗比msg.setData()小,但只能传递整型变量 // 将msg发动到目标对象,所谓目标对象,就是生成msg的handler对象,本例中是发送到MyHandler对象中 msg.sendToTarget(); } class MyHandler extends Handler { public MyHandler() { } public MyHandler(Looper looper) { super(looper); } @Override // 每当向Handler发送一个msg的时候,就会执行handleMessage()方法 public void handleMessage(Message msg) { Bundle b = msg.getData(); int age = b.getInt("age"); String name = b.getString("name"); System.out.println("age->"+age+"\nname->"+name); System.out.println("handler---->" + Thread.currentThread().getId()); System.out.println("handlerMessage"); } } }
相关推荐
- Android系统编程入门系列之界面Activity交互响应
- 新型横向移动工具原理分析、代码分析、优缺点以及检测方案
- uni-app滚动视图容器(scroll-view)之监听上拉事件
- uniapp h5,app两端复制文本
- Android系统编程入门系列之界面Activity响应丝滑的传统动画
- 【Azure 应用服务】App Service 配置 Application Settings 访问Storage Account得到 could not be resolved: '*.file.core.windows.net'的报错。没有解析成对应中国区 Storage Account地址 *.file.core.chinacloudapi.cn
- 诺基亚短信生成!太好玩了
- iOS 跳转App Store进行评分
- 开发一个即时通讯App
- 关闭苹果IOS app自动更新
电脑软件
本类排行
- 1关闭苹果IOS app自动更新
- 2iOS 跳转App Store进行评分
- 3诺基亚短信生成!太好玩了
- 4Android系统编程入门系列之界面Activity响应丝滑的传统动画
- 5uniapp h5,app两端复制文本
- 6uni-app滚动视图容器(scroll-view)之监听上拉事件
- 7新型横向移动工具原理分析、代码分析、优缺点以及检测方案
- 8Android系统编程入门系列之界面Activity交互响应
- 9开发一个即时通讯App
- 10【Azure 应用服务】App Service 配置 Application Settings 访问Storage Account得到 could not be resolved: '*.file.core.windows.net'的报错。没有解析成对应中国区 Storage Account地址 *.file.core.chinacloudapi.cn