zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

android开发教程之使用looper处理消息队列

2023-06-13 09:15:16 时间

复制代码代码如下:


packagecom.yanjun;

importandroid.app.Activity;
importandroid.os.Bundle;
importandroid.os.Handler;
importandroid.os.HandlerThread;
importandroid.os.Looper;
importandroid.os.Message;

publicclassHandlerActivityextendsActivity{

 @Override
 publicvoidonCreate(BundlesavedInstanceState){
   super.onCreate(savedInstanceState);
   setContentView(R.layout.main);
     //通过HandlerThread对象来实现使用looper处理消息队列的功能
   HandlerThreadhandlerThread=newHandlerThread("handlerThread");
   //使线程运行必须调用start()
   handlerThread.start();
   MyHandlermyHandler=newMyHandler(handlerThread.getLooper());
   Messagemessage=myHandler.obtainMessage();
   //把message发送到myHandler.obtainMessage()目标处,即谁调用的就发送给谁
   Bundlebundle=newBundle();
   //通过bundle添加数据
   bundle.putInt("age",10);
   bundle.putString("name","john");
   //将bundle信息添加进去
   message.setData(bundle);
   message.sendToTarget();
 }

 classMyHandlerextendsHandler{

   publicMyHandler(Looperlooper){
     super(looper);
     //TODOAuto-generatedconstructorstub
   }

   @Override
   publicvoidhandleMessage(Messagemsg){
     Bundlebundle=msg.getData();
     intage=bundle.getInt("age");
     Stringname=bundle.getString("name");
     System.out.println("年龄"+age+"名字"+name);
         }

 }