Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 高級開發 >> Android異步線程與Bundle消息傳遞

Android異步線程與Bundle消息傳遞

編輯:高級開發

Java代碼

  package com.lzr;

  /////驗證異步線程

  /////先修改androidManifest.XML來默認啟動HanderTest2這個Activity

  ////使用Looper來啟動另一個線程實現handler

  ////HandlerThread對象用法

  ////Bundle對象用法

  import android.app.Activity;

  import android.os.Bundle;

  import android.os.Handler;

  import android.os.HandlerThread;

  import android.os.Looper;

  import android.os.Message;

  public class Handlertest2 extends Activity {

  @Override

  protected void onCreate(Bundle savedInstanceState) {

  // TODO Auto-generated method stub

  super.onCreate(savedInstanceState);

  setContentVIEw(R.layout.main);

  //打印當前線程的ID

  System.out.println("Activity--->"+Thread.currentThread().getId());

  ///生成一個HandlerThread線程對象,實現使用Looper來處理消息隊列的功能,這個類由android提供

  HandlerThread handlerThread=new HandlerThread("handler_thread");

  ////在使用HandlerThread的getLooper()方法前,必須先調用start()啟動線程

  handlerThread.start();

  ////

  MyHandler myHandler=new MyHandler(handlerThread.getLooper());

  Message msg=myHandler.obtainMessage();

  ////生成Bundle對象

  Bundle b=new Bundle();

  b.putInt("age", 25);

  b.putString("name", "make");

  msg.setData(b);

  ////將msg發送到目標對象,所謂目標對象,就是生成該對象的handler對象,如myHandler

  msg.sendToTarget();///調用當生成的對象發送給handleMessage(Message msg)

  }

  class MyHandler extends Handler{

  public MyHandler()

  {}

  ////使用looper來使Handler從另外一個線程中的消息隊列中取得數據

  public MyHandler(Looper looper)

  {

  super(looper);

  }

  @Override

  public void handleMessage(Message msg) {

  接上頁

  // TODO Auto-generated method stub

  ///super.handleMessage(msg);

  Bundle b=msg.getData();

  int age=b.getInt("age");

  String name=b.getString("name");

  System.out.println("age is"+age+" name is"+name);

  System.out.println("handler--->"+Thread.currentThread().getId());

  System.out.println("handlerMessage");

  }

  }

  }

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved