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

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

坚守“ 做人真诚 · 做事靠谱 · 口碑至上 · 高效敬业 ”的价值观,专业网站建设服务10余年为成都成都石雕小微创业公司专业提供企业网站制作营销网站建设商城网站建设手机网站建设小程序网站建设网站改版,从内容策划、视觉设计、底层架构、网页布局、功能开发迭代于一体的高端网站建设服务。

一:在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的两种实现方法(必看)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持创新互联。


本文名称:Android线程thread的两种实现方法(必看)
文章路径:http://bzwzjz.com/article/gjjgpg.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 手机网站制作设计 营销型网站建设 成都网站制作公司 网站建设方案 成都网站建设 成都营销网站制作 达州网站设计 营销型网站建设 成都网站建设 广安网站设计 温江网站设计 成都网站建设公司 成都网站建设 手机网站制作 重庆电商网站建设 重庆外贸网站建设 移动手机网站制作 成都网站制作 商城网站建设 自适应网站建设 成都网站制作 专业网站设计