最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android 線程thread的兩種實現(xiàn)方法(必看)

 更新時間:2017年02月27日 09:00:04   投稿:jingxian  
下面小編就為大家?guī)硪黄狝ndroid 線程thread的兩種實現(xiàn)方法(必看)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

這篇文章中有三點需要提前說明一下,

一:在android中有兩種實現(xiàn)線程thread的方法:

一種是,擴(kuò)展java.lang.Thread類

另一種是,實現(xiàn)Runnable接口

二:Thread類代表線程類,它的兩個最主要的方法是:

run()——包含線程運行時所執(zhí)行的代碼

Start()——用于啟動線程

三: Handler 機(jī)制,它是Runnable和Activity交互的橋梁,在run方法中發(fā)送Message,在Handler里,通過不同的Message執(zhí)行不同的任務(wù)。

下面分別給出兩種線程的實現(xiàn)方法,其一,擴(kuò)展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(); 
  } 
} 

其二,實現(xiàn)Runnable接口,讓類實現(xiàn)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的兩種實現(xiàn)方法(必看)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

油尖旺区| 祥云县| 永春县| 芦溪县| 天台县| 庐江县| 右玉县| 海伦市| 广南县| 桦南县| 澄城县| 宁武县| 嵊州市| 龙陵县| 兴安盟| 普宁市| 白朗县| 道真| 南召县| 达州市| 黑龙江省| 喀什市| 双鸭山市| 梁平县| 文山县| 贺兰县| 金塔县| 中方县| 阿拉善盟| 怀仁县| 米易县| 桂东县| 阳城县| 鹿泉市| 仁布县| 大关县| 东山县| 航空| 大安市| 奉贤区| 许昌市|