Cómo pasar valores a AsyncTask Android

Esta es la primera vez que uso AsyncTask y, probablemente, también un poco confundido acerca de pasar los valores.

tengo 4ArrayList<String> s, que contienen datos que deben insertarse en la base de datos. Quiero que esta inserción se haga en segundo plano. Habrá un mínimo de 50 filas para insertar en la base de datos y se insertará 1 fila a la vez, tomando los valores de paso de 4 arrailistas que tengo.

¿Alguien me puede guiar sobre cómo hacer esto?

Ahora creo una subclase InsertData que extiende AsyncTask :::

private class InsertData extends AsyncTask<Params, Progress, Result>{

        @Override
        protected Result doInBackground(Params... params) {
            // TODO Auto-generated method stub
            return null;
        }   
}

Tengo valores en 4 arraylists, en los cuales necesito recuperar 1 entrada de cada arraylist y pasar los 4 valores a la base de datos. ¿Cómo paso estos 4 valores a AsyncTask y también, cómo repito esto hasta que haya entradas en los arraylists?

Aquí está el método de base de datos que inserta 1 fila en la base de datos :::

public void insert_row(int count, String image_url, String name, String number) {
        // TODO Auto-generated method stub

        db.execSQL("INSERT INTO contacts VALUES('"+ count +"', '"+ image_url +"', '"+ name +"', '"+ number +"')");
    }

Si alguien me puede dar una visión general de cómo puedo implementar esto, sería genial.

Respuestas a la pregunta(4)

Su respuesta a la pregunta