Полезно ли привязывать службу Android к AndroidViewModel? - PullRequest
0 голосов
/ 05 декабря 2018

Ниже приведен пример реализации клиента и AndroidViewModel.Предполагая, что вся привязка и снятие привязки позаботились, является ли это хорошим способом общения со связанной службой из AndroidViewModel?

class ServiceViewModel(application: Application) : AndroidViewModel(application){

    private var serviceClient = ServiceClient(application)

    override fun onCleared() {
        serviceClient.close()
        println("cleared view model")
    }

    fun talkToService(){
        serviceClient.executeSomeMethod()
    }

}

class ServiceClient(private val context: Context) : ServiceConnection, AutoCloseable {

    init {
        bindService()
    }

    override fun close() {
        unbindService()
    }

    //..onServiceConnected gives IBinder
    //..onServiceDisconnected notifies


    fun executeSomeMethod(){
        binder.executeSomeServiceMethod()
    }


}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...