Kotlin
Send a message
Time to send the first message.
To send a message register a callback inside onCreate method:
findViewById<View>(R.id.sendMessageButton).setOnClickListener { sendMessage() }
Add sendMessage method inside MainActivity:
private fun sendMessage() {
val message = messageEditText.text.toString()
if (message.trim { it <= ' ' }.isEmpty()) {
Toast.makeText(this, "Message is blank", Toast.LENGTH_SHORT).show()
return
}
messageEditText.setText("")
hideKeyboard()
conversation?.sendMessage(NexmoMessage.fromText(message), object : NexmoRequestListener<Void?> {
override fun onError(apiError: NexmoApiError) {
Toast.makeText(this@MainActivity, "Error sending message", Toast.LENGTH_SHORT).show()
}
override fun onSuccess(aVoid: Void?) {}
})
}
The above method hides the keyboard, clears the text field and sends the message.
Now in the MainActivity add the missing hideKeyboard method - the utility method that hides Android system keyboard:
private fun hideKeyboard() {
val inputMethodManager = ContextCompat.getSystemService(this, InputMethodManager::class.java)
val view = currentFocus ?: View(this)
inputMethodManager?.hideSoftInputFromWindow(view.windowToken, 0)
}
You'll notice that, although the message was sent, the conversation doesn't include it. Let's do that in the next step.
Creating an Android chat app
Create a Android application that enables users to message each other using the Android Client SDK and Kotlin.
手順
1
Introduction to this task2
Prerequisites3
Create a Vonage Application4
Create a conversation5
Create the users6
Add users to the conversation7
Generate JWTs8
Create an Android project9
Add permissions10
Build main screen11
Initialize the client12
Fetch the conversation13
Fetch conversation events14
Send a message15
Receive new messages16
What's next?