Kotlin

メッセージの送信

前のステップでは会話とイベントについて学びましたが、メッセージを送信すると新しいイベントが作成され、クライアント経由で送信されます。

メッセージを送信するには onClick での Button が見える:

@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun ChatScreen() {
    ...
        Row(){
            TextField(
                value = text,
                onValueChange = { text = it },
                label = { Text("Message") }
            )
            Button(onClick = {
                runBlocking {
                    vm.sendMessage(text)
                }
            }) {
                Text("Send")
            }
        }
    ...

}

これは sendMessage 関数を使用する。 ChatViewModel.次の追加 sendMessage に対する ChatViewModel クラスである:

class ChatViewModel(application: Application) : AndroidViewModel(application = application) {
    ...
    suspend fun sendMessage(message: String){
        try {
            client.sendMessageTextEvent(conversationID, message)
        } catch (err:Error) {
            isError = true
            error = err.localizedMessage?.toString() ?: ""
        }
    }
}

テキストメッセージを送信するには、次のように電話する。 sendMessageTextEvent の会話IDとメッセージをクライアントに送る。成功した場合 ConversationEventListener が呼び出される。これは、イベントを events 配列が自動的にUIを更新する。

ビルド&ラン

Cmd + R をビルドして再度実行してください。これでチャットアプリが機能するようになりました!同時にチャットするには、2つの異なるシミュレーター/デバイスでアプリを実行できます