关于AsyncTask<ObjectA, ObjectB, ObjectC>
参数,我总是对哪个对象影响什么感到困惑。
一个影响我的doInBackGround
返回类型,一个影响我的doInBackGround
输入类型,第三个对象影响其他东西。
当我要更改要发送和返回的类型时,这会变得非常混乱。
有什么ObjectA
作用
有什么ObjectB
作用
有什么ObjectC
作用
(忽略可能滥用效果/影响)
关于AsyncTask<ObjectA, ObjectB, ObjectC>
参数,我总是对哪个对象影响什么感到困惑。
一个影响我的doInBackGround
返回类型,一个影响我的doInBackGround
输入类型,第三个对象影响其他东西。
当我要更改要发送和返回的类型时,这会变得非常混乱。
有什么ObjectA
作用
有什么ObjectB
作用
有什么ObjectC
作用
(忽略可能滥用效果/影响)
从文档中:
ObjectA - doInBackground();
ObjectB - progress indicator: publishProgress(), etc
ObjectC - onPostExecute(), what doInBackground() must return
实际引用:
AsyncTask 的泛型类型
异步任务使用的三种类型如下:
1.Params,执行时发送给任务的参数类型。
2.Progress,后台计算时发布的进度单元类型。
3.Result,后台计算结果的类型。
并非所有类型都始终由异步任务使用。要将类型标记为未使用,只需使用类型Void:
private class MyTask extends AsyncTask<Params, Progress, Result> { ... }
在提出此类问题之前请阅读文档:http: //developer.android.com/reference/android/os/AsyncTask.html
它说:
异步任务使用的三种类型如下:
- Params,执行时发送给任务的参数类型。
- 进度,在后台计算期间发布的进度单元的类型。
- Result,后台计算结果的类型。
并非所有类型都始终由异步任务使用。要将类型标记为未使用,只需使用类型 Void。