Я довольно новичок в программировании на Android. У меня есть основное действие, которое получает данные из БД через обработчик сервиса (url). Я хочу также вставлять данные, но в другую деятельность, и я хочу, чтобы моя основная деятельность была актуальной при каждом ее вызове (onresume(), onrestart()). Я нашел это в справочнике Android API об AsyncTask: Задача может быть выполнена только один раз (при попытке выполнить второе выполнение будет выбрано исключение). Означает ли это, что я не могу назвать AsyncTask всякий раз, когда активность возобновляется или что я не могу одновременно запускать несколько экземпляров AsyncTask?Android AsyncTask называется «несколько раз»
ответ
Это буквально означает, что пока работает AsyncTask
, вы не сможете запустить его снова. В вашем MainActivity.class
у вас есть строки:
task.execute();
если задача либо закончена или нет, и вы вызовите метод снова тогда exception
будет выброшено.
И положить этот метод в onResume
() является хорошей практикой. Только одно замечание: если вы положили onRestart
(), этот обратный вызов работает при изменении конфигурации, но он не будет вызываться, если вы создадите activity
.
Документ о lifecycle of an Activity.
спасибо большое! это действительно помогло! – user3082880
Означает ли это, что я не могу вызывать AsyncTask всякий раз, когда действие возобновляется, или что я не могу одновременно запускать несколько «экземпляров» AsyncTask?
Это означает, что вы не можете вызвать метод execute
дважды на одной и той же AsyncTask
инстанции независимо от его завершения или нет.
большое спасибо! это действительно помогло! – user3082880
- 1. выполнить AsyncTask несколько раз? [Android]
- 2. Android AsyncTask работает несколько раз
- 3. Android BroadcastReceiver называется несколько раз
- 4. Viewpager называется несколько раз
- 5. Android - DownloadManager/BroadcastReceiver называется несколько раз
- 6. Android JobScheduler onStartJob называется несколько раз
- 7. Сокет называется несколько раз
- 8. didUpdateToLocation называется несколько раз
- 9. ABAddressBookRegisterExternalChangeCallback называется несколько раз
- 10. NSMetadataQueryDidUpdateNotification называется несколько раз
- 11. TextWatcher.onTextChanged называется несколько раз
- 12. Android AsyncTask onPostExecute называется поздно?
- 13. AsyncTask: doInBackground не называется
- 14. Остановить работу AsyncTask несколько раз
- 15. Еще один getView называется несколько раз
- 16. Вызов AsyncTask несколько раз параллельно
- 17. AsyncTask onProgressUpdate называется неоднократно
- 18. SIGTERM Handler называется несколько раз
- 19. DataBindingComplete становится называется несколько раз
- 20. Вычислительный метод называется несколько раз?
- 21. Get вид называется несколько раз
- 22. Knockout.js - привязка называется несколько раз
- 23. Почему onCreate называется несколько раз?
- 24. Http Route называется несколько раз
- 25. pjax beforesend называется несколько раз?
- 26. FragmentPagerAdapter setPrimaryItem называется несколько раз
- 27. Почему contextInitialized() называется несколько раз?
- 28. Метод loadview называется несколько раз
- 29. Несколько AsyncTask Android
- 30. Android: несколько с AsyncTask
Вы можете создать несколько экземпляров одной и той же задачи Async и выполнить их в одно и то же время –