Я устанавливаю сокет как класс Object, как я могу вызвать его в другом фрагменте? - PullRequest
0 голосов
/ 03 января 2019

В проекте, который я обрабатываю, сокет установлен как класс объектов с именем SocketService.kt. и я хочу вызвать сокет Emit в другом классе. как я могу это сделать?

object SocketService {

    var TAG = SocketService::class.java.simpleName


    fun init() {

        var opts = IO.Options()
        opts.query = "token="+RushOwlApp.getApp().getUserToken()

        var socket = IO.socket(RushOwlApp.getApp().getAppMetaData()?.socketUrl,opts)
        socket.on(Socket.EVENT_CONNECT) {
            Log.i(TAG,"Socket Connected")
            socket.emit("hello")
        }.on(Socket.EVENT_DISCONNECT) {
            Log.i(TAG,"Socket on Disconnect")
            socket.connect()
        }.on("helloResponse"){( args ) ->
            Log.i(TAG,args.toString())
        }

        socket.connect()

     }
}

1 Ответ

0 голосов
/ 03 января 2019

Если какой-либо класс помечен как object в Kotlin, вы можете ссылаться на его свойства и методы через имя класса. В вашем случае это будет выглядеть так:

// Call it from wherever you want
SocketService.init()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...