使用AsyncTask传递参数

时间:2014-05-23 20:04:34

标签: java android multithreading android-asynctask

关于这个话题,正如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;
    }

}

1 个答案:

答案 0 :(得分:0)

这是你决定如何做到的。 AsyncTask只是为您提供了一种通过不同的Thread实例(一个后台线程和UI线程)传递参数的通用方法。如果您认为它更适合您,您甚至可以自己做这些事情。

就像启动后台新线程并在其Runnable内部发布UI元素/您的Activity / Handler等上的另一个Runnable一样。

您认为可以按照自己的方式使用它。只需确保在配置更改发生时您已经考虑过所有内容,但是您可能知道这些内容或者找到足够的教程。