В Java я привык работать с Futures
. Теперь я смотрю на Android, и AsyncTask
реализует почти все те же методы и охватывает аналогичные жизненные циклы. Но если я хочу быть последовательным и использовать Future во всем своем коде, я должен обернуть AsyncTask в дурацкую оболочку, потому что на самом деле он не реализует Future.
Все, что им нужно будет добавить, это метод isDone()
, который кажется тривиальным, а затем добавить implements Future<Result>
. (добавлено позже :см. мой ответ ниже, насколько это тривиально ).
Любые эксперты по Android знают какую-то вескую причину / неясную ошибку, из-за которой это не было сделано?