在Android中实现线程的方法


一.在Android中实现Runnable类并复写Run()方法创建线程,其实该线程和Android的Activity是同一个线程,而不是单独的线程。
实现Runnable类并复写Run()方法
例:使用匿名内部类的方式实现一个线程

[java]
  1. Runnable updateThread = new Runnable(){  
  2.        @Overrde  
  3.         public void run()  
  4.         {  
  5.           system.out.println(“实现一个Runnable类,并实现Run方法”);  
  6.          }  
  7. }  

二.使用Android系统框架提供的HandlerThread创建新的线程。这是一个真正的线程。

1.        创建一个MyHandler继承自Handler的内部类,并在MyHandler的构造函数中使用       父类的构造函数来接受线程的Looper。并复写handlerMessage来接收消息。

[java]
  1. class MyHandler extends Handler{  
  2. public MyHandler(Looper looper)  
  3.        {  
  4.               super(looper);  
  5.        }  
  6.        @Override  
  7.        public void handleMessage(Messagemsg) {  
  8.               // TODO Auto-generatedmethod stub   
  9.               super.handleMessage(msg);  
  10.               System.out.println("NewThread--->"+ Thread.currentThread().getId());     
  11.        }  
  12. }  


2.        创建一个HandlerThread线程对象。并启动该线程
[java]

  1. HanderThread myHandlerThread = new HanderThread(“ThreadName”);  
  2. myHandlerThread.Start();  

3.        实例化MyHandler并把myHandlerThread线程的looper对象传递过去
[java]

  1. MyHandler myHandler = new MyHandler(myHandlerThread.getLooper());  

4.        创建一个myHandler的消息对象,并把消息传递给指定的线程。

[java]

  1. Message msg = myHandler.obtainMessage();  
  2. msg.sendToTarget();  

相关内容