当前位置: 移动技术网 > IT编程>移动开发>Android > Android 线程thread的两种实现方法(必看)

Android 线程thread的两种实现方法(必看)

2019年07月24日  | 移动技术网IT编程  | 我要评论

文摘酷,爱情电影网站apdy香织,梁上君子

这篇文章中有三点需要提前说明一下,

一:在android中有两种实现线程thread的方法:

一种是,扩展java.lang.thread类

另一种是,实现runnable接口

二:thread类代表线程类,它的两个最主要的方法是:

run()——包含线程运行时所执行的代码

start()——用于启动线程

三: handler 机制,它是runnable和activity交互的桥梁,在run方法中发送message,在handler里,通过不同的message执行不同的任务。

下面分别给出两种线程的实现方法,其一,扩展java.lang.thread类,也就是把run()方法写到线程里面:

package com.my; 
import android.app.activity; 
import android.os.bundle; 
import android.os.handler; 
import android.os.message; 
import android.util.log; 
import android.view.view; 
import android.view.view.onclicklistener; 
import android.widget.button; 
public class demo_for_copy extends activity 
{ 
  public button button; 
   
  public handler mhandler=new handler() 
  { 
    public void handlemessage(message msg) 
    { 
      switch(msg.what) 
      { 
      case 1: 
        button.settext(r.string.text2); 
        break; 
      default: 
        break;    
      } 
      super.handlemessage(msg); 
    } 
  }; 
   
  /** called when the activity is first created. */ 
  @override 
  public void oncreate(bundle savedinstancestate) 
  { 
    super.oncreate(savedinstancestate); 
    setcontentview(r.layout.main); 
    button=(button)findviewbyid(r.id.button); 
 
    thread thread=new thread(new runnable() 
    { 
      @override 
      public void run() 
      { 
        log.e("1111", "111111111"); 
        // todo auto-generated method stub 
        message message=new message(); 
        message.what=1; 
        mhandler.sendmessage(message); 
      } 
    }); 
    thread.start(); 
  } 
} 

其二,实现runnable接口,让类实现runnable接口,然后把run方法单独提出来:

package com.my; 
import android.app.activity; 
import android.os.bundle; 
import android.os.handler; 
import android.os.message; 
import android.util.log; 
import android.view.view; 
import android.view.view.onclicklistener; 
import android.widget.button; 
import android.widget.linearlayout; 
public class title_change_demo extends activity implements runnable 
{ 
  public button button; 
  public linearlayout my_layout; 
   
  public handler mhandler=new handler() 
  { 
    public void handlemessage(message msg) 
    { 
      switch(msg.what) 
      { 
      case 1: 
        button.settext(r.string.text2); 
        break; 
      default: 
        break;      
      } 
      my_layout.invalidate(); 
      super.handlemessage(msg); 
    } 
  }; 
   
  /** called when the activity is first created. */ 
  @override 
  public void oncreate(bundle savedinstancestate) 
  { 
    super.oncreate(savedinstancestate); 
    setcontentview(r.layout.main); 
     
    button=(button)findviewbyid(r.id.button); 
    my_layout=(linearlayout)findviewbyid(r.id.my_layout); 
     
    thread thread=new thread(this); 
    thread.start(); 
  } 
   
  @override 
  public void run() 
  { 
    log.e("ok", "111111111"); 
    // todo auto-generated method stub 
    message message=new message(); 
    message.what=1; 
    mhandler.sendmessage(message); 
  } 
} 

以上这篇android 线程thread的两种实现方法(必看)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持移动技术网。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网