我对Android编程很新。我有一个主要活动,通过服务处理程序(url)从数据库获取数据。我也希望插入数据,但是在不同的活动中,我希望每次调用时我的主活动都是最新的(onresume(),onrestart())。 我在关于AsyncTask的Android API参考资料中发现了这个: 任务只能执行一次(如果尝试第二次执行则会抛出异常。) 这是否意味着每当活动恢复时我都无法调用AsyncTask,或者我不能同时运行AsyncTask的多个“实例”?
答案 0 :(得分:0)
字面意思是,当AsyncTask
正在运行时,您无法再次启动它。
在你的MainActivity.class
行中:
task.execute();
如果任务完成或未完成并再次调用该方法,则会抛出exception
。
将此方法放在onResume
()中是一种很好的做法。
只有一件事需要注意:如果你输入onRestart
(),请记住,当你改变配置时,这个回调会起作用,但如果你创建activity
则不会调用它。
关于lifecycle of an Activity的文档。
答案 1 :(得分:0)
这是否意味着每当活动恢复时我都无法调用AsyncTask,或者我不能同时运行AsyncTask的多个“实例”?
这意味着无论是否完成,您都无法在同一个execute
实例上调用AsyncTask
方法两次。