android是可以多執行緒(多工)的,以下範例示範多執行緒。

 

程式碼:

package com.example.tt_sample;

import android.app.Activity;

import android.os.Bundle;

import android.os.Handler;

import android.os.HandlerThread;

import android.view.Menu;

 

public class MainActivity extends Activity {

     private Handler mUI_Handler=new Handler();

     private Handler mThreadHandler;

     private HandlerThread mThread

    

     @Override

     protected void onCreate(Bundle savedInstanceState) {

         super.onCreate(savedInstanceState);

         setContentView(R.layout.activity_main); 

        

         mThread=new HandlerThread("aa");

         mThread.start();

         mThreadHandler=new Handler(mThread.getLooper());

         mThreadHandler.post(r1);

     }

 

     private Runnable r1=new Runnable(){

         publicvoid run(){

              //這裡放執行緒1要執行的程式。

 

              mUI_Handler.post(r2); //執行執行緒2。

         }

     };

    

     private Runnable r2=new Runnable(){

         publicvoid run(){

           //這裡放執行緒2要執行的程式。

         }

     };

    

     @Override

     protectedvoid onDestroy(){

        super.onDestroy();

        if(mThreadHandler != null){

            mThreadHandler.removeCallbacks(r1);

        }

        if(mThread != null){

            mThread.quit();

        }

     }

    

     @Override

     publicboolean onCreateOptionsMenu(Menu menu) {

         // Inflate the menu; this adds items to the action bar if it is present.

         getMenuInflater().inflate(R.menu.main, menu);

         returntrue;

     }

}

 

arrow
arrow
    文章標籤
    android Thread 執行緒
    全站熱搜
    創作者介紹
    創作者 jcgogo 的頭像
    jcgogo

    jcgogo

    jcgogo 發表在 痞客邦 留言(0) 人氣()