2014-11-30 3 views
0

Я пытаюсь разработать Android приложение, которое:Размещение AsyncTask в действии или фрагменте?

  1. захватывает данные JSON из ссылки HTTP
  2. Перебирает данных и формирует ArrayList моего Object.

Теперь HomeActivity расширяет ActionBarActivity, который реализует TabListener.

У этого есть 2 вкладки с Фрагментом в каждом. Fragment 1 собирается хранить listView из данных JSON. Fragment 2 покажет карту Google с маркерами на основе тех же данных JSON.

Теперь, мне просто интересно, какой лучший подход использовать этот AsyncTask.

Должен ли я поместить его в Activity, а затем использовать интерфейсы для передачи этого массива ArrayList обоим фрагментам?

Или ... как мне это сделать? Благодаря! Некоторые советы по кэшированию также помогут.

ответ

0

Да, если ваши фрагменты используются с данными, представляется разумным поместить ваш AsyncTask в действие. Если AsyncTask является нестатическим внутренним классом Activity, то в postExecute вы можете извлекать указатели на свои фрагменты из своей активности, а затем вызывать методы на фрагментах, чтобы дать им новые данные (или сообщить им, что вы сохранили это где-то - но вы его реализовали).

+0

Пахнет утечками памяти. –

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