2012-05-19 3 views
0

Как правило, лучше создать AsyncTask как частный класс в Activitiy или, скорее, разделить их в собственном классе?AsyncTask подстроен или собственный класс?

public class MyActivity extends Activity { 
    private class DownloadPage extends AsyncTask { 
    } 
} 
+1

Частный класс в рамках деятельности был бы более «читаемым»/логичным в большинстве случаев, согласно мне – keyser

+1

Если вам нравятся файлы кода, состоящие из> 1000 строк, вы можете создавать частные классы. Но я предпочитаю создавать дополнительные классы в отдельных файлах, а не размещать все в одном классе. – vorrtex

ответ

2

AsyncTask inside Упражнение больше подходит после выполнения задания backgroud, которое вы можете легко изменить.

В отдельном классе вам необходимо пройти context, и его результат приходит в отдельном классе, а затем вам нужно получить результат из отдельного класса.

Но отдельный класс очень полезен иногда, когда нам нужно больше asyncTask в приложении, и если у вас большой код в вашей деятельности, поэтому лучше использовать отдельный класс.

So AsyncTask подходит для работы с объектом для взаимодействия с видом ... и отдельный класс также является подходящим, когда нам нужно больше asynctask в приложении.

Таким образом, ее полностью зависит от требований ...

+0

Вы правы, но если вам понадобится одна и та же задача aync много раз, лучше иметь класс. –

+0

@Agarwal согласен с вами, и я обновляю свой ответ ... –

+0

@SamirMangroliya Считаете ли вы, что это нормально, если я хочу реструктурировать ... переместить (веб-службы/XML-HTTP-вызовы) в отдельный класс. Затем я могу использовать интерфейс «callback listener Interface» в родительском «Class/Activity», который дочерний 'onPostExecute' вызывает, чтобы сообщить родительскому« Activity », что он завершен. Это что-то, что можно использовать в дизайне Android? Спасибо за вашу помощь. PS: ответ в этом SO - это то, что я реализовал (http://stackoverflow.com/questions/3291490/common-class-for-asynctask-in-android) – wired00

1

Частный класс в Activity имеет доступ ко всем закрытым членам, в том числе context, что значительно помогает не только сделать работу, но чтобы показать ProgressDialog, а также ,

Смежные вопросы