@H_403_1@这些天我开始学习反应式编程.在我的应用程序中,我已经转向使用rx
android来处理异步处理数据的许多情况.但我不知道如何申请位置监听器.有没有办法订阅用户位置更改?请给我一个主意.
解决方法
您可以使用LocationListener创建Observables或Subject,并在onLocationChanged中获取回调时,只需使用location对象调用onNext.
public final class LocationProvider implements onLocationChanged { private final PublishSubject<Location> latestLocation = PublishSubject.create(); //... @Override public void onLocationChanged(Location location) { latestLocation.onNext(location); } }
然后,您可以在需要位置的类中订阅它.
您还可以使用一些开源库:Android-ReactiveLocation和cgeo
另请参见Observable-based API and unsubscribe issue
希望这可以帮助!