android非同步操作

2021-09-01 23:08:35 字數 2027 閱讀 1668

1、要實現非同步操作就要用到android提供乙個asynctask類,這個類是乙個泛型。下面附上我的**,我直接在**中說明

package com.example.async2;

import android.os.asynctask;

import android.view.view;

import android.widget.progressbar;

import android.widget.textview;

/** * 1、繼承asynctask,其中e1,e2,e3分別是三個型別

* 2、必須要重寫的方法是doinbackground方法

* 3、第乙個型別對應doinbackground方法的引數型別

* 4、第二個型別對應於onprogressupdate方法的引數型別

* 5、第三個對應於onpostexecute方法的引數型別

* 6、在生成該類的物件來實現非同步操作的時候要呼叫execute方法

* 7、呼叫該方法之後首先執行的是onpreexecute方法,然後執行doinbackground方法,最後執行onpostexecute方法

* * @author why

* */

public class progressbarasynctask extends asynctask

/*** 改方法不執行在ui執行緒之中,所以在該方法中不能對ui中的控制項進行操作

* 執行一些耗時較長的方法

*/@override

protected string doinbackground(integer... params)

return i + "";

} /**

* 該方法執行在ui執行緒中實現對ui執行緒中的控制項的一些操作

*/@override

protected void onpreexecute()

/*** 該方法執行在ui執行緒中實現對ui執行緒中的控制項的一些操作

*/@override

protected void onpostexecute(string result)

/*** 1、該方法執行在ui執行緒中實現對ui執行緒中的控制項的一些操作

* 2、在doinbackground方法中每次呼叫publishprogress都會觸發這個方法的執行

*/@override

protected void onprogressupdate(integer... values)

}

2、主介面activity

package com.example.async2;

import android.os.bundle;

import android.view.view;

import android.view.view.onclicklistener;

import android.widget.button;

import android.widget.progressbar;

import android.widget.textview;

/** * 主介面,有textview,progressbar和button三個控制項

* @author why

* */

public class mainactivity extends activity

});}}

3、netoperator模擬執行時間較長的一些操作

package com.example.async2;

/** *

* @author why

* */

public class netoperator catch (interruptedexception e)

}}

4、布局檔案,很簡單只有三個控制項。

<?xml version="1.0" encoding="utf-8"?>

android執行緒及非同步操作

現在完成乙個計數任務,從1計到100,在textview中顯示進度。如果把這些迴圈加的操作放在oncreat 方法中,肯定會出現阻塞。利用asynctask類在後台進行操作,可以使主ui執行緒順暢進行下去。這個類裡主要涉及到3個方法,doinbackground onprogressupdate o...

android非同步處理系列

1 使用thread handler實現非ui執行緒更新ui介面 總結 在這種結構中thread處理耗時任務,完成後通過mhandler.sendmessage 傳送訊息給ui執行緒的handler,ui執行緒的handler執行handlemessage message msg 2 handler...

Android非同步任務 AsyncTask 筆記

像handler訊息傳遞機制類似,android官方提供的專門用於處理耗時超作,並及時更新ui元件的乙個抽象類.常用於耗時操作,如網路操作,資料庫操作,等大量的耗時操作.asynctask是個抽象類,這一屬性決定我們運用時要繼承該類,並實現該類中的方法.params 1.execute params...