我最近开始学习响应式编程。在我的应用中,对于很多异步处理数据的情况,我转而使用rxandroid。但是我不知道如何应用到位置监听器。有什么方法可以订阅用户位置更改吗?请给我一个想法。
最佳答案
您可以使用 LocationListener
创建 Observables 或 Subject,当在 onLocationChanged
中获取回调时,只需使用位置对象调用 onNext。
public final class LocationProvider implements onLocationChanged {
private final PublishSubject<Location> latestLocation = PublishSubject.create();
//...
@Override
public void onLocationChanged(Location location) {
latestLocation.onNext(location);
}
}
然后就可以在需要定位的类(class)订阅了。
您还可以使用一些开源库:Android-ReactiveLocation和 cgeo
另请参阅 Observable-based API and unsubscribe issue
希望这对您有所帮助!
关于android - 如何使用rxandroid监听gps位置更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34367147/