RoboSwag/livedata-location/README.md

1.2 KiB
Raw Permalink Blame History

livedata-location

Модуль позволяющий получать местоположение пользователя в виде потока данных LiveData.

Основный интерфейсы и классы

Класс LocationLiveData. В конструкторе принимает Context и LocationRequest. Посылает Location подписчикам через указанные в LocationRequest интервалы времени. Метод observe позволяет подписаться на эти обновления. Данный метод принимает LifecycleOwner и Observer. Стоит учесть, что для использования данного класса нужно одно из следующих разрешений ACCESS_COARSE_LOCATION или ACCESS_FINE_LOCATION.

Примеры

Во ViewModel.

val locationWithInterval = LocationLiveData(
        context,
        LocationRequest
                .create()
                .setInterval(5000)
                .setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY)
)

Во ViewController.

viewModel.locationWithInterval.observe(this, Observer(::onLocationChanged))