2017-05-25 68 views
1

我需要每10分钟定期从服务器刷新一次recyclerview。目前我正在为应用程序实现MVP体系结构。以下是我认为的方法列表。在Mvp定期刷新实施android

  1. 我是否需要在演示者中使用Observable.interval来每隔10分钟完成一次api调用?
  2. 由于用户在未使用应用程序时不应该看到任何更新,因此我没有使用服务或broadcastrecevier。

我应该如何处理这个问题,任何帮助都会非常有用。

感谢, Shanthi

回答

0

使用定时器

int mins = 10; // The delay in minutes 
Timer timer = new Timer(); 
timer.schedule(new TimerTask() { 
@Override 
public void run() { 
    //perform your task 
    yourAdapter.notifyDataSetChanged(); 
} 
}, 0, 1000 * 60 * mins); 
+0

谢谢您的答复。 上面的实现只是刷新适配器,但它不会进行任何api调用。我需要每10分钟拨打一次服务器电话。我应该在run()方法中使用主持人调用吗? –

+0

是在run()方法内调用您的presenterl .. – sasikumar

0
Disposable disposable = Observable.interval(10, TimeUnit.MINUTES) 
       .observeOn(AndroidSchedulers.mainThread()) 
       .subscribeOn(Schedulers.newThread()) 
       .subscribe(run->{ 
         you_presenter.getAllData(); 
       }); 


@override 
public void showList(Data data){ 
    yourAdapter.addData(data); 
    yourAdapter.notifyDataSetChanged(); 
}