I've been doing a bunch of research and looking over the documentation for ASyncTask in Android, but I just can't seem to wrap my head around it. I simply want to run some methods while a fragment is visible in an application, but in order to more easily do that, I think I should be using ASyncTask. My example code is as follows:
private class syncExample extends ASyncTask <Void, Void, Void>
{
    @Override
    protected void onPreExecute()
    {
    }
    @Override
    protected void doInBackground(Void... voids)
    {
    }
    @Override
    protected void onProgressUpdate()
    {
    }
    @Override
    protected void onPostExecute()
    {
    }
}
Now my questions are as follows:
- In the angle brackets, I have Void, Void, Void. What exactly do those represent and how do I know what's correct to place in there? 
- For each method within the class, I have the each method called as void. When should they be different than void (like boolean, String, long, etc.)? 
- For the doInBackground method, I have Void... voids in the parenthesis. What exactly should I be putting in there? What do they represent? 
Thank you for your help. The documentation on this is not very clear for a beginner like myself.
 
     
     
     
     
    