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

ディレクトリ 検索
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
テキスト


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>

?

類(lèi)概述

AsyncTask能夠適當(dāng)?shù)?、?jiǎn)單地用于 UI線程。 這個(gè)類(lèi)不需要操作線程(Thread)就可以完成后臺(tái)操作將結(jié)果返回UI

異步任務(wù)的定義是一個(gè)在后臺(tái)線程上運(yùn)行,其結(jié)果是在 UI線程上發(fā)布的計(jì)算。 異步任務(wù)被定義成三種泛型類(lèi)型: ParamsProgressResult;和四個(gè)步驟: begin , doInBackground,processProgress end。

?

用法

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

一旦創(chuàng)建,一個(gè)任務(wù)執(zhí)行起來(lái)就非常簡(jiǎn)單:

?

AsyncTask的泛型類(lèi)型

這三個(gè)類(lèi)型被用于一個(gè)異步任務(wù),如下:

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

2. Progress,后臺(tái)任務(wù)執(zhí)行的百分比

3. Result,后臺(tái)計(jì)算的結(jié)果類(lèi)型

在一個(gè)異步任務(wù)里,不是所有的類(lèi)型總被用。假如一個(gè)類(lèi)型不被使用,可以簡(jiǎn)單地使用 Void類(lèi)型:

?

4個(gè)步驟

當(dāng)一個(gè)異步任務(wù)被執(zhí)行,任務(wù)經(jīng)過(guò)四各步驟:

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

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

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

4onPostExecute(Result), 當(dāng)后臺(tái)計(jì)算結(jié)束時(shí),調(diào)用 UI線程。后臺(tái)計(jì)算結(jié)果作為一個(gè)參數(shù)傳遞到這步。

?

線程規(guī)則

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

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

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

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

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

?

內(nèi)部類(lèi)

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

表示任務(wù)的當(dāng)前狀態(tài)

?

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

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

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

?

公共方法

public final boolean cancel (boolean mayInterruptIfRunning)

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

參數(shù)

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

返回值

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

參見(jiàn)

???????? isCancelled()

??? onCancelled()

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

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

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

參數(shù)

params ? 任務(wù)參數(shù)

返回值

AsyncTask的實(shí)例

異常

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

?

public final Result get ()

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

返回值

計(jì)算結(jié)果

異常

CancellationException ?? 如果計(jì)算取消

ExecutionException ??????? 如果計(jì)算拋出異常

InterruptedException ??? 當(dāng)?shù)却龝r(shí)當(dāng)前線程拋出異常

?

public final Result get (long timeout, TimeUnit unit)

等待計(jì)算結(jié)束并返回結(jié)果,最長(zhǎng)等待時(shí)間為:timeOut(超時(shí)時(shí)間).

參數(shù)

timeout 計(jì)算等待超時(shí)時(shí)間

unit ???????? 超時(shí)的時(shí)間單位

返回值

計(jì)算結(jié)果

異常

CancellationException ?? 如果計(jì)算取消

ExecutionException ??????? 如果計(jì)算拋出異常

InterruptedException ??? 當(dāng)?shù)却龝r(shí)當(dāng)前線程拋出異常

TimeoutException 等待時(shí)間超時(shí)

?

public final AsyncTask.Status getStatus ()

獲得任務(wù)的當(dāng)前狀態(tài)

返回值

??? ???????? 當(dāng)前狀態(tài)

?

public final boolean isCancelled ()

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

返回值

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

?????????????????? 參見(jiàn)

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

?

受保護(hù)方法

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

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

參數(shù)

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

返回值

返回一個(gè)由此任務(wù)子類(lèi)定義的結(jié)果 Result

?????????????????? 參見(jiàn)

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

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

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

?

protected void onCancelled ()

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

參見(jiàn)

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

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

?

protected void onPostExecute (Result result)

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

參數(shù)

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

參見(jiàn)

onPreExecute()???

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

?

protected void onPreExecute ()

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

參見(jiàn)

??? ?????????????????? 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 ??? 進(jìn)度表示值

參見(jiàn)

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

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

?

protected final void publishProgress (Progress... values)

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

參數(shù)

values ??? 將進(jìn)度值更新到UI

參見(jiàn)

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

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

?

補(bǔ)充

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

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

?????????????????? TabActivity下在AsyncTask中使用ProgressDialog存在問(wèn)題的解決方法

?????????????????? 小心,AsyncTask 不是萬(wàn)能的 [blogspot]


前の記事: 次の記事: