Android JSON Live更新

时间:2017-08-06 12:07:53

标签: android json android-asynctask live-update

我无法弄清楚如何从每隔2-3秒更新的json api获取android中的实时更新。我设法下载了JSON代码,然后创建了一些数组并记录它们,但是json api的值每2-3秒就会更改一次,我不知道如何重新下载JSON。在此先感谢您的帮助!

df.columns.levels[0].name = 'C'
df.columns.levels[1].name = 'D'

3 个答案:

答案 0 :(得分:1)

 Timer timer = new Timer();
        timer.scheduleAtFixedRate(new TimerTask() {
            @Override
            public void run() {
                try{
                    result =new DownloadTask().execute("thelinkIuse").get();
                } catch (InterruptedException | ExecutionException e) {
                    e.printStackTrace();
                }
            }
        },0,5000);

这将每5秒调用一次asynctask,从而获取更新的JSON字符串

答案 1 :(得分:0)

我认为你需要某种轮询机制。查看Firebase通知,因为您可以做的是让您的服务器端代码向firebase服务器发布http请求,这将触发服务器端推送通知到您的应用程序,在该应用程序中您将有一个触发器将触发检索过程

答案 2 :(得分:0)

如果您完全确定每2-3秒更新一次,那么您可以定期调用AsyncTask执行方法。这不是一个很好的做法,但可以完成你的工作。这些方面的东西:

private Timer autoRefresh;

autoRefresh=new Timer();
    autoRefresh.schedule(new TimerTask() {
        @Override
        public void run() {
            runOnUiThread(new Runnable() {
                public void run() {
                   String result = null;
                  try{
                  result = task.execute("thelinkIuse").get();
                  } catch (InterruptedException | ExecutionException e) {
                   e.printStackTrace();
}

                }
            });
        }
    }, 0, your_time_in_miliseconds);