在后台的Andr​​oid更新数据到服务器 [英] update data to server in the background android

查看:154
本文介绍了在后台的Andr​​oid更新数据到服务器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何更新数据到服务器?我已经使用了code以下,但其10分钟后,没有执行。

  ScheduledExecutorService的遗嘱执行人= Executors.newSingleThreadScheduledExecutor();
        executor.scheduleWithFixedDelay(新的Runnable(){

            公共无效的run(){

//更新数据到服务器

            }

    },0,600,TimeUnit.SECONDS);
 

解决方案

您必须使用自己的线程。 下面是使用AsyncTask的解决方案......

所有code将在你的Activity类。

 公共无效toCallAsynchronous(){
                    最终的处理程序处理程序=新的处理程序();
                    定时器定时=新的Timer();
                    TimerTask的doAsynchronousTask =新的TimerTask(){
                        @覆盖
                        公共无效的run(){
                            handler.post(新的Runnable(){
                                公共无效的run(){
                                    尝试 {

        MyAsyncTask任务=新MyAsyncTask();
        task.execute(txtSearchField.getText()的toString());


                                }
                            });
                        }
                    };
    timer.schedule(doAsynchronousTask,0,2000);每2秒//执行

}
 

// AsyncTask的类

 私有类MyAsyncTask扩展的AsyncTask<字符串,对象,列出< ModelObject>> {

               @覆盖
               受保护的名单,其中, ModelObject> doInBackground(字符串... PARAMS){

               //调用Web服务
               返回null;

                }

                @覆盖
                保护无效onPostExecute(名单< ModelObject>的结果){
                        super.onPostExecute(rezultat);
                        //更新用户界面
                }
}
 

How to update data to server ? I have used the code below but its not executing after 10 mins.

ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();
        executor.scheduleWithFixedDelay(new Runnable(){

            public void run() {

//update data to server

            }

    }, 0, 600, TimeUnit.SECONDS);

解决方案

You must use your own Thread. Here is solution using AsyncTask....

All code put in your Activity class.

public void toCallAsynchronous() {
                    final Handler handler = new Handler();
                    Timer timer = new Timer();
                    TimerTask doAsynchronousTask = new TimerTask() {
                        @Override
                        public void run() {
                            handler.post(new Runnable() {
                                public void run() {
                                    try {

        MyAsyncTask task = new MyAsyncTask();
        task.execute(txtSearchField.getText().toString());


                                }
                            });
                        }
                    };
    timer.schedule(doAsynchronousTask, 0, 2000); // execute in every 2 second

}

// AsyncTask Class

private class MyAsyncTask extends AsyncTask<String, Object, List<ModelObject>> {

               @Override
               protected List< ModelObject > doInBackground(String... params) {

               // Call web service
               return null;

                }

                @Override
                protected void onPostExecute(List< ModelObject > result) {
                        super.onPostExecute(rezultat);
                        // Update UI
                }            
}

这篇关于在后台的Andr​​oid更新数据到服务器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆