首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android web服务每5秒异步调用一次

Android web服务每5秒异步调用一次
EN

Stack Overflow用户
提问于 2011-06-24 16:36:18
回答 2查看 3.3K关注 0票数 0

我想在1分钟内每隔5秒调用一个web服务。意味着在1分钟内,我想调用webservice 12次。我想异步地做这件事。

代码语言:javascript
复制
class AddStringTask extends AsyncTask<Void, String, Void> {

    private final ProgressDialog dialog = new ProgressDialog(HomeScreen.this);

    protected void onPreExecute() {

    }

    protected Void doInBackground(Void... unused)
    {

        return(null);
    }

    @Override
    protected void onPostExecute(Void unused) {

          this.dialog.dismiss();

    }
}

我知道这可以用下面的代码来完成。bt doin后台只执行一次。我不能在doInBackground方法中实现计时器。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-24 16:47:12

要做到这一点,一个真正简单的方法是实现一个创建和执行AsyncTask的TimerTask。使用上面的AddStringTask:

代码语言:javascript
复制
Timer timer = new Timer();
timer.schedule(new TimerTask() {
    public void run() {
        new AddStringTask().execute();
    }
}, 0, 5000);

请注意,即使您在服务中实现了这一点,服务代码仍将在主GUI线程上运行,因此您需要一个单独的线程或异步任务来为您执行阻塞操作。

票数 2
EN

Stack Overflow用户

发布于 2011-06-24 16:45:46

转到服务而不是异步任务,以获取this.PFB的详细信息:

http://developer.android.com/reference/android/app/Service.html

希望这能有所帮助!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6465318

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档