2016-09-14 10 views
0

サーバーからデータを同期してロードし、毎回引き出し要求なしでListViewまたはTextViewのようなビューで表示したい。サーバーに変更がある場合は、データがロードされる必要があります。Androidアプリケーションでサーバーからデータを引き続きチェックして引き出す

今、私はasynctaskを使用してサーバーからデータを取得していますが、新しいデータを読み込んだり更新したりします。リロードボタンを使用して要求を取り出す必要があります。

ある時間後に実行するスレッドを使用して試しました。しかし、明らかに良い方法があるかもしれません。

私は手動引っ張り要求なしで同じことをすることができますか?

たとえば、gmailアプリは、ユーザーからのプルリクエストなしでネットワークにアクセスできる場合に新しいメールを読み込みます。私はAndroidアプリケーションで同じことが必要です。

ありがとうございます。

+0

google firebaseを検討しますか? –

答えて

2
public void callAsynchronousTask() { 
    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 { 
         PerformBackgroundTask performBackgroundTask = new PerformBackgroundTask(); 
         // PerformBackgroundTask this class is the class that extends AsynchTask 
         performBackgroundTask.execute(); 
        } catch (Exception e) { 
         // TODO Auto-generated catch block 
        } 
       } 
      }); 
     } 
    }; 
    timer.schedule(doAsynchronousTask, 0, 50000); //execute in every 50000 ms 
} 

AsyncTaskは別のスレッドで実行さんが、UI thread以外のスレッドから起動することはできません。ハンドラはそれを可能にするためにそこにあります。

関連する問題