Enviando uma mensagem
Na etapa anterior, você aprendeu sobre conversas e eventos; ao enviar uma mensagem, cria-se um novo evento e ele é enviado pelo cliente.
Para enviar uma mensagem, atualize o onClick no Button na visualização:
@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun ChatScreen() {
...
Row(){
TextField(
value = text,
onValueChange = { text = it },
label = { Text("Message") }
)
Button(onClick = {
runBlocking {
vm.sendMessage(text)
}
}) {
Text("Send")
}
}
...
}
Isso chamará um sendMessage função no ChatViewModel. Em seguida, adicione sendMessage para o ChatViewModel classe:
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() ?: ""
}
}
}
Para enviar uma mensagem de texto, você liga para sendMessageTextEvent no cliente com o ID da conversa e a mensagem. Se for bem-sucedido, ConversationEventListener será chamado. Isso anexará o evento ao events matriz que atualizará automaticamente a interface do usuário.
Compilar e executar
Cmd + R para compilar e executar novamente. Agora você tem um aplicativo de bate-papo em funcionamento! Para conversar simultaneamente, você pode executar o aplicativo em dois simuladores/dispositivos diferentes
Criação de um aplicativo de bate-papo para Android
Crie um aplicativo para Android que permita que os usuários troquem mensagens entre si usando o Client SDK do Android e Kotlin.