定期从服务器获取数据的最佳方法

时间:2015-01-26 11:34:44

标签: android

我正在编写一个Android应用程序,我需要定期(每30秒)从服务器获取数据。我在考虑使用AlarmManager来安排这些任务,但是我需要能够传递一个更新视图的回调函数。由于Intent无法封装回调,我决定找到另一个解决方案,即“工作线程”。这里的问题是对服务器的请求是在AsyncTask中执行的,其中onPreExecuteonPostExecute必须从Ui线程运行,所以我真的不能这样做。< / p>

我很感激任何建议,在这种情况下最好的方法。

1 个答案:

答案 0 :(得分:2)

使用Handler

 Handler mHandler;
  public void useHandler() {
    mHandler = new Handler();
    mHandler.postDelayed(mRunnable, 30000);
  }

  private Runnable mRunnable = new Runnable() {

    @Override
    public void run() {
      Log.e("Handlers", "Call asynctask");
      /** Call your AsyncTask here **/
      mHandler.postDelayed(mRunnable, 30000);
    }
  };