Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 我将套接字设置为对象类,如何在另一个片段中调用它?_Android_Kotlin_Socket.io - Fatal编程技术网

Android 我将套接字设置为对象类,如何在另一个片段中调用它?

Android 我将套接字设置为对象类,如何在另一个片段中调用它?,android,kotlin,socket.io,Android,Kotlin,Socket.io,我处理的项目已将socket设置为名为SocketService.kt的对象类。我想在另一个类上调用socket emit。我怎么能做到 object SocketService { var TAG = SocketService::class.java.simpleName fun init() { var opts = IO.Options() opts.query = "token="+RushOwlApp.getApp().getU

我处理的项目已将socket设置为名为SocketService.kt的对象类。我想在另一个类上调用socket 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()

     }
}

如果某个类在Kotlin中标记为
object
,则可以通过类名引用其属性和方法。在您的情况下,它将如下所示:

// Call it from wherever you want
SocketService.init()

如果我想发射怎么办?你想发射什么?发射另一个类上的事件