最近、私は反応型プログラミングを学び始めました。私のアプリケーションでは、データを非同期に処理する多くのケースでrxandroidを使うようになっています。しかし、私はどのようにロケーションリスナーに適用するのか分からない。ユーザーの場所の変更を購読する方法はありますか?私に考えを与えてください。rxandroidを使ってGPS位置更新を聞く方法
5
A
答えて
8
LocationListener
を使用してオブザーバブルまたはサブジェクトを作成できます。onLocationChanged
でコールバックを取得する場合は、ロケーションオブジェクトで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
は、この情報がお役に立てば幸い参照してください!
0
この素晴らしいライブラリの使用はどうですか? https://github.com/patloew/RxLocation
私はこれが最も簡単な方法
// Create one instance and share it
RxLocation rxLocation = new RxLocation(context);
LocationRequest locationRequest = LocationRequest.create()
.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY)
.setInterval(5000);
rxLocation.location().updates(locationRequest)
.flatMap(location -> rxLocation.geocoding().fromLocation(location).toObservable())
.subscribe(address -> {
/* do something */
});
であると信じて、あなたは場所の変更にサブスクライブする上記のライブラリーから、このスニペットを使用することができ
build.gradle
compile 'com.patloew.rxlocation:rxlocation:1.0.4'
にこれを追加
関連する問題
- 1. gpsのコードに基づいてGoogleマップの位置を更新
- 2. マーカーの位置をリアルタイムのGPS座標で更新する方法は?
- 3. wapページを使ってGPS位置をポーリングする
- 4. GPS地図マーカーの位置を更新するXamarin
- 5. アンドロイドでGPSを使用して位置を取得する方法は?
- 6. iPhone GPS - 有効な位置情報更新を受信していません
- 7. GPS位置補正
- 8. ウェブページのGPS位置
- 9. Android GPSの位置
- 10. 問題GPS位置を
- 11. 位置更新
- 12. GPSステータスの変更を聞きます
- 13. Android GPSの位置と他のGPSデバイス
- 14. Djangoを使ってGPS位置情報ウィジェットを作成するには?
- 15. iPhoneでGPSの位置を取得する方法
- 16. Android(2.2)デバイスでユーザーのGPS位置を取得する方法
- 17. ターンオンGPSの後に私の位置を取得する方法
- 18. GPSの位置を更新し、retrofitライブラリを使用してサーバーにバックグラウンドサービスで座標を送信します。
- 19. GPSを使用して位置を取得できません
- 20. GPSを使用して電話位置を取得
- 21. スクロールに従って位置を変更してください
- 22. 正確に位置を更新する方法iOSでもGPSがオフになる
- 23. Gnuplotでパレットを使って位置をプロットする方法は?
- 24. GPS位置に正確に
- 25. アプリ内のGPS位置が
- 26. GPS位置からタイムゾーン
- 27. CSSを使用して位置を変更する方法
- 28. AndroidエミュレータのGPS位置が間違っている
- 29. SQL Server:位置(x、y)のセル値を更新する方法
- 30. Android:Android 7.0のコンテンツサーフェイス位置更新を無効にする方法