By Alvin Alexander. Last updated: August 29, 2017
As a quick note to self, this is how I just created an Android AsyncTask
with “Void, Void, Void” parameters:
private class DeleteImagesTask extends AsyncTask<Void, Void, Void> { /** * `doInBackground` is run on a separate, background thread * (not on the main/ui thread). DO NOT try to update the ui * from here. */ @Override protected Void doInBackground(Void... params) { deleteSelectedGalleryItems(); return null; } /** * `onPostExecute` is run after `doInBackground`, and it's * run on the main/ui thread, so you it's safe to update ui * components from it. (this is the correct way to update ui * components.) */ @Override protected void onPostExecute(Void param) { cleanupUiAfterCancelOrDelete(); galleryItemAdapter.notifyDataSetChanged(); } }
I call this AsyncTask
like this:
private void handleDeleteSelectedImagesProcess() { new DeleteImagesTask().execute(); }
For the purposes of this short tutorial it doesn’t matter what that code does; I just wanted to show how to implement an AsyncTask
with Void/null parameters, i.e., the class and method signatures. This is one of those (weird) cases where I didn’t want/need to pass any data to/from the AsyncTask, I just needed to run “something” that didn’t require any input parameters, and I didn’t need any output parameters (results) back from it.