Повторите функцию для вызова данных с сервера каждую секунду - PullRequest
0 голосов
/ 13 марта 2019

Поэтому, если я нажимаю кнопку «Пуск», я хочу повторять функцию «fetchCarData ()» каждую секунду, пока я не нажму кнопку «Конец».Какой лучший способ добиться этого, есть ли какой-нибудь причудливый способ Kotlin реализовать такую ​​вещь?

class CarDataSourceImpl(private val carDataService: CarDataService) : CarDataSource {

//Live Data List that can be accessed only by this class
private val _loadedCarData = MutableLiveData<CarResponse>()

//actual Live Data List observed by the Views
override val loadedCarData: LiveData<CarResponse>
    get() = _loadedCarData

//Fetch new Data and notify Observers via Live Data
override suspend fun fetchCarData() {
    try {
        val fetchedCarData = carDataService
            .getData()
            .await()
        _loadedCarData.postValue(fetchedCarData)
    } catch (e: NoConnectivityException) {
        Log.e("Connectivity", "No Connection", e)
    }
}

}

1 Ответ

0 голосов
/ 13 марта 2019
var timer=Timer()
    private fun callfunctioneverysecond() {

        val minTask=object : TimerTask() {
            override fun run() {
                //call function here
            }
        }
        timer=Timer()
        timer.schedule(minTask, 0L, 1000 * 1)
        // timer.cancel()//call timer.cancel when click End button
    }
...