> ## Documentation Index
> Fetch the complete documentation index at: https://wukong.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 基础功能

> WuKongIM Android SDK 基础功能，包括初始化、连接管理和状态监听

### 初始化

在 Application 的 onCreate 方法中初始化 SDK

`Java`

```java theme={null}
/**
*  初始化IM
* @param context Application Context
* @param uid 登录用户ID（业务服务端在IM通讯端登记了的uid））
* @param token 登录用户token（业务服务端在IM通讯端登记了的token）
*/
WKIM.getInstance().init(context, uid, token);
```

`Kotlin`

```kotlin theme={null}
WKIM.getInstance().init(context,uid,token)
```

监听获取连接服务器 IP 和 Port 的事件

`Java`

```java theme={null}
WKIM.getInstance().getConnectionManager().addOnGetIpAndPortListener(new IGetIpAndPort() {
            @Override
            public void getIP(IGetSocketIpAndPortListener iGetSocketIpAndPortListener) {
                // 返回连接IP和端口
                iGetSocketIpAndPortListener.onGetSocketIpAndPort("xxx",xxx);
            }
        });
```

`Kotlin`

```kotlin theme={null}
WKIM.getInstance().connectionManager.addOnGetIpAndPortListener { p0 ->
    p0!!.onGetSocketIpAndPort(
        "172.0.0.0",
        6666
    )
}
```

* <font color="#999" font-size="2">返回 IM 通信端的 IP 和 IM 通信端的 TCP 端口。<font color="#FF0000">分布式可调用接口获取 IP 和 Port 后返回</font></font>

### 连接

`Java`

```java theme={null}
// 连接IM
WKIM.getInstance().getConnectionManager().connection();
```

`Kotlin`

```kotlin theme={null}
// 连接IM
WKIM.getInstance().connectionManager.connection()
```

### 断开

`Java`

```java theme={null}
// 断开IM
WKIM.getInstance().getConnectionManager().disconnect(isLogout);
```

`Kotlin`

```kotlin theme={null}
// 断开IM
WKIM.getInstance().connectionManager.disconnect(isLogout)
```

* `isLogout`: true：SDK 将不再进行重连 false：SDK 保持重连机制

### 监听连接状态

`Java`

```java theme={null}
WKIM.getInstance().getConnectionManager().addOnConnectionStatusListener("key", new IConnectionStatus() {
            @Override
            public void onStatus(int status, String reason) {
                if (status == WKConnectStatus.success) {
                    // 连接成功
                } else if (status == WKConnectStatus.failed) {
                    // 连接失败
                } else if (status == WKConnectStatus.connecting) {
                    // 连接中
                } else if (status == WKConnectStatus.syncMsg) {
                    // 同步消息中
                } else if (status == WKConnectStatus.noNetwork) {
                    // 无网络
                } else if (status == WKConnectStatus.kicked) {
                    // 被踢下线 需退出应用回到登录页面
                }
            }
        });
```

`Kotlin`

```kotlin theme={null}
WKIM.getInstance().connectionManager.addOnConnectionStatusListener("key") { status, reason ->
    when (status) {
        WKConnectStatus.success -> {
            // 连接成功
        }
        WKConnectStatus.failed -> {
            // 连接失败
        }
        WKConnectStatus.connecting -> {
            // 连接中
        }
        WKConnectStatus.syncMsg -> {
            // 同步消息中
        }
        WKConnectStatus.noNetwork -> {
            // 无网络
        }
        WKConnectStatus.kicked -> {
            // 被踢下线
        }
    }
}
```

## 下一步

<CardGroup cols={2}>
  <Card title="消息处理" icon="message-circle" href="/zh/sdk/wukongim/android/message">
    学习如何处理消息收发
  </Card>

  <Card title="频道管理" icon="hash" href="/zh/sdk/wukongim/android/channel">
    管理频道和群组
  </Card>

  <Card title="会话管理" icon="users" href="/zh/sdk/wukongim/android/conversation">
    处理会话列表
  </Card>

  <Card title="高级功能" icon="cog" href="/zh/sdk/wukongim/android/advance">
    探索高级功能和配置
  </Card>
</CardGroup>
