中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-09-30 06:51:50 來源:腳本之家 閱讀:706 作者:jingxian 欄目:移動開發

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

一:在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的兩種實現方法(必看)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

克什克腾旗| 桑植县| 仲巴县| 都昌县| 西畴县| 定结县| 英德市| 沂水县| 金门县| 盘锦市| 宣威市| 彭泽县| 永德县| 宁德市| 甘孜县| 昔阳县| 陆川县| 海淀区| 嵊州市| 施甸县| 天津市| 明水县| 浏阳市| 雅安市| 万盛区| 梁河县| 云林县| 堆龙德庆县| 综艺| 喀什市| 荃湾区| 澳门| 紫阳县| 平遥县| 民乐县| 惠来县| 南京市| 安平县| 红原县| 广宗县| 炎陵县|