I want to implement a generic, thread save class which takes the RessourceId of an ImageView and the Url (http) where the desired image file is stored. It\'ll download the image
You can pass params as objects
new MyTask().execute(url, str, context);
public class MyTask extends AsyncTask<Object, Void, Void> {
@Override
protected Void doInBackground(Object... params) {
Url url = (Url) params[0];
String str = (String) params[1];
Context ctx = (Context) params[2];
return null;
}
}
You can add setter methods to your AsyncTask
implementation, or even define your own constructor to pass additional parameters.
Optionally, if your AsyncTask
implementation is an inner class of an activity you can access all the instance variables of your activity. I prefer the above option myself, as it clearly indicates which data the task requires.