首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重复调用web服务

重复调用web服务
EN

Stack Overflow用户
提问于 2013-12-11 19:39:11
回答 2查看 639关注 0票数 0

我必须在两次调用之间调用web服务的持续时间I minutes.Parameters of web services是基于一个旋转器值selection.When我选择了一个不同的值,现在这个web服务在minute.After第三项选择中调用它自己两次,它在一分钟内调用服务三次。我所需要的web服务应该只被调用一次。

代码语言:javascript
复制
final Handler handler = new Handler();
Timer timer = new Timer();
TimerTask task = new TimerTask() {
    @Override
    public void run() {
        handler.post(new Runnable() {
            public void run() {
                try {
                    new FilteredProductionWebAPITask(
                            SpeedometerActivity.this)
                    .execute(branchId);
                    System.out.println("Service:"+counter++ +"Times");
                } catch (Exception e) {
                    // TODO: handle exception
                    new FilteredProductionWebAPITask(
                            SpeedometerActivity.this)
                    .cancel(true);
                    alert(getResources().getString(
                            R.string.noData));
                }

            }
        });
    }

};
timer.schedule(task, 0, 60 * 1000);
EN

回答 2

Stack Overflow用户

发布于 2013-12-11 20:14:09

在应用程序启动时,您可以使用以下代码在每1个minute.you需要启动方法后调用web服务

mHandler.sendEmptyMessage(CALL_WEB);

private static final int CALL_WEB= 2;

代码语言:javascript
复制
private Handler mHandler = new Handler() {
        @Override
        public void handleMessage(Message msg) {

            switch (msg.what) {

                case CALL_WEB:
                    Callwebserviceinasync(spinnervalue);


                        sendMessageDelayed(msg, 60*1000);

                    break;
            }
        }
    };
票数 0
EN

Stack Overflow用户

发布于 2013-12-11 20:14:54

试试看可能会有用

代码语言:javascript
复制
final Handler handler = new Handler();
Timer timer = new Timer();
TimerTask task = new TimerTask() {
    @Override
    public void run() {
        handler.post(new Runnable() {
            public void run() {
                try {
                    new FilteredProductionWebAPITask(
                            SpeedometerActivity.this)
                    .execute(branchId);
                    System.out.println("Service:"+counter++ +"Times");
                } catch (Exception e) {
                    // TODO: handle exception
                    new FilteredProductionWebAPITask(
                            SpeedometerActivity.this)
                    .cancel(true);
                    alert(getResources().getString(
                            R.string.noData));
                }

            }
        });
    }

};

timer.schedule(task, 0, (60 * 1000)/spinnerValue);

其中spinnerValue是1,2,3....

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

https://stackoverflow.com/questions/20518133

复制
相关文章

相似问题

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