[TOC]
# WebSocket
``````kotlin
WebSocketHandler.getInstance("ws://192.168.3.20:8765")
``````
# 线程
## UI线程执行
````kotlin
runOnUiThread { "提示信息".showMessage() }
````
````kotlin
App.getInstance().runOnUiThread() {}
````
## 延时执行
```kotlin
App.getInstance().runOnUiThreadDelay({},1100)
```
# 常用工具
## Toast
````kotlin
"连接完成".showMessage()
````
````kotlin
ToolsHelper.showMessage("")
````
## Log
````kotlin
"".loge()
````
````kotlin
"".log()
````
````kotlin
LogHelper.d("")
````
# 常用方法
## 双击退出
```kotlin
private var oldTime = 0L
override fun onBackPressed() {
val newTime = System.currentTimeMillis()
if (newTime - oldTime < 1500 && oldTime != 0L)
AppManager.getInstance().exit()
else {
oldTime = newTime
ToolsHelper.showMessage("双击退出")
}
}
```
# 界面
> 所有界面继承`BaseFragment`,`BaseActivity`,`BaseListActivity`等
>
> 页面`layout`跟节点必须为`layout`
```xml
```
## 列表页面
### 纯列表
> `BaseListActivity`
### 自定义布局列表
> `BaseListFormLayoutActivity`
>
> 布局列表部分必须使用下面的方法和id
```xml
```
## 界面控件使用
```kotlin
binding.btn1.setOnClickListener {
}
```
## 导航栏
> 使用base自带导航栏的情况下,可以操控对应控件
```kotlin
baseBinding.baseToolbar.backBtn.setOnClickListener {}
```