亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Verzeichnis suchen
android Manifest Manifest.permission Manifest.permission_group android.accessibilityservice AccessibilityService android.accounts Account android.app NotificationManager android.bluetooth BluetoothAdapter BluetoothClass BluetoothClass.Device BluetoothClass.Device.Major BluetoothClass.Service BluetoothDevice BluetoothServerSocket BluetoothSocket android.content SharedPreferences android.database.sqlite SQLiteCursorDriver SQLiteOpenHelper android.graphics Bitmap android.location LocationListener Geocoder GpsStatus GpsStatus.Listener GpsStatus.NmeaListener GpsSatellite android.media AudioFormat AsyncPlayer AudioRecord AudioRecord.OnRecordPositionUpdateListener ThumbnailUtils AudioManager android.net TrafficStats MailTo LocalSocket android.os AsyncTask AsyncTask.Status CountDownTimer Message MessageQueue HandlerThread android.text Html android.util JsonWriter android.view ContextMenu ContextMenu.ContextMenuInfo Display ViewManager View ViewStub ViewTreeObserver ViewParent WindowManager GestureDetector Gravity MenuInflater ScaleGestureDetector SoundEffectConstants android.view.inputmethod InputConnection InputMethod InputMethodSession BaseInputConnection InputMethodManager android.widget AbsListView AbsListView.LayoutParams AbsListView.OnScrollListener AbsListView.RecyclerListener AbsoluteLayout AbsoluteLayout.LayoutParams AbsSeekBar AbsSpinner AdapterView AdapterView.AdapterContextMenuInfo AdapterView.OnItemLongClickListener AdapterView.OnItemSelectedListener AdapterView.OnItemClickListener AnalogClock BaseAdapter BaseExpandableListAdapter Button CheckBox CheckedTextView Checkable Chronometer Chronometer.OnChronometerTickListener CompoundButton CompoundButton.OnCheckedChangeListener CursorAdapter CursorTreeAdapter DatePicker DatePicker.OnDateChangedListener DialerFilter DigitalClock EditText Filter Filter.FilterListener Filter.FilterResults ExpandableListAdapter ExpandableListView.OnChildClickListener ExpandableListView.OnGroupClickListener ExpandableListView.OnGroupCollapseListener ExpandableListView.OnGroupExpandListener Filterable Gallery Gallery.LayoutParams GridView GridLayout GridLayout.Alignment RadioGroup ImageView ImageView.ScaleType HorizontalScrollView ImageButton ImageSwitcher FilterQueryProvider ListAdapter ListView MediaController MultiAutoCompleteTextView MultiAutoCompleteTextView.CommaTokenizer MultiAutoCompleteTextView.Tokenizer QuickContactBadge RadioButton RatingBar RatingBar.OnRatingBarChangeListener RelativeLayout RemoteViews ResourceCursorAdapter ResourceCursorTreeAdapter Scroller ScrollView SearchView SearchView.OnCloseListener SearchView.OnQueryTextListener SearchView.OnSuggestionListener SeekBar SeekBar.OnSeekBarChangeListener SimpleAdapter SimpleAdapter.ViewBinder SimpleCursorAdapter SimpleCursorAdapter.CursorToStringConverter SimpleCursorAdapter.ViewBinder SimpleCursorTreeAdapter SimpleCursorTreeAdapter.ViewBinder SimpleExpandableListAdapter SlidingDrawer SlidingDrawer.OnDrawerCloseListener SlidingDrawer.OnDrawerOpenListener SlidingDrawer.OnDrawerScrollListener Spinner SpinnerAdapter WrapperListAdapter TabHost TabHost.TabSpec TextView TimePicker TimePicker.OnTimeChangedListener Toast TableLayout TableLayout.LayoutParams TableRow TableRow.LayoutParams TabWidget TextSwitcher ToggleButton TwoLineListItem VideoView ViewAnimator ViewFlipper ViewSwitcher ViewSwitcher.ViewFactory ZoomButtonsController ZoomButtonsController.OnZoomListener ZoomButton ZoomControls dalvik.system DexFile
Figuren


AsyncTask

版本:Android 2.3 r1

?

結(jié)構(gòu)

繼承關(guān)系

public abstract class AsyncTask extends Object

????????

java.lang.Object

android.os.AsyncTask<Params, Progress, Result>

?

類概述

AsyncTask能夠適當?shù)?、簡單地用?UI線程。 這個類不需要操作線程(Thread)就可以完成后臺操作將結(jié)果返回UI。

異步任務的定義是一個在后臺線程上運行,其結(jié)果是在 UI線程上發(fā)布的計算。 異步任務被定義成三種泛型類型: Params,ProgressResult;和四個步驟: begin , doInBackgroundprocessProgress end。

?

用法

???????? AysncTask必須被繼承使用。子類至少覆蓋一個方法 (doInBackground(Params...)),最經(jīng)常覆蓋另一個(onPostExecute(Result).)下面是一個子類的例子:

一旦創(chuàng)建,一個任務執(zhí)行起來就非常簡單:

?

AsyncTask的泛型類型

這三個類型被用于一個異步任務,如下:

1. Params,啟動任務執(zhí)行的輸入?yún)?shù)

2. Progress后臺任務執(zhí)行的百分比

3. Result,后臺計算的結(jié)果類型

在一個異步任務里,不是所有的類型總被用。假如一個類型不被使用,可以簡單地使用 Void類型:

?

4個步驟

當一個異步任務被執(zhí)行,任務經(jīng)過四各步驟:

1onPreExecute(),在UI線程上調(diào)用任務后立即執(zhí)行。這步通常被用于設(shè)置任務,例如在用戶界面顯示一個進度條。

2doInBackground(Params...),后臺線程執(zhí)行onPreExecute()完后立即調(diào)用,這步被用于執(zhí)行較長時間的后臺計算。異步任務的參數(shù)也被傳到這步。計算的結(jié)果必須在這步返回,將傳回到上一步。在執(zhí)行過程中可以調(diào)用publishProgress(Progress...)來更新任務的進度。

3onProgressUpdate(Progress...),一次呼叫 publishProgress(Progress...)后調(diào)用 UI線程。執(zhí)行時間是不確定的。這個方法用于當后臺計算還在進行時在用戶界面顯示進度。例如:這個方法可以被用于一個進度條動畫或在文本域顯示記錄。

4onPostExecute(Result), 當后臺計算結(jié)束時,調(diào)用 UI線程。后臺計算結(jié)果作為一個參數(shù)傳遞到這步。

?

線程規(guī)則

有一些線程規(guī)則必須去遵守,這個類才會正確的工作:

·???????? 任務實例必須創(chuàng)建在 UI線程

·???????? execute(Params...)必須在 UI線程上調(diào)用

·???????? 不要手動調(diào)用onPreExecute(), onPostExecute(Result), doInBackground(Params...), onProgressUpdate(Progress...)

·???????? 這個任務只執(zhí)行一次(如果執(zhí)行第二次將會拋出異常)

?

內(nèi)部類

??? enum ????? AsyncTask.Status ?

表示任務的當前狀態(tài)

?

構(gòu)造函數(shù)

???????? public AsyncTask ()

創(chuàng)建一個新的異步任務。這個構(gòu)造函數(shù)必須在UI線程上調(diào)用。

?

公共方法

public final boolean cancel (boolean mayInterruptIfRunning)

嘗試取消這個任務的執(zhí)行,如果這個任務已經(jīng)結(jié)束或者已經(jīng)取消或者不能被取消或者某些其他原因,那么將導致這個操作失敗,當調(diào)用此方法時,此方法執(zhí)行成功并且這個任務還沒有執(zhí)行,那么此任務將不再執(zhí)行。如果任務已經(jīng)開始,這時執(zhí)行此操作傳入的參數(shù)mayInterruptIfRunningtrue,執(zhí)行此任務的線程將嘗試中斷該任務。

參數(shù)

mayInterruptIfRunning? 如果為true則正在執(zhí)行的線程將會中斷,如果false,則會允許正在執(zhí)行的任務線程執(zhí)行完畢。

返回值

??? ?????????????????? 如果此任務不能取消返回false,如果已經(jīng)正常的執(zhí)行完畢,返回true

參見

???????? isCancelled()

??? onCancelled()

??????????????????

public final AsyncTask<Params, Progress, Result> execute (Params... params)

用指定的參數(shù)來執(zhí)行此任務,這個方法將會返回此任務本身,所以調(diào)用者可以擁有此任務的引用。此方法必須在UI線程中調(diào)用

參數(shù)

params ? 任務參數(shù)

返回值

AsyncTask的實例

異常

IllegalStateException?????? 如果getStatus()返回的是RUNNING或者FINISHED

?

public final Result get ()

等待計算結(jié)束并返回結(jié)果

返回值

計算結(jié)果

異常

CancellationException ?? 如果計算取消

ExecutionException ??????? 如果計算拋出異常

InterruptedException ??? 當?shù)却龝r當前線程拋出異常

?

public final Result get (long timeout, TimeUnit unit)

等待計算結(jié)束并返回結(jié)果,最長等待時間為:timeOut(超時時間).

參數(shù)

timeout 計算等待超時時間

unit ???????? 超時的時間單位

返回值

計算結(jié)果

異常

CancellationException ?? 如果計算取消

ExecutionException ??????? 如果計算拋出異常

InterruptedException ??? 當?shù)却龝r當前線程拋出異常

TimeoutException 等待時間超時

?

public final AsyncTask.Status getStatus ()

獲得任務的當前狀態(tài)

返回值

??? ???????? 當前狀態(tài)

?

public final boolean isCancelled ()

如果在任務正常結(jié)束之前取消任務成功則返回true,否則返回false

返回值

??????????????????????????? 如果任務正常結(jié)束之前取消任務成功返回true。

?????????????????? 參見

??????????????????????????? cancel(boolean)

?

受保護方法

???????? protected abstract Result doInBackground (Params... params)

覆蓋此方法在后臺線程執(zhí)行計算,此方法中的參數(shù)是此任務的execute(Params...)方法的調(diào)用這傳遞的參數(shù),此方法可以調(diào)用publishProgress(Progress...)UI線程中來更新數(shù)據(jù)

參數(shù)

params ? 此任務的參數(shù)

返回值

返回一個由此任務子類定義的結(jié)果 Result

?????????????????? 參見

??? ?????????????????? onPreExecute()

??? ?????????????????? onPostExecute(Result)

??? ?????????????????? publishProgress(Progress...)

?

protected void onCancelled ()

此方法在UI線程中當cancel(boolean) 被調(diào)用后調(diào)用

參見

??? ?????????????????? cancel(boolean)

??? ?????????????????? isCancelled()

?

protected void onPostExecute (Result result)

此方法在UI線程中doInBackground(Params...)。方法調(diào)用之后調(diào)用,此方法中的參數(shù)的值是doInBackground(Params...)的返回值或者當此任務已經(jīng)被取消或有異常發(fā)生時此參數(shù)值為空null

參數(shù)

result ???? doInBackground(Params...)計算出的操作的結(jié)果。

參見

onPreExecute()???

??? ?????????????????? doInBackground(Params...)

?

protected void onPreExecute ()

在方法doInBackground(Params...)調(diào)用之前調(diào)用

參見

??? ?????????????????? onPostExecute(Result)

?? ???????????????????? doInBackground(Params...)

?

protected void onProgressUpdate (Progress... values)

該方法在UI線程中publishProgress(Progress...)被調(diào)用之后調(diào)用,該方法中的參數(shù)values是已經(jīng)被傳遞到ppublishProgress(Progress...)中的參數(shù)

?????????????????? 參數(shù)

values ??? 進度表示值

參見

??? ?????? publishProgress(Progress...)

??? ?????????????????? doInBackground(Params...)

?

protected final void publishProgress (Progress... values)

當調(diào)用doInBackground(Params...)在后臺執(zhí)行計算時會調(diào)用該方法,每當在UI線程中調(diào)用此方法時將觸發(fā)onProgressUpdate(Progress...)方法的執(zhí)行

參數(shù)

values ??? 將進度值更新到UI

參見

??? ?????????????????? onProgressUpdate(Progress...)

??? ?????????????????? doInBackground(Params...)

?

補充

???????? 文章精選

?????????????????? Android AsyncTask理解

?????????????????? TabActivity下在AsyncTask中使用ProgressDialog存在問題的解決方法

?????????????????? 小心,AsyncTask 不是萬能的 [blogspot]


Vorheriger Artikel: N?chster Artikel: