Enviar un mensaje
En el paso anterior aprendiste sobre conversaciones y eventos, enviar un mensaje crea un nuevo evento y lo envía a través del cliente.
Para enviar un mensaje, actualice el onClick en el Button en la vista:
@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun ChatScreen() {
...
Row(){
TextField(
value = text,
onValueChange = { text = it },
label = { Text("Message") }
)
Button(onClick = {
runBlocking {
vm.sendMessage(text)
}
}) {
Text("Send")
}
}
...
}
Esto llamará a sendMessage en el ChatViewModel. Siguiente añadir sendMessage a la ChatViewModel clase:
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 un SMS se llama sendMessageTextEvent en el cliente con el ID de la conversación y el mensaje. Si tiene éxito, ConversationEventListener será llamado. Esto añadirá el evento al archivo events que actualizará automáticamente la interfaz de usuario.
Construir y ejecutar
Cmd + R para construir y ejecutar de nuevo. Ya tienes una aplicación de chat en funcionamiento. Para chatear simultáneamente puedes ejecutar la aplicación en dos simuladores/dispositivos diferentes
Crear una aplicación de chat para Android
Crea una aplicación Android que permita a los usuarios enviarse mensajes entre sí utilizando el Client SDK de Android y Kotlin.