Да, вы должны иметь возможность просто расширить ASyncTask и изменить переменные шаблона на то, что вам нужно.Класс Toast является статическим классом, поэтому его можно вызывать из любого потока, не беспокоясь о конфликтах.
Я не вижу проблем с вашим кодом выше, за исключением того, что вы не захотите часто вызывать новые сообщения Toast, так как они складываются.Поэтому, если бы вы продолжали непрерывно вызывать функцию .show (), она складывала бы их и продолжала бы показывать новые сообщения Toast через каждый интервал LENGTH_SHORT, пока он не перехватил.
Что касается примера ASyncTask, то здесь вы идете:
private class MyAsync extends AsyncTask<<What to pass in to doInBackground>, <What to pass in to onProgressUpdate>, <What type onPostExecute receives>> {
protected T (result type to onPostExecute) doInBackground(T... urls) {
//Do big calculations in here
}
protected void onProgressUpdate(T... progress) {
//Update
}
protected void onPostExecute(T result) {
//Done
}
}