关于这个话题,正如google / android文档所说:
// Params, the type of the parameters sent to the task upon execution.
// Progress, the type of the progress units published during the background
// computation.
// Result, the type of the result of the background computation.
我已经多次使用AsyncTask但总是有一些疑问(一般使用多线程:)如何使用它传递/返回参数。我熟悉AsyncTask文档,但想知道如果我传递上下文/意图参数的方式是正确的方法,或者我应该使用<Params, Progress, Result>
..:
class CameraStarterTask extends AsyncTask<Void, Void, Void> {
private Context context;
private Intent intent;
public void CameraStarter(Context context, Intent intent) {
this.context = context;
this.intent = intent;
}
@Override
protected Void doInBackground(Void... params) {
// TODO Auto-generated method stub
return null;
}
}
答案 0 :(得分:0)
这是你决定如何做到的。 AsyncTask只是为您提供了一种通过不同的Thread实例(一个后台线程和UI线程)传递参数的通用方法。如果您认为它更适合您,您甚至可以自己做这些事情。
就像启动后台新线程并在其Runnable内部发布UI元素/您的Activity / Handler等上的另一个Runnable一样。
您认为可以按照自己的方式使用它。只需确保在配置更改发生时您已经考虑过所有内容,但是您可能知道这些内容或者找到足够的教程。