【发布时间】:2014-08-05 13:27:22
【问题描述】:
我想创建启动画面。一方面,我通过 webservice dans 从服务器检索信息,另一方面,我的初始屏幕有一个进度轮 (https://github.com/Todd-Davies/ProgressWheel)。
问题是我的轮子在我的 Web 服务执行异步任务期间被阻塞。
我尝试在轮子的异步任务上执行 OnExecutor(),但它不起作用。
轮子有我的异步任务:
private class LogoTask extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... params) {
pw = (ProgressWheel) findViewById(R.id.pw_spinner);
pw.spin();
return null;
}
}
我的 Webservice 异步任务是一个经典任务(从数据库获取信息,解析为 JSON 并发送到应用程序。它工作正常。 我使用 task.get() 来获取我的信息。我听说这个函数强制代码等待 Asynctask 结束才能继续。可能是这个吗?
我只想在我的 WebService 检索信息期间让我的 progressWheel 旋转。
我该怎么做?
编辑: 我可以有 2 个不同的异步任务吗?一个用于我的网络操作,另一个用于旋转?可能吗 ?
【问题讨论】:
-
你必须反其道而行之.. 联系 doInBackground 中的 web 服务并在 onCreate() 中初始化 ProgressWheel
-
是的,你可以有两个异步任务
-
你能举个例子吗?我试过了,但它不起作用。我的轮子在我的 WebService 处于活动状态时被阻止:/
-
我已经编辑了我的代码并从互联网上下载了图片,所以它可以正常工作
标签: java android json web-services android-asynctask